Compare commits

...
Author SHA1 Message Date
Ulrich Drepper 779ae82ecd Update.
1997-04-30 17:35  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c: Implement test for exceptions.
	Partly due to Andreas Jaeger.
	(csin_test): New function.
	* sysdeps/libm-i387/s_cexp.S: Raise correct exceptions.
	* sysdeps/libm-i387/s_cexpf.S: Likewise.
	* sysdeps/libm-i387/s_cexpl.S: Likewise.
	* sysdeps/libm-ieee754/s_ccos.c: Likewise.
	* sysdeps/libm-ieee754/s_ccosf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccosl.c: Likewise.
	* sysdeps/libm-ieee754/s_ccosh.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
	* sysdeps/libm-ieee754/s_cexp.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
	* sysdeps/libm-ieee754/s_csinh.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhl.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanh.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.

	* sysdeps/libm-ieee754/s_ccosh.c: Correct computation.
	* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
	* sysdeps/libm-ieee754/s_csinh.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhl.c: Likewise.

	* sysdeps/libm-ieee754/s_csin.c: Rewrite.
	* sysdeps/libm-ieee754/s_csinf.c: Likewise.
	* sysdeps/libm-ieee754/s_csinl.c: Likewise.

	* stdlib/random_r.c (__srandom_r): Don't use seed 0.  Use 1 in this
	case.

	* sysdeps/i386/dl-machine.h (elf_machine_load_address): Use notation
	for local label.

	* time/strftime.c (add): Respect `0' padding flag.
	Reported by Richard Stallman <rms@gnu.ai.mit.edu>.

1997-04-30 15:46  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (start-installed-name): Define here, not in csu/Makefile.
	Use in +link macro.
	* csu/Makefile (distribute): Add abi-note.S and abi-tag.h.
	(start-installed-name): Don't define here.
	When ELF generate file named by start-installed-name from start.o
	and abi-note.o.
	* csu/abi-note.S: New file.
	* sysdeps/stub/abi-tag.h: New file.
	* sysdpes/unix/sysv/linux/abi-tag.h: New file.
	Patches by Roland McGrath <roland@gnu.ai.mit.edu>.

1997-04-30 01:32  Ulrich Drepper  <drepper@cygnus.com>

	* manual/stdio.texi: Use @vtable where possible.
	Add TeX version of @multitable since texi2dvi cannot handle them
	correct in the moment.

	* po/de.po: Update.

1997-04-29 21:06  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Don't set cross-compiling based on $(BUILD_CC) != $(CC).
	* config.make.in: Set cross-compiling from configure result.
	* configure.in: Emit definition of `cross_compiling'.
	Patches by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.

1997-04-27 21:50  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/unix/sysv/linux/net/route.h (struct in6_rtmsg): Use
	correct `int' sizes for struct members.

1997-04-29 19:14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/e_powf.S Generate invalid exception correctly.
	* sysdeps/libm-i387/e_pow.S: Likewise.
	* sysdeps/libm-i387/e_powl.S: Likewise.

1997-04-23 10:08  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/fenv.h: Correct typos.

1997-04-28 10:04  Richard Henderson  <rth@tamu.edu>

	* sysdeps/unix/sysv/linux/alpha/clone.S: Save the function argument
	in t0 rather than a4 to avoid it being clobbered.

1997-04-27 23:52  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/summary.awk: Recognize @defmumblex.

	* manual/signal.texi (Miscellaneous Signals): Use @deftypevrx for
	second description header.

1997-04-27 23:29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/arith.texi (Floating-Point Classes): Don't indent text,
	makeinfo doesn't like that.

1997-04-27 20:52  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/obstack.h (obstack_specify_allocation_with_arg,
	obstack_chunkfun, obstack_freefun): Fix casts.

1997-04-27 18:21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/xtract-typefun.awk: Allow names with only one character.

1997-04-26 14:16  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netinet/ip_fw.h: Use <netinet/ip_icmp.h>
	not <netinet/icmp.h>.
	Reported by Michael Deutschmann <ldeutsch@mail.netshop.net>.

1997-04-25 12:31  Ulrich Drepper  <drepper@cygnus.com>

	* csu/Makefile ($(objpfx)initfini.s): Add CPPFLAGS, CFLAGS and -g0
	to command line of compiler.
	Patch by Marcus G. Daniels <marcus@sysc.pdx.edu>.

	* sysdeps/generic/sigset.h (__sigandset, __sigorset): Fix typos.
	Patch by Marcus G. Daniels <marcus@sysc.pdx.edu>.

	* signal/signal.h (_sys_siglist, sys_siglist): Use _NSIG, not NSIG
	in declaration.
	Patch by Michael Widenius <monty@tcx.se>.

	* time/strptime.c (strptime_internal): Fix %I format specifier
	being off by one.
	Patch by Mark Kettenis <kettenis@phys.uva.nl>.

1997-04-24 12:18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdlib/lcong48_r.c: Include <limits.h>.
	* stdlib/seed48_r.c: Likewise.

	* stdio-common/printf_size.c (printf_size): Correct type of
	`units' and make robust against future changes.

1997-04-23 18:58  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_cproj.c: Use isfinite instead of finite.
	* sysdeps/libm-ieee754/s_cprojl.c: Likewise.
	* sysdeps/libm-ieee754/s_cprojf.c: Likewise.

1997-04-23 18:53  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/arith.texi, manual/math.texi: Use @defmumblex for
	additional description headers.
	* manual/xtract-typefun.awk: Recognize them.

1997-04-22 15:58  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* stdio-common/printf_size.c (printf_size): Correct size of array
	units.
1997-04-30 15:51:34 +00:00
Ulrich Drepper a12ea214db Update.
1997-04-21 07:50  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* libgen.h: New file.
1997-04-21 23:56:16 +00:00
Ulrich Drepper 47f13fd4ba Update.
1997-04-21 16:45  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/drand48.c: Cleanup namespace.
	* stdlib/drand48_r.c: Cleanup namespace.
	* stdlib/erand48.c: Cleanup namespace.
	* stdlib/erand48_r.c: Cleanup namespace.
	* stdlib/jrand48.c: Cleanup namespace.
	* stdlib/jrand48_r.c: Cleanup namespace.
	* stdlib/lrand48.c: Cleanup namespace.
	* stdlib/lrand48_r.c: Cleanup namespace.
	* stdlib/mrand48.c: Cleanup namespace.
	* stdlib/mrand48_r.c: Cleanup namespace.
	* stdlib/nrand48.c: Cleanup namespace.
	* stdlib/nrand48_r.c: Cleanup namespace.
	* stdlib/lcong48.c: Cleanup namespace.
	* stdlib/lcong48_r.c: Cleanup namespace.
	* stdlib/srand48.c: Cleanup namespace.
	* stdlib/srand48_r.c: Cleanup namespace.
	* stdlib/seed48.c: Cleanup namespace.
	* stdlib/seed48_r.c: Cleanup namespace.

	* stdlib/stdlib.h: Provide new prototypes.
1997-04-21 14:50:33 +00:00
Ulrich Drepper b4012b7542 Update.
1997-04-21 13:25  Ulrich Drepper  <drepper@cygnus.com>

	* manual/arith.texi: Add description for INFINITY, _Imaginary_I,
	fpclassify & friends, and complex number operations.
	Update various other math functions for ISO C 9X.
	* manual/math.texi: Update various entries for ISO C 9X.
	Add description for complex number functions.
	Add description of rand48 function family.
	* manual/string.h: Add description of a64l and l64a.

	* math/cmathcalls.h: Fix typo.

	* stdlib/a64l.c: Pretty printing.

	* stdlib/seed48_r.c: Also reset `a' and `c' to default values.
	* stdlib/srand48_r.c: Likewise.
	* stdlib/stdlib.h: Pretty printing.

	* sysdeps/i386/fpu/__math.h: Fix typo.

	* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
	* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.

1997-04-19 22:16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.

1997-04-18 19:34  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h: Define optimized versions of
	isgreater, isgreaterequal, isless, islessequal, islessgreater, and
	isunordered.

1997-04-20 01:28  Richard Henderson  <rth@tamu.edu>

	* rellns-sh: Handle files in the same directory correctly.

1997-04-20 11:22  Ulrich Drepper  <drepper@cygnus.com>

	* csu/initfini.c: Place ALIGN instruction at correct positions.
	Patch by Richard Henderson <richard@twiddle.rth.home>.

1997-04-19 17:12  Ulrich Drepper  <drepper@cygnus.com>

	* Make-dist: Don't automatically ignore .c files if the .S or .s file
	is ignored.

	* csu/Makefile (distribute): Add defs.awk.

1997-04-19 15:39  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
	* sysdeps/stub/shmdt.c: Likewise.
	Reported by Thomas Bushnell, n/BSG.

1997-04-19 13:22  Ulrich Drepper  <drepper@cygnus.com>

	* manual/stdio.texi: Add description of printf_size and
	printf_size_info.  Partly based on the documentation by Larry McVoy.

1997-04-19 02:21  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/printf_size.c (printf_size): Correct values for
	`units'.
	Report by Larry McVoy <lm@neteng.engr.sgi.com>.
	* stdio-common/tst-printfsz.c: New file.
	* stdio-common/Makefile (tests): Add tst-printfsz.c.
	(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
	strings.

1997-04-18 15:48  Ulrich Drepper  <drepper@cygnus.com>

	* login/utmp.h: Add prototype for updwtmp.
	* login/logwtmp.c: Add new function updwtmp which allows to write
	a complete record to the wtmp file.
	Patch by Miquel van Smoorenburg <miquels@cistron.nl>.

1997-04-17 17:57  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/Makefile (headers): Add mathbits.h.

1997-04-16 21:20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
	* sysdeps/m68k/fpu/s_sincos.c: New file.
	* sysdeps/m68k/fpu/s_sincosf.c: New file.
	* sysdeps/m68k/fpu/s_sincosl.c: New file.

	* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
	functions.
	* sysdeps/libm-ieee754/e_scalbl.c: Likewise.

	* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
	* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
	* sysdeps/libm-ieee754/s_ctan.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanl.c: Likewise.  Fix type of `res'.

1997-04-18 11:21  Ulrich Drepper  <drepper@cygnus.com>

	* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
	Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 11:38:46 +00:00
Ulrich Drepper 406f977a5a (distribute): Add defs.awk. 1997-04-19 15:14:17 +00:00
root db9d4d768f Not used anymore. 1997-04-19 14:42:52 +00:00
Ulrich Drepper 29bb8719cf Add description of printf_size and printf_size_info. 1997-04-19 11:22:31 +00:00
Ulrich Drepper 307bcd7783 Rewrite by Zack Weinberg.
1997-04-18 02:18  Ulrich Drepper  <drepper@cygnus.com>

	* csu/initfini.c: Rewrite by Zack Weinberg
	<zack@rabi.phys.columbia.edu>.
	* csu/Makefile: Add rules for rewrite.
	* csu/defs.awk: Helper script to generate derived header.
1997-04-18 00:20:23 +00:00
Ulrich Drepper dd33e89fb2 Update.
1997-04-17 16:55  Ulrich Drepper  <drepper@cygnus.com>

	* misc/libgen.h: Change prototype for of basename to XPG variant.
	* stdlib/Makefile (routines): Add xpg_basename.
	* stdlib/basename.c: New file.
	* string/string.h: Don't declare basename function if basename
	macro is available.

1997-04-16 17:33  Miles Bader  <miles@gnu.ai.mit.edu>

	* login/utmp_file.c (proc_utmp_eq): Only use ut_id field if valid.

1997-04-15 12:47  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/fclrexcpt.c: New file.
	* sysdeps/m68k/fpu/fenvbits.h: New file.
	* sysdeps/m68k/fpu/fegetenv.c: New file.
	* sysdeps/m68k/fpu/fegetround.c: New file.
	* sysdeps/m68k/fpu/fesetenv.c: New file.
	* sysdeps/m68k/fpu/fesetround.c: New file.
	* sysdeps/m68k/fpu/feupdateenv.c: New file.
	* sysdeps/m68k/fpu/fgetexcptflg.c: New file.
	* sysdeps/m68k/fpu/fraiseexcpt.c: New file.
	* sysdeps/m68k/fpu/fsetexcptflg.c: New file.
	* sysdeps/m68k/fpu/ftestexcept.c: New file.
	* sysdeps/m68k/fpu/mathbits.h: New file.

	* sysdeps/m68k/fpu/s_remquo.c: New file.
	* sysdeps/m68k/fpu/s_remquol.c: New file.
	* sysdeps/m68k/fpu/s_remquof.c: New file.

	* sysdeps/libm-ieee754/s_roundl.c: Restore integer bit when
	mantissa overflows into exponent.  Fix priority of >> vs +.

	* math/libm-test.c (basic_tests): Use the appropriate isnan and
	isinf function to test the value of the nan function.

1997-04-15 13:40  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/s_finite.S: Fix typo.

	* sysdeps/i386/fpu/__math.h: Add optimized versions of isgreater,
	isgreaterequal, isless, islessequal, islessgreater, and
	isunordered.
1997-04-17 15:10:04 +00:00
Ulrich Drepper 7799b7b335 Update.
1997-04-15 03:14  Ulrich Drepper  <drepper@cygnus.com>

	* wcsmbs/wcsstr.c: Add weak alias wcswcs for Unix98 compliance.

	* math/Makefile (libm-calls): Add s_sincos and s_cproj.
	* math/mathcalls.h: Add prototype for sincos.
	* sysdeps/i386/fpu/__math.h: Warn about restriction on arguments to
	inlined sin and cos function.
	Define functions new in ISO C 9X when __USE_ISOC9X is defined.
	Add optimized version of finite.
	Rewrite sincos function to handle too large arguments.
	* sysdeps/libm-i387/s_cos.S: Better code alignment.
	* sysdeps/libm-i387/s_cosl.S: Likewise.
	* sysdeps/libm-i387/s_sin.S: Likewise.
	* sysdeps/libm-i387/s_sinl.S: Likewise.
	* sysdeps/libm-i387/s_finite.S: Yet better code.
	* sysdeps/libm-i387/s_finitef.S: Likewise.
	* sysdeps/libm-i387/s_sincos.S: New file.
	* sysdeps/libm-i387/s_sincosf.S: New file.
	* sysdeps/libm-i387/s_sincosl.S: New file.
	* sysdeps/libm-ieee754/s_sincos.c: New file.
	* sysdeps/libm-ieee754/s_sincosf.c: New file.
	* sysdeps/libm-ieee754/s_sincosl.c: New file.

	* sysdeps/libm-ieee754/s_ccosh.c: Change to use sincos function.
	* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
	* sysdeps/libm-ieee754/s_cexp.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
	* sysdeps/libm-ieee754/s_csinh.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhl.c: Likewise.
	* sysdeps/libm-ieee754/s_ctan.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanl.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanh.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
	* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.

	* sysdeps/libm-ieee754/s_cosl.c: Correct check for range.
	* sysdeps/libm-ieee754/s_sinl.c: Likewise.

	* sysdeps/libm-ieee754/s_roundtol.c: Fix typos.
	* sysdeps/libm-ieee754/s_roundtoll.c: Likewise.

	* nis/Makefile (services): Mention nisplus before compat.
	* nis/nis_call.c (__do_niscall): Change type of variable server_len
	to prevent warning.
	* nis/nss_compat/compat-grp.c (getgrent_next_file_plusgroup): Add
	cast to prevent warning.
	* nis/nss_compat/compat-pwd.c (getpwent_next_file_plususer): Likewise.
	* nis/nss_compat/compat-spwd.c (getspent_next_file_plususer): Likewise.
	* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent): Change
	type of variable `i' to prevent warning.
	* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
	Likewise.
	* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
	Likewise.
	* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent): Likewise.
	* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
	Likewise.

	* sysdeps/generic/Dist: Remove old math implementation files.
	* sysdeps/generic/mathimpl.h: Removed.
	* sysdeps/generic/trig.h: Removed.
	* sysdeps/generic/sincos.c: Removed.
	* sysdeps/generic/asincos.c: Removed.
	* sysdeps/generic/exp__E.c: Removed.
	* sysdeps/generic/log__L.c: Removed.

1997-04-13 17:18  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/malloc.c (fREe): Small optimization.  Before returning,
	add fast check whether the heap containing top can go away.

1997-04-11 16:46  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/malloc.c (mALLOc, rEALLOc, cALLOc, mEMALIGn): When
	failing to allocate a new chunk, also try the main_arena.  It may
	be that we are only running out of mmapped regions, and other
	arenas cannot be enlarged sufficiently.
	(new_heap, malloc_extend_top): Handle top_pad more consistently,
	i.e. only in new_heap().

1997-04-13 21:10  Philip Blundell  <pjb27@cl.cam.ac.uk>

	* sysdeps/posix/Makefile: Don't try to build and run mk-stdiolim
	if cross-compiling.

	* configure.in: Recognise "...linuxaout" OS names and turn off ELF.

	* configure.in: Add ARM support.
	* sysdeps/arm/Implies: New file.
	* sysdeps/arm/__longjmp.S: New file.
	* sysdeps/arm/bsd-_setjmp: New file.
	* sysdeps/arm/bsd-setjmp: New file.
	* sysdeps/arm/bytesex.h: New file.
	* sysdeps/arm/fpu_control.h: New file.
	* sysdeps/arm/jmp_buf.h: New file.
	* sysdeps/arm/setjmp.h: New file.
	* sysdeps/arm/sysdep.h: New file.
	* sysdeps/unix/arm/config.h: New file.

1997-04-14 04:03  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_cproj.c: New file.
	* sysdeps/libm-ieee754/s_cprojf.c: New file.
	* sysdeps/libm-ieee754/s_cprojl.c: New file.
1997-04-15 01:38:39 +00:00
Ulrich Drepper 9d8067d8f2 Update.
* manual/string.texi: Correct prototype in memmem documentation.
1997-04-12 23:59:36 +00:00
Ulrich Drepper 6355131153 Update.
1997-04-13 01:06  Ulrich Drepper  <drepper@cygnus.com>

	* isomac.c: Improve messages.

	* math/Makefile (libm-calls): Add s_nearbyint, s_catan, s_casin,
	s_ccos, s_csin, s_ctan, s_ctanh, s_cacos, s_casinh, s_cacosh,
	s_catanh, s_csqrt, and s_cpow.
	* math/libm-test.c: New functions ccos_test, cacos_test, cacosh_test,
	casin_test, casinh_test, catan_test, catanh_test, ctanh_test,
	csqrt_test, cpow_test, rint_test.
	* math/math.h: Include new header mathbits.h which defines some
	more (system dependent) types and some macros.
	(isfinite): Use __finite instead of fpclassify.
	* sysdeps/generic/mathbits.h: New file.
	* sysdeps/i386/fpu/mathbits.h: New file.
	* sysdeps/i386/huge_val.h: Don't define INFINITY.
	* sysdeps/ieee754/huge_val.h: Likewise.
	* sysdeps/m68k/huge_val.h: Likewise.

	* sysdeps/i386/fpu/fenvbits.h: Define FE_NOMASK_ENV.
	* sysdeps/i386/fpu/fesetenv.c: Handle FE_NOMASK_ENV.

	* math/complex.h (_Imaginary_I): Define correctly.  I misread the
	standard first.

	* sysdeps/libm-i387/s_finite.S: Optimized rewrite.
	* sysdeps/libm-i387/s_finitef.S: Likewise.
	* sysdeps/libm-i387/s_finitel.S: Likewise.
	Provided by Joe Keane <jgk@jgk.org>.

	* sysdeps/libm-i387/s_nearbyint.S: New file.
	* sysdeps/libm-i387/s_nearbyintf.S: New file.
	* sysdeps/libm-i387/s_nearbyintl.S: New file.
	* sysdeps/libm-ieee754/s_nearbyint.S: New file.
	* sysdeps/libm-ieee754/s_nearbyintf.S: New file.
	* sysdeps/libm-ieee754/s_nearbyintl.S: New file.

	* sysdeps/libm-ieee754/s_cacos.c: New file.
	* sysdeps/libm-ieee754/s_cacosf.c: New file.
	* sysdeps/libm-ieee754/s_cacosl.c: New file.
	* sysdeps/libm-ieee754/s_cacosh.c: New file.
	* sysdeps/libm-ieee754/s_cacoshf.c: New file.
	* sysdeps/libm-ieee754/s_cacoshl.c: New file.
	* sysdeps/libm-ieee754/s_casin.c: New file.
	* sysdeps/libm-ieee754/s_casinf.c: New file.
	* sysdeps/libm-ieee754/s_casinl.c: New file.
	* sysdeps/libm-ieee754/s_casinh.c: New file.
	* sysdeps/libm-ieee754/s_casinhf.c: New file.
	* sysdeps/libm-ieee754/s_casinhl.c: New file.
	* sysdeps/libm-ieee754/s_catan.c: New file.
	* sysdeps/libm-ieee754/s_catanf.c: New file.
	* sysdeps/libm-ieee754/s_catanl.c: New file.
	* sysdeps/libm-ieee754/s_catanh.c: New file.
	* sysdeps/libm-ieee754/s_catanhf.c: New file.
	* sysdeps/libm-ieee754/s_catanhl.c: New file.
	* sysdeps/libm-ieee754/s_ccos.c: New file.
	* sysdeps/libm-ieee754/s_ccosf.c: New file.
	* sysdeps/libm-ieee754/s_ccosl.c: New file.
	* sysdeps/libm-ieee754/s_cpow.c: New file.
	* sysdeps/libm-ieee754/s_cpowf.c: New file.
	* sysdeps/libm-ieee754/s_cpowl.c: New file.
	* sysdeps/libm-ieee754/s_csin.c: New file.
	* sysdeps/libm-ieee754/s_csinf.c: New file.
	* sysdeps/libm-ieee754/s_csinl.c: New file.
	* sysdeps/libm-ieee754/s_csqrt.c: New file.
	* sysdeps/libm-ieee754/s_csqrtf.c: New file.
	* sysdeps/libm-ieee754/s_csqrtl.c: New file.
	* sysdeps/libm-ieee754/s_ctan.c: New file.
	* sysdeps/libm-ieee754/s_ctanf.c: New file.
	* sysdeps/libm-ieee754/s_ctanl.c: New file.
	* sysdeps/libm-ieee754/s_ctanh.c: New file.
	* sysdeps/libm-ieee754/s_ctanhf.c: New file.
	* sysdeps/libm-ieee754/s_ctanhl.c: New file.

	* time/strftime.c (memset_space): Increment pointer.
	* time/strptime.c: Interpret year number 00-59 as 2000--2059.
	Patches by Karl Heuer <kwzh@gnu.ai.mit.edu>.

1997-04-11 11:57  Miguel de Icaza <miguel@nuclecu.unam.mx>

	* sysdeps/unix/sysv/linux/sparc/syscalls.list: Remove fork,
	pipe, syscall.

1997-04-05 00:57  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_remquo.c: Change algorithm, although
	probably still wrong.
	* sysdeps/libm-ieee754/s_remquof.c: Likewise.
	* sysdeps/libm-ieee754/s_remquol.c: Likewise.

	* math/libm-test.c (remquo_test): Corrected.

1997-04-11 00:01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h (__rinttol, rinttol): New inline.
	* sysdeps/m68k/fpu/s_rinttol.c: New file.
	* sysdeps/m68k/fpu/s_rinttoll.c: New file.

	* math/libm-test.c (remquo_test): Use check_long to test the
	quotient.
	(cbrt_test): Add epsilons for long double.

1997-04-10 18:48  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/localeinfo.h: Update declaration of _nl_current.

1997-04-11 11:27  Ulrich Drepper  <drepper@cygnus.com>

	* rellnsh-sh: Use explicitely /bin/pwd to find the external program.

	* math/Makefile (headers): Add fenv.h and fenvbits.h.
	(libm-support): Add s_rountol, s_roundtoll, fclrexcpt, fgetexcptflg,
	fraiseexcpt, fsetexcptflg, ftestexcept, fegetround, fesetround,
	fegetenv, feholdexcpt, fesetenv, feupdateenv.
	(libm-calls): Add s_round.
	* math/fenv.h: New file.
	* math/libm-test.c: Correct tests for s_rinttol and s_rinttoll.
	Add roundtol_check and roundtoll_check.
	* math/math.h: Pretty printing.
	* sysdeps/i386/fpu/fclrexcpt.c: New file.
	* sysdeps/i386/fpu/fegetenv.c: New file.
	* sysdeps/i386/fpu/fegetround.c: New file.
	* sysdeps/i386/fpu/feholdexcpt.c: New file.
	* sysdeps/i386/fpu/fenvbits.h: New file.
	* sysdeps/i386/fpu/fesetenv.c: New file.
	* sysdeps/i386/fpu/fesetround.c: New file.
	* sysdeps/i386/fpu/fgetexcptflg.c: New file.
	* sysdeps/i386/fpu/fraiseexcpt.c: New file.
	* sysdeps/i386/fpu/fsetexcptflg.c: New file.
	* sysdeps/i386/fpu/ftestexcept.c: New file.
	* sysdeps/stub/fclrexcpt.c: New file.
	* sysdeps/stub/fegetenv.c: New file.
	* sysdeps/stub/fegetround.c: New file.
	* sysdeps/stub/feholdexcpt.c: New file.
	* sysdeps/stub/fenvbits.h: New file.
	* sysdeps/stub/fesetenv.c: New file.
	* sysdeps/stub/fesetround.c: New file.
	* sysdeps/stub/fgetexcptflg.c: New file.
	* sysdeps/stub/fraiseexcpt.c: New file.
	* sysdeps/stub/fsetexcptflg.c: New file.
	* sysdeps/stub/ftestexcept.c: New file.

	* sysdeps/libm-i387/s_trunc.S: New file.
	* sysdeps/libm-i387/s_truncf.S: New file.
	* sysdeps/libm-i387/s_truncl.S: New file.

	* sysdeps/libm-ieee754/s_round.c: New file.
	* sysdeps/libm-ieee754/s_roundf.c: New file.
	* sysdeps/libm-ieee754/s_roundl.c: New file.

	* sysdeps/libm-ieee754/s_ccosh.c: Rewritten to use fpclassify.
	* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
	* sysdeps/libm-ieee754/s_cexp.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
	* sysdeps/libm-ieee754/s_clog.c: Likewise.
	* sysdeps/libm-ieee754/s_clogf.c: Likewise.
	* sysdeps/libm-ieee754/s_clogl.c: Likewise.
	* sysdeps/libm-ieee754/s_csinh.c. Likewise.
	* sysdeps/libm-ieee754/s_csinhf.c. Likewise.
	* sysdeps/libm-ieee754/s_csinhl.c. Likewise.

	* sysdeps/libm-ieee754/s_ceill.c: Corrected.  The mantissa has only
	63 bits.
	* sysdeps/libm-ieee754/s_floorl.c: Likewise.

	* po/pl.po: Updated.

	* string/swab.c: Correctly handle array of odd length.

	* sysdeps/generic/memmem.c: Update copyright.

1997-04-10 20:22  Ulrich Drepper  <drepper@cygnus.com>

	* hurd/Makefile (sunrpc-headers): Add clnt.h.
	Proposed by Thomas Bushnell <thomas@gnu.ai.mit.edu>.

1997-04-09 14:21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* sysdeps/sparc/dl-machine.h: Bug fix: I was not loading
	the proper value from the GOT.  Pass argument block to
	init function.

	* sysdeps/sparc/elf/start.c: Call atexit (_fini) after calling
	_init ().

	* sysdeps/sparc/fpu_control.h: Fix the FPU constants.  I got them
	wrong the first time.

	* sysdeps/sparc/setjmp.S: PIC code was clobbering a callee saved
	register.

	* sysdeps/sparc/udiv_qrnnd.S: Add type @function.

	* sysdeps/unix/sysv/linux/sparc/init-first.h: Linux/SPARC specific
	SYSDEP_CALL_INIT.

	* sysdeps/unix/sysv/linux/sparc/signum.h: Remove definition for
	NSIG and duplicated SIGIOT.

1997-04-05 00:57  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_remquo.c: Change algorithm, although
	probably still wrong.
	* sysdeps/libm-ieee754/s_remquof.c: Likewise.
	* sysdeps/libm-ieee754/s_remquol.c: Likewise.

	* math/libm-test.c (remquo_test): Corrected.

1997-04-03 18:35  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (parent-tests): New target to run the tests to that
	they are executed even if some subdir tests have failed.
	(tests): Depend on parent-tests instead of running the tests
	directly.

1997-04-03 12:26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	Clean up name space pollution in libnss_*.so:
	* nis/nss_compat/compat-pwd.c, resolv/mapv4v6addr.h,
	resolv/nss_dns/dns-host.c: Replace bzero by memset, bcopy by
	memcpy and bcmp by memcmp to clean up namespace.
	* nss/nss_db/db-XXX.c (internal_setent): Use __dbopen instead of
	dbopen.
	* nss/nss_db/db-alias.c (internal_setent): Likewise.
	* nss/nss_db/db-netgrp.c (_nss_db_setnetgrent): Likewise.
	* db/db/db.c [_LIBC]: Define __dbopen instead of dbopen and make
	the latter a weak alias.
	* db/db.h: Declare __dbopen.
	* db/btree/btree.h [_LIBC]: Prepend __ to all mpool functions.
	* db/mpool/mpool.c [_LIBC]: Define all external functions with __
	prefix and make the old names weak aliases.
	* db/mpool.h: Declare the new internal names.

1997-04-04 23:57  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/vfscanf.c: Fix scanning of hexadecimal fp number.
	* stdio-common/tstscanf.c: Add test case for this.

1997-04-04 17:26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c: Fix more typos.

1997-04-03 17:15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c (csinh_test): Fix test names.
	(ccosh_test): Likewise.

	* sysdeps/libm-ieee754/s_csinh.c: Use sinh function instead of
	computing it directly.
	* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
	* sysdeps/libm-ieee754/s_csinhl.c: Likewise.

	* sysdeps/libm-ieee754/s_ccosh.c:  Use cosh function instead of
	computing it directly.
	* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
	* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.

	* sysdeps/libm-ieee754/s_cexp.c: Use internal exp function instead
	of wrapper.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
	* sysdeps/m68k/fpu/s_cexp.c: Likewise.  Correct handling of
	special values.  Avoid use of fsincos if all that is needed is the
	quadrant.

	* sysdeps/m68k/fpu/s_ccosh.c: New file.
	* sysdeps/m68k/fpu/s_ccoshf.c: New file.
	* sysdeps/m68k/fpu/s_ccoshl.c: New file.
	* sysdeps/m68k/fpu/s_csinh.c: New file.
	* sysdeps/m68k/fpu/s_csinhl.c: New file.
	* sysdeps/m68k/fpu/s_csinhf.c: New file.

1997-04-03 10:18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* manual/Makefile (dir-add.texi): Simplify.

	* libio/genops.c (_IO_flush_all_linebuffered): Don't flush on
1997-04-12 23:41:36 +00:00
Ulrich Drepper c131718ccc Update.
1997-04-09 01:24  Ulrich Drepper  <drepper@cygnus.com>

	* rellns-sh: Rewrite to work also in presence of symlinks.

	* arpg/argp-fmtstream.c: Add casts to prevent warnings.
	* argp/argp-fmtstream.h: Likewise.
	* argp/argp-help.c: Likewise.

	* elf/dl-minimal.c: Add definition of calloc.
	* elf/version.c: Add casts to prevent warnings.
	(_dl_check_map_versions): Use calloc instead of malloc+memset.

	* locale/setlocale.c (_nl_current): Add element with index LC_ALL.
	Reported by Greg McGary <gkm@eng.ascend.com>.

	* manual/libc.texinfo: Update malloc documentation for new malloc.
	* manual/memory.texi: Likewise.
	Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.

	* math/libm-test.c (check_long): New function.
	(check_longlong): New function.
	(rinttol_test): New function.
	(rinttoll_test): New function.

	* nis/nss_compat/compat-grp.c (in_blacklist): Improve a bit.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.

	* stdlib/erand48_r.c (erand48_r): Build double value using
	ieee754_double union and use random bits in different order to
	increase effect of seed.
	Reported by David Mosberger-Tang <davidm@AZStarNet.com>.

	* sunrpc/svc_auth.c: Moved to ...
	* sysdeps/generic/svc_auth.c: ...here.

	* time/time.h: Pretty print.

1997-04-08 07:19  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* libio/genops.c (_IO_flush_all_linebuffered): don't flush on
	a read-only stream.

1997-04-09 01:19  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/malloc.c (mALLOC_STATs) [MALLOC_DEBUG>1]: Put declaration
	in correct place.
	Patch by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>.

1997-04-07 15:34  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/Makefile (tests): Add tst-ferror.
	* stdio-common/tst-ferror.c: New file.  Some tests for error
	indicator of streams.
	* stdio-common/tst-ferror.input: New file.

	* isomac.c: Let tests not fail because the compiler defines itself
	symbols which violate the name space rules.  gcc defines symbols
	for the architecture which are not protected by an underscore
	character.

	* math/Makefile (libm-support): Add s_rinttol and s_rinttoll.
	(libm-calls): Add s_clog.
	* sysdeps/libm-ieee754/s_clog.c: New file.  Implementation of
	logarithm of complex value.
	* sysdeps/libm-ieee754/s_clogf.c: New file.
	* sysdeps/libm-ieee754/s_clogl.c: New file.
	* math/libm-test.c (clog_test): Compile this function.  Fix a few
	typos.
	(main): Call clog_test.

	* sysdeps/libm-ieee754/s_rinttol.c: New file.  Round long double
	value to long int.
	* sysdeps/libm-i387/s_rinttol.S: New file.
	* sysdeps/libm-ieee754/s_rinttoll.c: new file.  Round long double
	value to long long int.
	* sysdeps/libm-i387/s_rinttoll.S: New file.

	* sysdeps/libm-ieee754/s_rintl.c: Many corrections.  The previous
	version was full of errors.

	* math/math.h (rinttol): Argument is of type `long double' not
	`double'.
	(rinttoll): Likewise.
	(roundtol): Likewise.
	(roundtoll): Likewise.

1997-04-06 11:32  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* posix/getopt.c (_getopt_initialize): Preserve optind.
	(_getopt_internal): Set optind to 1 if optind == 0 before
	calling _getopt_initialize ().

1997-04-05 16:45  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/rpcsvc/nislib.h: Change const nis_name to new type
	const_nis_name.
	* nis/nis_intern.c: Likewise.
	* nis/nis_intern.h: Likewise.
	* nis/nis_server.c: Likewise.
	* nis/nis_subr.c: Likewise.
	* nis/nis_table.c: Likewise.
	* nis/nis_names.c: Likewise.  Fill out ns_request structure in
	nis_add().

	* nis/nss_compat/compat-pwd.c: Use reentrant netgroup functions.
	* nis/nss_compat/compat-spwd.c: Likewise.

1997-03-27 07:37  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* libio/fileops.c (_IO_file_overflow): Set error when try to write
	on a read-only stream.

	* sysdeps/gnu/utmpbits.h (ut_xtime): New symbol.
	(ut_time): Define it only if _NO_UT_TIME is not defined.

1997-04-06 00:42  Ulrich Drepper  <drepper@cygnus.com>

	* misc/tst-tsearch.c: Include <string.h>.  Define _GNU_SOURCE only
	if not already defined.

1997-04-05 16:14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netatalk/at.h: Include <sys/socket.h> to
	get definition of sa_family_t for <linux/atalk.h>.
	Reported by a sun <asun@zoology.washington.edu>.

	* malloc/malloc.c (cALLOc): Little optimization.
1997-04-08 23:42:08 +00:00
Ulrich Drepper 26dee9c49c Update.
1997-04-05 03:11  Ulrich Drepper  <drepper@cygnus.com>

	* inet/arpa/inet.h: Rewrite.  Don't use the ugly BSD way to write
	headers but instead add comments and parameter names.
	Don't use BSD specific types in prototypes.

	* manual/nss.texi: Correct a few typos and errors.

	* sysdeps/libm-ieee754/s_cbrt.c: Complete rewrite based on better
	algorithm.
	* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
	* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.

	* sysdeps/libm-i387/s_cbrt.S: New file.  Optimized assembler version
	with new algorithm.
	* sysdeps/libm-i387/s_cbrtf.S: New file.
	* sysdeps/libm-i387/s_cbrtl.S: New file.

	* sysdeps/libm-i387/s_frexp.S: Optimize even more.
	* sysdeps/libm-i387/s_frexpf.S: Likewise.
	* sysdeps/libm-i387/s_frexpl.S: Likewise.

1997-04-04 18:55  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/Makefile: Remove CFLAGS-*, add publickey to databases.

	* nis/nis_call.c: Add MASTER_ONLY and HARD_LOOKUP flags, compile
	DES part only with secure RPC add-on.

	* nis/nis_names.c (nis_modify): Fix rpc function number.

	* nis/nis_server.c: Fix typos.

	* nis/nss_compat/compat-grp.c: Add NIS+ support.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.

	* nis/nss_nis/nis-grp.c: Only a return value > 0 from parse_line
	signals success.

	* nis/nss_nis/nis-publickey.c: Changes for compiling with/without
	secure RPC.
	* nis/nss_nisplus/nisplus-publickey.c: Likewise.
	* nis/ypclnt.c: Likewise.
	* nis/nis_intern.h: Likewise.

	* nis/nss_nisplus/nisplus-alias.c: Correct parser return code.
	* nis/nss_nisplus/nisplus-ethers.c: Likewise.
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.
	* nis/nss_nisplus/nisplus-network.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.
	* nis/nss_nisplus/nisplus-spwd.c: Likewise.

	* nis/nss_nisplus/nisplus-grp.c: Rewrite parser for fixing errors
	and speedup.
	* nis/nss_nisplus/nisplus-netgrp.c: Likewise.

1997-04-04 17:03  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c (cbrt_test): Add tests for +-inf and NaN
	arguments.

1997-04-03 19:24  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/sigset.h (__sigisemptyset): Fix a
	typo.

1997-04-03 16:10  Andreas Jaeger  <aj@arthur.pfalz.de>

	* sysdeps/libm-ieee754/s_nanf.c:
	* sysdeps/libm-ieee754/s_nan.c:
	* sysdeps/libm-ieee754/s_nanl.c: Include <stdio.h> for
	declaration of sprintf.

1997-04-03 13:37  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_cexp.c: Fix type: string_alias ->
	strong_alias.
	Reported by sun <asun@zoology.washington.edu>.

	* rpc/auth.h: Removed.
	* rpc/auth_des.h: Removed.
	* sunrpc/rpc/auth.h: Moved to ...
	* sysdeps/generic/rpc/auth.h: ...here.
	* sunrpc/rpc/auth_des.h: Moved to ...
	* sysdeps/generic/rpc/auth_des.h: ...here.

1997-04-03 04:28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/s_frexp.S: New file.  ix87 optimized version.
	* sysdeps/libm-i387/s_frexpf.S: New file.
	* sysdeps/libm-i387/s_frexpl.S: New file.

1997-04-01 10:11  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet]
	(sysdep_headers): Remove netinet/icmp.h.

	Describe `inf', `infinity', `nan', `nan(...)' inputs for strtod
	* sysdeps/i386/memcmp.S: Likewise.
	* time/antarctica: Likewise.
	* time/australasia: Likewise.
1997-04-05 01:26:47 +00:00
Ulrich Drepper fe7bdd630f Update.
1997-04-02 16:55  Ulrich Drepper  <drepper@cygnus.com>

	* manual/socket.texi: Document behaviour of inet_ntoa in multi-
	threaded programs.
	* manual/stdio.texi: Change wording for snprintf description a bit.
	Correct typo in example.
	* manual/lang.texi: Add documentation of __va_copy.

	* Makefile: Add rule to easily generate dir-add.texi file.
	* manual/Makefile: Likewise.

	* manual/arith.texi: Add description of lldiv_t, lldiv, and atoll.
	Change description of strtoll and strtoull to make clear these
	are the preferred names.
	Describe `inf', `inifinity', `nan', `nan(...)' inputs for strtod
	and friends.
	Change references to HUGE_VALf and HUGE_VALl to HUGE_VALF and
	HUGE_VALL.

	* sysdeps/libm-ieee754/s_nan.c: Use strtod if parameter is not empty
	* sysdeps/libm-ieee754/s_nanl.c: Likewise.
1997-04-02 22:06:24 +00:00
Ulrich Drepper 22d57dd369 Update.
1997-04-02 16:28  Ulrich Drepper  <drepper@cygnus.com>

	* grp/fgetgrent.c: Don't use fixed buffer length.  Allow dynamic
	adjustment if the underlying function say it is too small.
	* pwd/fgetpwent.c: Likewise.
	* shadow/fgetspent.c: Likewise.
	* shadow/sgetspent.c: Likewise.

	* grp/fgetgrent_r.c (__fgetgrent_r): If `parse_result' returns -1
	this means there was not enough room for the gr_mem array.

	* nss/nss_files/files-XXX.c: Leave loop and return error if
	`parse_result' returns -1.

	* nss/nss_files/files-parse.c (parse_line): Return -1 if parsing
	of trailing list fails because of low memory.
	(parse_list): Rewrite.  The logic was completly incorrect since
	the checks for overflowing the array were not executed when
	needed.

	* shadow/sgetspent_r.c: Only a return value > 0 from parse_line
	signals success.

	* nss/getXXbyYY.c: Make sure NULL is returned if we ran out of memory.
	* nss/getXXent.c: Likewise.

	* stdlib/strtod.c (SET_MANTISSA): Make sure that at least one bit
	is set in mantissa.
	* stdlib/strtof.c: Likewise.
	* stdlib/strtold.c: Likewise.
	* wcsmbs/wcstof.c: Likewise.
	* wcsmbs/wcstold.c: Likewise.

	* sysdeps/libm-ieee754/s_nan.c: Use strtod is parameter is not empty
	string.
	* sysdeps/libm-ieee754/s_nanf.c: Likewise.
	* sysdeps/libm-ieee754/s_nanld.c: Likewise.

1997-04-02 13:56  Ulrich Drepper  <drepper@cygnus.com>

	* manual/errno.texi: Add description of strerror_r.

1997-04-01 19:07  H.J. Lu (hjl@gnu.ai.mit.edu)

	* manual/errno.texi: Add ENOMEDIUM and EMEDIUMTYPE.

1997-04-02 13:55  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/gnu/errlist.awk: The Texinfo file is named errno.texi.

1997-03-30 10:59  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/s_cexp.c: New file.
	* sysdeps/m68k/fpu/s_cexpf.c: New file.
	* sysdeps/m68k/fpu/s_cexpl.c: New file.
	* sysdeps/m68k/fpu/s_nearbyint.c: New file.
	* sysdeps/m68k/fpu/s_nearbyintf.c: New file.
	* sysdeps/m68k/fpu/s_nearbyintl.c: New file.
	* sysdeps/m68k/fpu/s_trunc.c: New file.
	* sysdeps/m68k/fpu/s_truncf.c: New file.
	* sysdeps/m68k/fpu/s_truncl.c: New file.

	* sysdeps/m68k/fpu/s_modf.c: Rewritten.
	* sysdeps/m68k/fpu/s_modff.c: Adapted.
	* sysdeps/m68k/fpu/s_modfl.c: Likewise.

	* sysdeps/m68k/fpu/e_atan2.c: Use __signbit inline.
	* sysdeps/m68k/fpu/e_pow.c: Likewise.  Write 0.0/0.0 for NaN.  Fix
	typo in test for `y = 0.5'.

	* sysdeps/m68k/fpu/__math.h: Define __trunc, __signbit,
	__nearbyint.  Remove __modf.

	* sysdeps/m68k/Makefile (CFLAGS-s_copysignl.c) [$(subdir)=math]:
	Define for gcc bug workaround.

	* math/libm-test.c (log2_test): Add epsilon for long double to
	"log2 (e)" and "log2 (16)".
	(modf_test): Fix test name.
	(sqrt_test): Add missing FUNC.

1997-03-29 16:24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/Makefile (CFLAGS-xrquota.c): Fix typo in variable name.

1997-03-28 20:56  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdlib/stdlib.h: Declare __clearenv.

1997-03-28 18:03  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_asinhl.c: Fix Ulrich Dreppers mangling of
	the last change.

1997-03-28 17:55  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in: Call AC_CANONICAL_BUILD before referencing
	$build.  Fix test for BUILD_CC.

1997-04-02 01:29  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/libm-ieee754/s_log2f.c (__log2f): Fix typo.

1997-03-31 18:53  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/unix/sysv/linux/net/route.h: Add new IPv6 definitions.

1997-04-01 14:08  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/memset.c: Fix typo.
	* sysdeps/stub/fchmod.c: Fix typo.
	* sysdeps/stub/fchdir.c: Fix typo.
	Reported by Fila Kolodny <fila@ibi.com>.
1997-04-02 14:47:34 +00:00
Ulrich Drepper 5929563ff2 Update.
1997-04-01 00:37  Ulrich Drepper  <drepper@cygnus.com>

	* math/Makefile: Prevent inlining for test-{float,double,longdouble}.
	* math/libm-test.c (initialize): Make strings unique and force
	values to memory.

	* posix/regex.c: Debug debugging code.

	* sysdeps/i386/asm-syntax.h: Define `L' macro to emit correct
	syntax for local label.
	* sysdeps/i386/add_n.S: Use correct local label syntax for the
	binary format.
	* sysdeps/i386/addmul_1.S: Likewise.
	* sysdeps/i386/lshift.S: Likewise.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/i386/memset.S: Likewise.
	* sysdeps/i386/mul_1.S: Likewise.
	* sysdeps/i386/rshift.S: Likewise.
	* sysdeps/i386/stpcpy.S: Likewise.
	* sysdeps/i386/stpncpy.S: Likewise.
	* sysdeps/i386/strchr.S: Likewise.
	* sysdeps/i386/strcspn.S: Likewise.
	* sysdeps/i386/strlen.S: Likewise.
	* sysdeps/i386/strpbrk.S: Likewise.
	* sysdeps/i386/strrchr.S: Likewise.
	* sysdeps/i386/strspn.S: Likewise.
	* sysdeps/i386/strtok.S: Likewise.
	* sysdeps/i386/sub_n.S: Likewise.
	* sysdeps/i386/submul_1.S: Likewise.
	* sysdeps/i386/i486/strcat.S: Likewise.
	* sysdeps/i386/i486/strlen.S: Likewise.
	* sysdeps/i386/i586/add_n.S: Likewise.
	* sysdeps/i386/i586/addmul_1.S: Likewise.
	* sysdeps/i386/i586/lshift.S: Likewise.
	* sysdeps/i386/i586/memset.S: Likewise.
	* sysdeps/i386/i586/mul_1.S: Likewise.
	* sysdeps/i386/i586/rshift.S: Likewise.
	* sysdeps/i386/i586/strchr.S: Likewise.
	* sysdeps/i386/i586/strlen.S: Likewise.
	* sysdeps/i386/i586/sub_n.S: Likewise.
	* sysdeps/i386/i586/submul_1.S: Likewise.

	* sysdeps/stub/s_log2l.c: Correct function name.

	* time/africa: Updated from ADO tzdata1997e.
	* time/aantarctica: Likewise.
	* time/asia: Likewise.
	* time/australia: Likewise.
	* time/europe: Likewise.
	* time/northamerica: Likewise.
	* time/southamerica: Likewise.
	* time/private.h: Updated from ADO tzcode1997d.
	* time/scheck.c: Likewise.

1997-03-31 12:42  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/powerpc/Dist: Add kernel_*.h files.

1997-03-23 01:41  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/strlen.s: Rewrote for more speed.
	* string/tst-strlen.c: Also test various string alignments.

1997-03-19 06:11  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/statbuf.h: Removed.
	* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Added.

	* sysdeps/powerpc/dl-machine.h (ELF_PREFERRED_ADDRESS): Assume
	program base address is 0x01800000 if we can't otherwise tell what
	it is.
	(elf_machine_rela): Replace `assertion failed' with real error
	messages.

	* sysdeps/powerpc/dl-machine.h: More comments, more GNU indenting.
	Put in extra parentheses to make explicit the relative precedence
	of + and >>.

	* sysdeps/powerpc/bsd-setjmp.S: Add `__setjmp' symbol so the tests
	pass.
	* sysdeps/powerpc/clone.S: Rewrite.  Probably still doesn't work.

	* sysdeps/unix/sysv/linux/powerpc/sys/sysdep.h: Use .section "text"
	instead of .text.

1997-03-31 02:28  Ulrich Drepper  <drepper@cygnus.com>

	* misc/tst-tsearch.c: Don't write to stderr, write to stdout
	instead.

	* inet/inet_ntoa.c (inet_ntoa): Complete rewrite.  Now uses
	thread-specific memory in multi-threaded programs.

	* sysdeps/stub/s_exp2.c: New file.  Stub version for exp2 function.
	* sysdeps/stub/s_exp2f.c: New file.
	* sysdeps/stub/s_exp2l.c: New file.
	Reported by a sun <asun@zoology.washington.edu>.

	* sysdeps/unix/sysv/linux/netatalk/atalk.h: Rename to...
	* sysdeps/unix/sysv/linux/netatalk/at.h: ...this.
	Suggested by a sun <asun@zoology.washington.edu>.

1997-03-30 14:53  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netinet/ip_icmp.h: Add former contents
	of <netinet/icmp.h>.
	Patch by a sun <asun@zoology.washington.edu>.

	* sysdeps/powerpc/strlen.S: Added.
1997-03-31 22:56:24 +00:00
Ulrich Drepper 3075e0e37c Update.
1997-03-30 03:42  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c: Add definition of ctanh_test, clog_test, and
	csqrt_test.
1997-03-30 01:42:56 +00:00
Ulrich Drepper 993b3242cd Update.
1997-03-29 17:39  Ulrich Drepper  <drepper@cygnus.com>

	* math/Makefile (routines): Add carg, s_ccosh and s_csinh.

	* math/complex.h: Add C++ protection.

	* math/libm-test.c (cexp_test): Correct a few bugs.
	(csinh_test): New function.
	(ccosh_test): New function.
	(cacos_test): New function.
	(cacosh_test): New function.
	(casinh_test): New function.
	(catanh_test): New function.
	(main): Add calls to csinh_test and ccosh_test.

	* misc/Makefile (tests): Add tst-tsearch.
	Add rule to link tst-tsearch against libm.
	* misc/tsearch.c: Rewritten to use Red-Black-Tree algorithm by
	Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>.
	* misc/tst-tsearch.c: New file.

	* stdio-common/bug5.c: Clear LD_LIBRARY_PATH environment variable
	before using system.
	* stdio-common/test-popen.c: Clear LD_LIBRARY_PATH environment variable
	before using popen.

	* sysdeps/libm-ieee754/s_cexp.c: Correct handling of special cases.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.

	* sysdeps/libm-i387/s_cexp.S: New file.  ix87 specific implementation
	of complex exponential function.
	* sysdeps/libm-i387/s_cexpf.S: New file.
	* sysdeps/libm-i387/s_cexpl.S: New file.

	* sysdeps/libm-ieee754/s_ccosh.c: New file.  Implementation of
	complex cosh function.
	* sysdeps/libm-ieee754/s_ccoshf.c: New file.
	* sysdeps/libm-ieee754/s_ccoshl.c: New file.
	* sysdeps/libm-ieee754/s_csinh.c: New file.  Implementation of
	complex sinh function.
	* sysdeps/libm-ieee754/s_csinhf.c: New file.
	* sysdeps/libm-ieee754/s_csinhl.c: New file.

	* math/carg.c: New file.  Generic implementatio of carg function.
	* math/cargf.c: New file.
	* math/cargl.c: New file.

1997-03-29 16:07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/system.c: Update copyright.

1997-03-29 04:18  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-error.c (_dl_catch_error): Add another argument which is
	passed to OPERATE.
	(_dl_receive_error): Likewise.
	* elf/link.h: Change prototypes for _dl_catch_error and
	_dl_receive_error to reflect above change.
	* elf/dl-deps.c: Don't use nested function.  Call _dl_catch_error
	with additional argument with pointer to data.
	* elf/dlclose.c: Likewise.
	* elf/dlerror.c: Likewise.
	* elf/dlopen.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/dlvsym.c: Likewise.
	* elf/rtld.c: Likewise.
	* nss/nsswitch.c: Likewise.
	Patch by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>.

1997-03-28 21:14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* elf/dl-error.c: Manually set up the values of "c", this avoids a
	call to memcpy and a zero 152 bytes structure.

	* sysdeps/sparc/dl-machine.h (elf_machine_rela): Test
	RTLD_BOOTSTRAP to avoid performing relative relocs on a second
	pass.

	* sysdeps/sparc/udiv_qrnnd.S: Make the code PIC aware.

	* sysdeps/unix/sysv/linux/sparc/Dist: Add kernel_stat.h and
	kernel_sigaction.h

	Add Linux/SPARC specific definitions.
	* sysdeps/unix/sysv/linux/sparc/fcntlbits.h: New file.
	* sysdeps/unix/sysv/linux/sparc/ioctls.h: New file.
	* sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: New file.
	* sysdeps/unix/sysv/linux/sparc/kernel_stat.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sigaction.h: New file.
	* sysdeps/unix/sysv/linux/sparc/signum.h: New file.
	* sysdeps/unix/sysv/linux/sparc/termbits.h: New file.

1997-03-28 13:06  Philip Blundell  <pjb27@cam.ac.uk>

	* sysdeps/posix/getaddrinfo.c (gaih_inet_serv): Use
	__getservbyname_r() not getservbyname().
	(BROKEN_LIKE_POSIX): Define to 1 so we get strict POSIX behaviour.
1997-03-29 17:32:35 +00:00
Ulrich Drepper e7fd8a39ab Update.
1997-03-27 02:28  Ulrich Drepper  <drepper@cygnus.com>

	* gmon/gmon.c (monstartup): Mark all messages.
	(write_call_graph): Rewrite to use larger I/O vector for writev
	call to reduce syscall overhead.
	(write_bb_counts): Simplify writev handling.

	* inet/rexec.c: Make string parameters `const'.
	* resolv/netdb.h: Add prototypes for rcmd, rexec, ruserok, and
	rresvport.

	* math/Makefile: Don't define CFLAGS-* macros to prevent inlining
	in libm-test.
	* math/libm-test.c (this_does_nothing): Remove functions.  It's
	notuseful on any platform but ix86.
	(inverse_func_pair_test): Don't use this_does_nothing.  Use
	memory reference.
	(identities1_test): Likewise.
	(identities2_test): Likewise.
	(identities3_test): Likewise.
	(basic_test): Likewise.
	Patch by Andreas Schwab.
	(BUILD_COMPLEX): New macro.  Create complex number from real and
	imaginary parts.  This works around bugs/inefficiencies in current
	gcc.
	(cexp_test): Use BUILD_COMPLEX.  Add more tests.

	* nss/nsswitch.c: Fix typo.

	* posix/glob.h: Add declaration for glob_pattern_p.
	* posix/glob.c: Rename glob_pattern_p to __glob_pattern_p and
	make glob_pattern_p a weak alias.  This function is used in other
	packages (e.g. bash).

	* signal/Makefile (routines): Add sigisempty, sigandset, and
	sigorset.
	* signal/signal.h: Add prototypes for sigisempty, sigandset, and
	sigorset.
	* signal/sigisempty.c: New file.
	* signal/sigandset.c: New file.
	* signal/sigorset.c: New file.
	* sysdeps/generic/sigset.h: Define __sigisemptyset, __sigandset,
	and __sigorset.
	* sysdeps/unix/sysv/linux/sigset.h: Likewise.

	* stdlib/strtod.c: Handle `n-char-sequence' in NaN parsing.  It
	determines the bits in the mantissa part of the NaN.
	* stdlib/strtof.c: Define SET_MANTISSA for float type.
	* wcsmbs/wcstof.c: Define SET_MANTISSA for float type.
	* stdlib/strtold.c: Define SET_MANTISSA for long double type.
	* wcsmbs/wcstold.c: Define SET_MANTISSA for long double type.

	* sysdeps/libm-ieee754/s_cexp.c: Use explicit assignment to
	complex number components.  Some more corrects for special cases.
	* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
	* sysdeps/libm-ieee754/s_cexpl.c: Likewise.

	* sysdeps/sparc/elf/start.S: Remove as per request of Miguel de Icaza.

	* sysdeps/unix/sysv/linux/netinet/icmp.h: Remove since we have
	ip_icmp.h.  Reported by HJ Lu.

1997-03-25 03:50  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/Makefile (CFLAGS-rtld.c): Add -Wno-unused.

	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Rewritten as for
	i386.
	(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p,
	ELF_MACHINE_RELOC_NOPLT): Define.

1997-03-25 03:48  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* grp/grp.h: Include <stddef.h> only once.

1997-03-25 09:38  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/termbits.h (OXTABS): Don't define.
	* sysdeps/unix/sysv/linux/alpha/termbits.h (OXTABS): Likewise.

	* termios/sys/ttydefaults.h (TTYDEF_OFLAG): Use either OXTABS or
	TAB3, if one of them is defined.

1997-03-26 04:53  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c (next_brace_sub): Decrement depth counter when '}'
	is found.
	Patch by Dennis Henriksen <opus@flamingo.osrl.dk>.

1997-03-25  16:25  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* sunrpc/Makefile: Comment gccwarn out.
	* sunrpc/auth_none.c: Fix prototypes and parameters for compiling
	with enabled warnings.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/authuxprot.c: Likewise.
	* sunrpc/bindrsvprt.c: Likewise.
	* sunrpc/clnt_gen.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/get_myaddr.c: Likewise.
	* sunrpc/getrpcport.c: Likewise.
	* sunrpc/pm_getmaps.c: Likewise.
	* sunrpc/pm_getport.c: Likewise.
	* sunrpc/pmap_clnt.c: Likewise.
	* sunrpc/pmap_prot.c: Likewise.
	* sunrpc/pmap_prot2.c: Likewise.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rpc/auth.h: Likewise.
	* sunrpc/rpc/clnt.h: Likewise.
	* sunrpc/rpc/pmap_clnt.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/svc_auth.h: Likewise.
	* sunrpc/rpc/types.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* sunrpc/rpc_clntout.c: Likewise.
	* sunrpc/rpc_cmsg.c: Likewise.
	* sunrpc/rpc_dtable.c: Likewise.
	* sunrpc/rpc_prot.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sunrpc/svc_auth.c: Likewise.
	* sunrpc/svc_authux.c: Likewise.
	* sunrpc/svc_raw.c: Likewise.
	* sunrpc/svc_run.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_mem.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.

1997-03-25 13:39  Ulrich Drepper  <drepper@cygnus.com>

	* math/libm-test.c (log2_test): Compile this function and call it.
	(exp2_test): Likewise, but check whether function really exists
	before testing.

	* math/Makefile (libm-calls): Add s_log2 and s_exp2.

1997-03-25 04:50  Ulrich Drepper  <drepper@cygnus.com>

	Implement exp2 function.
	* sysdeps/libm-i387/s_exp2.S: New file.
	* sysdeps/libm-i387/s_exp2f.S: New file.
	* sysdeps/libm-i387/s_exp2l.S: New file.

	Implement log2 function.
	* sysdeps/libm-i387/s_log2.S: New file.
	* sysdeps/libm-i387/s_log2f.S: New file.
	* sysdeps/libm-i387/s_log2l.S: New file.
	* sysdeps/libm-ieee754/s_log2.c: New file.
	* sysdeps/libm-ieee754/s_log2f.c: New file.
	* sysdeps/stub/s_log2.c: New file.  Stub version.
1997-03-27 01:59:53 +00:00
Ulrich Drepper 34b402e5a9 Update.
1997-03-24 19:58  Richard Henderson  <rth@tamu.edu>

	* stdlib/tst-strtol.c (tests): Correct 64-bit entry.

	* sysdeps/alpha/bsd-_setjmp.S: Alias _setjmp to __setjmp for
	change to tst-setjmp.c.

	* sysdeps/alpha/dl-machine.h: Mirror Roland's recent changes.
	* sysdeps/i386/dl-machine.h: Correct noexec_p comment.
	* sysdeps/sparc/dl-machine.h: Likewise.

	* sysdeps/libm-ieee754/s_remquo.c: Rename {hp,lp} -> {hy,ly}.
	Add missing qs variable.
	* sysdeps/libm-ieee754/s_remquof.c: Likewise.
1997-03-25 02:25:35 +00:00
Ulrich Drepper 4e1101a7da 1997-03-22 04:53 Ulrich Drepper <drepper@cygnus.com> 1997-03-25 01:57:43 +00:00
Ulrich Drepper 3e5f555752 Update.
1997-03-25 02:15  Ulrich Drepper  <drepper@cygnus.com>

	* gmon/gmon.c: Optimize a bit by using more sets of records to
	write in a single writev call.

	* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
	* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
	nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
	`const'.
	Use __MATHDECLX for isinf and finite.

	* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
	clearenv a weak alias.

	Implement complex exponential function.
	* sysdeps/libm-ieee754/s_cexp.c: New file.
	* sysdeps/libm-ieee754/s_cexpf.c: New file.
	* sysdeps/libm-ieee754/s_cexpl.c: New file.

	* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
	nan a weak alias.
	* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
	* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.

	* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
	of type clashes.  Add all definitions here.

	* sysdeps/unix/sysv/linux/shmat.c: Likewise.  Correct types according
	to XPG4.2.
	* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
	* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.

	* sysvipc/sys/shm.h (shmat, shmdt): Correct types.

	* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
	use of kernel types.

1997-03-25 00:00  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
	Correct typos.  Reported by a sun <asun@zoology.washington.edu>.

1997-03-20 21:58  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.

1997-03-20 16:20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.

1997-03-20 14:23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
	* sysdeps/m68k/fpu/s_logb.c: Removed.
	* sysdeps/m68k/fpu/s_logbf.c: Removed.
	* sysdeps/m68k/fpu/s_logbl.c: Removed.

	* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
	Don't define here.
	* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
	* sysdeps/m68k/fpu/e_pow.c: Likewise.
	* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
	* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
	* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
	* sysdeps/m68k/fpu/e_powl.c: Likewise.

	* sysdeps/m68k/fpu/s_log2.c: New file.
	* sysdeps/m68k/fpu/s_log2f.c: New file.
	* sysdeps/m68k/fpu/s_log2l.c: New file.
	* sysdeps/m68k/fpu/s_exp2.c: New file.
	* sysdeps/m68k/fpu/s_exp2f.c: New file.
	* sysdeps/m68k/fpu/s_exp2l.c: New file.

1997-03-20 14:46  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig (all): Make sure this is always the default goal.

1997-03-20 11:09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/libm-test.c: Increase epsilon in many places.  Fix many
	typos.  Allow optinal argument also for short option.

1997-03-20 11:09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/Makefile ($(objpfx)$(tests)): Link against libm.

1997-03-24 23:14  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
	denormalized numbers.

	* sysdeps/i386/huge_val.h: Remove references to byte order macros.
	Don't include <endian.h>.

1997-03-19 15:18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
	* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
	Don't include <endian.h>.

1997-03-24 23:09  Ulrich Drepper  <drepper@cygnus.com>

	* inet/rcmd.c (iruserok): Use access instead of euidaccess.

1997-03-15 18:08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/cmathcalls.h: Remove whitespace before function name in use
	of __MATHDECL macro, to make it compilable with a traditional
	preprocessor.

1997-03-24 15:31  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
	compiler.

1997-03-24 02:34  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
	by 31 positions to get 0/1 result.
	Patch by Joe Keane <jgk@jgk.org>.

1997-03-23 12:15  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* posix/getopt.c (__getopt_nonoption_flags): Make it extern
	to prevent from ld linking in getopt.o even if there is another
	incompatible one.

	* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.

1997-03-23 23:30   Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_call.c (__do_niscall): Print message if cold start file
	does not exist.
	* nis/nis_file.c: Don't print error messages.
	* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
	* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
	* nis/rpcsvc/nis.h: Likewise.
	* nis/ypclnt.c: Fix prototypes.

1997-03-24 01:36  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/e_scalb.S: Pop additional result before
	returning.
	* sysdeps/libm-i387/e_scalbf.S: Likewise.
	* sysdeps/libm-i387/e_scalbl.S: Likewise.
	Reported by Andreas Jaeger <aj@arthur.pfalz.de>.

	* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
	dynamic linker was called implicitly by the kernel.
	Reported by Eric Youngdale <eric@andante.jic.com>.

	* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
	CFLAGS-test-longdouble.c): New variables.  Set to -fno-inline to
	prevent clever optimizations which corrupt the tests.

1997-03-23 21:33  Andreas Jaeger  <aj@arthur.pfalz.de>

	* math/libm-test.c (scalb_test): New function.
	(sqrt_test): New function.
	(scalbn_test): New function.
	(ilogb_test): New function.
	(main): Added calls for new test functions.
	(ldexp_test): Add another test for ldexp(x,0).

1997-03-23 12:35  Andreas Jaeger  <aj@arthur.pfalz.de>

	* math/libm-test.c (remquo_test): Correct messages so that they
	match the tests.
	(copysign_test): Likewise.

1997-03-23 16:28  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/Makefile (routines): Add printf_size.

	* stdio-common/printf.h: Add declarations for printf_size and
	printf_size_info.

	* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
	declaration.
	(parse_one_spec): Test whether __printf_function_table is not NULL
	before using registered handlers and don't test
	__printf_arginfo_table.  Update nargs also when handler is
	registered.

	* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
	processed in fast loop.

	* stdio-common/printf_size: New file.

1997-03-22 04:53  Ulgmon_out_readrich Drepper  <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
Ulrich Drepper bc9f6000f6 Update.
1997-03-23 02:11  Ulrich Drepper  <drepper@cygnus.com>

	* time/sys/time.h: Make values ITIMER_* also available as macros.

	* elf/dl-support.c (_dl_sysdep_read_whole_file): Don't call
	__fstat but instead __fxstat directly to avoid dependency on
	libc.a when inline failed.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_read_whole_file): Likewise.

	* math/Makefile (libm-routines): Add s_remquo.
	* sysdeps/libm-i387/s_remquo.S: New file.
	* sysdeps/libm-i387/s_remquof.S: New file.
	* sysdeps/libm-i387/s_remquol.S: New file.
	* sysdeps/libm-ieee754/s_remquo.c: New file.
	* sysdeps/libm-ieee754/s_remquof.c: New file.
	* sysdeps/libm-ieee754/s_remquol.c: New file.

	* math/libm-test.c (remquo_test): New function.

	* sysdeps/libm-ieee754/s_rintl.c: Handle implicit leading one
	correctly.

1997-03-22 14:06  Ulrich Drepper  <drepper@cygnus.com>

	* math/Makefile (libm-calls): Add s_nan.
	* sysdeps/libm-ieee754/s_nan.c: New file.  Implement `nan' function.
	* sysdeps/libm-ieee754/s_nanf.c: New file.  Implement `nanf' function.
	* sysdeps/libm-ieee754/s_nanl.c: New file.  Implement `nanl' function.

	* math/libm-test.c (basic_tests): Add tests for `nan' function.

	* math/libm-test.c (copysign_test): New function.
	(main): Call copysign_test.

1997-03-22 06:28  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_nextafter.c: Return y if x == y.
	* sysdeps/libm-ieee754/s_nextafterf.c: Likewise.
	* sysdeps/libm-ieee754/s_nextafterl.c: Likewise.
	* sysdeps/libm-i387/s_nextafterl.c: Likewise.

	* math/libm-test.c (fdim_test, fmin_test, fmax_test, nextafter_test):
	New functions.  Test these functions.
	(main): Call above new functions.

1997-03-22 04:53  Ulrich Drepper  <drepper@cygnus.com>

	* Net release 2.0.2.

1997-03-22 04:37  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/termbits.h (OXTABS): Define as alias for
	XTABS.
	* sysdeps/unix/sysv/linux/alpha/termbits.h (OXTABS): Likewise.
	* termios/sys/ttydefaults.h: Partly revert patch by Andreas Schwab
	of Sun Dec 15 16:33:44 1996.
	Proposed by Thomas Bushnell <thomas@gnu.ai.mit.edu>.

1997-03-21 13:41  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/sparc/dl-machine.h (elf_machine_rel): Rewritten as for i386.
	Check here for non-SHN_UNDEF STB_LOCAL symbols don't do any lookup or
	consult their values.
	(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p,
	ELF_MACHINE_RELOC_NOPLT): New macros.

	* elf/rtld.c (dl_main): Pass ELF_MACHINE_RELOC_NOPLT to
	_dl_lookup_symbol in place of DL_LOOKUP_NOPLT.
	* sysdeps/i386/dl-machine.h (ELF_MACHINE_RELOC_NOPLT): New macro.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Rewritten to do the
	symbol lookup before checking reloc type except for R_386_RELATIVE.
	(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p): New macros.

	* elf/dl-reloc.c (RESOLVE): Remove STB_LOCAL check; let it be
	per-machine since it supposedly can't happen on i386.

	* elf/dl-lookup.c (do_lookup): Change arg FLAGS to RELOC_TYPE.  Use
	elf_machine_lookup_{noexec,noplt}_p macros on it.  Remove gratuitous
	indirection from REF arg; change callers.
	(_dl_lookup_symbol, _dl_lookup_versioned_symbol): Change arg name.
	(_dl_lookup_symbol_skip, _dl_lookup_versioned_symbol_skip): Remove
	FLAGS arg altogether.
	* elf/dlsym.c: Remove argument of FLAGS parameter.
	* elf/dlvsym.c: Likewise.
	* elf/link.h: Update decls.

	* Makefile (distribute): Add BUGS.
1997-03-23 01:54:07 +00:00
Ulrich Drepper 5ae9d168f6 Update.
1997-03-21 20:55  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/machine-gmon.h: Update copyright.

	* sysdeps/i386/Makefile [$(subdir)=gmon] (sysdep_routines): Add
	i386-mcount.
	* sysdeps/i386/dl-machine.h [PROF] (_dl_runtime_resolve): Don't
	use regparam mechanism for call of `fixup' call.
	* sysdeps/i386/Dist: New file.
	* sysdeps/i386/i386-mcount.S: New file.  `mcount' entry point.
	* sysdeps/i386/machine-gmon.h: New file.  i386 specific version
	of gmon definitions.

1997-03-20 13:39  Andreas Jaeger  <aj@arthur.pfalz.de>

	* stdlib/tst-strtol.c (main): Save the value of errno since printf
	may modify it, use the saved errno everywhere.
	* stdlib/tst-strtod.c (main): Likewise.

1997-03-21 05:54  Ulrich Drepper  <drepper@cygnus.com>

	* posix/glob.c (glob): Fix completely broken handling of
	GLOB_BRACE and partly broken handling of GLOB_TILDE.
	Reported by Dennis Henriksen <opus@flamingo.osrl.dk>.

1997-03-20 20:22  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/readv.c: Don't emulate readv with small
	UIO_FASTIOV value by multiple readv calls since we need atomicity.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
	Reported by Matthis Urlichs.

1997-03-20 04:34  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.S (CALL_MCOUNT): Clear this
	macro so ENTRY(__syscall_error) doesn't insert a call to _mcount,
	which clobbers %eax.

	* Makeconfig [$(elf)=yes] (+prector, +postctor): New variables for
	crtbegin.o/crtend.o, using gcc to find them.
	(+link): Use them.

1997-03-20 00:06  Richard Henderson  <rth@tamu.edu>

	* gmon/sys/gmon.h: Revert the bulk of the 960930 changes, as they
	affect the alignment, and therefore the end padding of the structs.
	Reported by David Mosberger <davidm@azstarnet.com>.
	* gmon.c: Declare the variables with aligned tags to compensate.
	Use __writev instead of write for the I/O.

	* misc/sys/uio.h: Declare __writev and __readv.
	* sysdeps/posix/readv.c: Rename and alias readv to __readv.
	* sysdeps/posix/writev.c: Likewise for writev.
	* sysdeps/stub/readv.c: Likewise.
	* sysdeps/stub/writev.c: Likewise.
	* sysdeps/unix/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.

	* stdlib/testdiv.c: Exit with error status when we have an error.
	* sysdeps/alpha/div.S: Initialize `quotient' and `mask'.
	* sysdeps/alpha/ldiv.S: Likewise.

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: Include ctype.h for isdigit.

1997-03-20 14:51  Ulrich Drepper  <drepper@cygnus.com>

	* nis/nis_file.c: Unify error handling.

1997-03-19 18:36  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_file.c (writeColdStartFile): Fix typo.
	* nis/nis_free.c (nis_free_endpoints): Use unsigned int.
	* nis/nis_free.c (nis_free_servers): Likewise.
	* nis/rpcsvc/nislib.h: Likewise.

	* sunrpc/rpc/netdb.h: Add setrpcent and endrpcent prototypes.
1997-03-21 20:00:48 +00:00
Ulrich Drepper f752bfe379 Update.
1997-03-20 06:07  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/powerpc/dl-machine.h: Fix typo in last change.

	* sysdeps/unix/sparc/sysdep.h: Update copyright.

1997-03-19 15:13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* linuxthreads/sysdeps/sparc/pt-machine (RELEASE): Fix.

	* stdlib/tst-strtol.c: Save the value of errno, printf may modify
	it.

	* sysdeps/sparc/DEFS.h [HAVE_ELF]: Use type @function in the FUNC
	macro on ELF systems.

	* sysdeps/sparc/configure.in: Fix.

	* sysdeps/sparc/dl-machine.h: Fix OPCODE_CALL.
	* sysdeps/sparc/setjmp.S: Fix my bugs.

	* sysdeps/unix/sysv/linux/sparc/Dist: Add start.c, fork.S, and pipe.S.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Define asm-CPPFLAGS and
	as-FLAGS-.so.
	* sysdeps/unix/sysv/linux/sparc/syscalls.list: Add fork, pipe, and
	syscall.
	* sysdeps/unix/sysv/linux/sparc/fork.S: New file.
	* sysdeps/unix/sysv/linux/sparc/pipe.S: New file.
	* sysdeps/unix/sysv/linux/sparc/socket.S: Fix.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h: Fix.

	* elf/dl-lookup.c (do_lookup): Return true if we found a weak
	symbol.
	(_dl_lookup_symbol): Test against the symbol being global not
	against the symbol being not weak (fixes important problem with
	the SPARC linker)

	* sysdeps/unix/sysv/linux/sparc/brk.c: Fix.

	* sysdeps/unix/sysv/linux/sparc/start.c: Startup code for
	Linux/SPARC (while I get my asmCPPFLAGS-so variable).

1997-03-20 01:49  Ulrich Drepper  <drepper@cygnus.com>
	* sysdeps/libm-ieee754/s_tanhl.c (__tanhl): Correct handling of -inf.
	* elf/dl-reloc.c (RESOLVE): Don't try to resolve local symbols.
1997-03-20 05:17:15 +00:00
Ulrich Drepper c57abfa735 Update.
1997-03-20 01:49  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_tanhl.c (__tanhl): Correct handling of
	-inf.

	* Makeconfig: (rpath-link): Add math/ directory.
	(math-objdir): New variable.
	(link-extra-lib): Define to special version when
	$(common-objpfx)!=$(objpfx) to allow libraries outside
	$(common-objpfx) be linked to the application.

	* math/Makefile: Add rules to build and run test programs.
	* math/libm-test.c (_GNU_SOURCE): Define only if still undefined.
	(check_equal): Correct check for error.
	(ceil_test): Fix typo.
	(log_test): Fix typo.
	(floor_test): Fix typo.
	(pow_test): Fix typos.
	(log10_test): Allow slight incorrectness for `log10(e)'.
	(modf_test): New functions to test `modf' et.al.
	(hypot_test): Rewrite test completely.
	Patch partly by Andreas Jaeger.
	* math/test-double.h (__NO_MATH_INLINES): Define only if not
	already defined.
	* math/test-float.h: Likewise.
	* math/test-logdouble.h: Likewise.

	* setjmp/setjmp.h: Change references of ANSI C to ISO C.
	* setjmp/tst-setjmp.c: Correct and extend test suite.
	* sysdeps/i386/__longjmp.S: Update copyright.
	* sysdeps/i386/bsd-_setjmp.S: Correct fatal bug in jump to
	`__sigsetjmp' in PIC code.
	* sysdeps/i386/bsd-setjmp.S: Likewise.

	* sysdeps/libm-i387/e_pow.S: Correct recognition of mantissa
	overflow.
	* sysdeps/libm-i387/e_powf.S: Likewise.
	* sysdeps/libm-i387/s_expm1.S: Handle x == +-0 as a special
	case since expm1(-0) == -0.
	* sysdeps/libm-i387/s_expm1f.S: Likewise.
	* sysdeps/libm-i387/s_expm1l.S: Likewise.
	* sysdeps/libm-ieee754/s_modf.c: Optimize code by avoiding unneeded
	access to FP number.
	* sysdeps/libm-ieee754/s_modff.c: Likewise.
	* sysdeps/libm-ieee754/s_modfl.c: Correct former completely bogus
	code.  It never worked correctly.
	* sysdeps/libm-ieee754/s_tanh.c: Handle x == +-0 as a special
	case since tanh(-0) == -0.
	* sysdeps/libm-ieee754/s_tanhf.c: Likewise.

1997-03-19 21:13  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/strtod.c (STRTOL): Use wchar_t as type for `decimal' and
	`thousands' to support systems with sizeof(wchar_t) !=
	sizeof(wint_t).  Blargh.

	* sysdeps/unix/sysv/linux/socketbits.h: Remove definition of
	SOL_IP, SOL_TCP, SOL_UDP, and SOL_IPX as they are defined in
	appropriate headers.

	* sysdeps/unix/sysv/linux/writev.c: Don't use MAX_IOVEC.  Test for
	UIO_FASTIOV and set to 8 if not available.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	Patch by HJ Lu.

	* sysdeps/unix/sysv/linux/xstat.c: Include <kernel_stat.h>, not
	"kernel_stat.h".
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat.c: Likewise.
	Reported by fabsoft@fabsoft2.zarm.uni-bremen.de.
1997-03-20 02:20:57 +00:00
Ulrich Drepper e61abf8398 Update.
1997-03-19 01:40  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/sco3.2.4/Dist: New file.

	* sysdeps/unix/sysv/sysv4/Dist: Add __getpgid.c and __setpgid.c.

	* sysdeps/unix/bsd/Dist: Add bsdstat.h, setrgid.c, and setruid.c.

	* sysdeps/unix/sysv/Dist: Add direct.h.

	* sysdeps/unix/sysv/linux/Dist: Add netinet/tcp.h.

	* Make-dist ($(tardir).tar): Prefer writing temporary file to
	$TMPDIR is available.  The default is /tmp.

	* sysdeps/generic/ip.h: Move to...
	* sysdeps/generic/netinet/ip.h: ...here.

	* Makefile (tests): Quote $(CC) argument to isomac program.
	Patch by H.J. Lu <hjl@gnu.ai.mit.edu>.

	* sysdeps/i386/setjmp.S (__setjmp): Fix fatal bug where 0 argument
	is placed in wrong place on the stack.
	Reported by Marc Lehmann <mlehmann@hildesheim.sgh-net.de>.
	* sysdeps/tst-setjmp.c: Add new test for above problem.

	* sysdeps/libm-i387/e_pow.S: Compute PIC addres early.
	* sysdeps/libm-i387/e_powf.S: Likewise.
	* sysdeps/libm-i387/e_powl.S: Likewise.

1997-03-18 23:18  Ulrich Drepper  <drepper@cygnus.com>

	* time/offtime.c (__offtime): Change type of `yg' to long int.
	Reported by a sun <asun@zoology.washington.edu>.

1997-03-18 23:08  a sun  <asun@zoology.washington.edu>

	* sysdeps/unix/sysv/linux/net/if_ppp.h (PPP_VERSION): Define to
	2.2.0 to prevent version mismatch.

1997-03-17 19:26  Andreas Jaeger  <aj@arthur.pfalz.de>

	* stdio-common/printf_fphex.c (MIN): Only define MIN if not
	already defined.

1997-03-14 23:34  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/termbits.h: Leave ioctl numbers
	in ioctls.h.

	* elf/rtld.c (_dl_start): Call elf_machine_runtime_setup when the
	loader first relocates itself.
	* sysdeps/powerpc/elf/start.c (__start1): Fix bug for static objects.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Fix bugs in
	jump slot relocation. Prefer relative branches (some PowerPC chips
	don't predict absolute branches).
	(elf_machine_runtime_setup): Simplify and correct expressions.
	(RTLD_START): Fix bug changing _dl_starting_up.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Added. Deal with
	strange Linux/PPC padding of initial stack.

1997-03-11 04:14  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/termbits.h: Increase NCCS to 39,
	for future expansion.
	* sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h: Added.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Explain why it
	can't have a switch statement.
	* sysdeps/powerpc/elf/start.c (__start1): Explain why it can't be
	static.

	* sysdeps/powerpc/elf/start.c (_start): Use .previous to avoid
	confusing gcc's idea of the current section.
	* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE,
	RTLD_START): Likewise.

1997-03-08 09:10  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/powerpc/dl-machine.h (elf_machine_rela,
	elf_machine_runtime_setup): Flush data & instruction caches when
	necessary, for 603/604 support. Add better support for large PLTs.
	(elf_machine_rela): Remove relocations that wouldn't work if
	anyone ever used them. Use memcpy for copy reloc, it'll be safe.
	Never target branch relocations at a PLT entry.

	* sysdeps/powerpc/bsd-setjmp.S: Make jump to PLT entry if we are
	generating PIC.
	* sysdeps/powerpc/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscall.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Likewise.

	* sysdeps/powerpc/elf/start.c: Clean up.

	* sysdeps/powerpc/__longjmp.S: Return 'value' as result from
	setjmp call.

	* sysdeps/unix/sysv/linux/powerpc/statbuf.h: New file.

1997-03-09 12:36  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* Make-dist (srcs): Add $(test-srcs).
	* MakeTAGS (all-sources): Likewise.
	* Makerules (depfiles, common-mostlyclean): Likewise.
	* Rules (tests): Likewise.

1997-03-18 05:28  Roland McGrath  <roland@frob.com>

	* elf/dl-reloc.c (RESOLVE): Don't try to resolve ocal symbols.

1997-03-17 21:39  Philip Blundell  <phil@london.uk.eu.org>

	* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Allow
	protocol=NULL to match any protocol rather than returning an
	error.

1997-03-17 19:00  Philip Blundell  <phil@london.uk.eu.org>

	* nss/nss_files/files-service.c (servbyname): Match any protocol
	if proto==NULL.

1997-03-18 05:17  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Don't define O_NORW.
	* sysdeps/unix/sysv/linux/fcntlbits.h: Likewise.
	Proposed by Thomas Bushnell, n/BSG.

1997-03-18 07:53  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/generic/setenv.c (setenv): Don't copy name when we reuse
	the buffer for replacement.

1997-03-16 19:30  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* sysdeps/unix/sysv/linux/syscalls.list: Add sys_fstat,
	sys_lstat and sys_stat.

1997-03-17 12:43  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	Add NIS+ functions
	* shlib-versions: Add libnss_nisplus.
	* nis/Makefile: Add NIS+ source files.
	* nis/nis_call.c: New file.
	* nis/nis_clone.c: New file.
	* nis/nis_error.c: New file.
	* nis/nis_file.c: New file.
	* nis/nis_free.c: New file.
	* nis/nis_intern.c: New file.
	* nis/nis_intern.h: New file.
	* nis/nis_local_names.c: New file.
	* nis/nis_names.c: New file.
	* nis/nis_print.c: New file.
	* nis/nis_server.c: New file.
	* nis/nis_subr.c: New file.
	* nis/nis_table.c: New file.
	* nis/nis_xdr.c: New file.
	* nis/nss-nisplus.h: New file.
	* nis/nss_nisplus/nisplus-alias.c: New file.
	* nis/nss_nisplus/nisplus-ethers.c: New file.
	* nis/nss_nisplus/nisplus-grp.c: New file.
	* nis/nss_nisplus/nisplus-hosts.c: New file.
	* nis/nss_nisplus/nisplus-netgrp.c: New file.
	* nis/nss_nisplus/nisplus-network.c: New file.
	* nis/nss_nisplus/nisplus-proto.c: New file.
	* nis/nss_nisplus/nisplus-publickey.c: New file.
	* nis/nss_nisplus/nisplus-pwd.c: New file.
	* nis/nss_nisplus/nisplus-rpc.c: New file.
	* nis/nss_nisplus/nisplus-service.c: New file.
	* nis/nss_nisplus/nisplus-spwd.c: New file.
	* nis/rpcsvc/nis.h: New file.
	* nis/rpcsvc/nis.x: New file.
	* nis/rpcsvc/nis_object.x: New file.
	* nis/rpcsvc/nis_tags.h: New file.
	* nis/rpcsvc/nislib.h: New file.

1997-03-17 12:52  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* mach/devstream.c (output/write_some): Don't try and write more
	than IO_INBAND_MAX in a single call to device_write_inband.

	* sysdeps/libm-ieee754/w_atan2.c: Don't ignore exception if library
	* sysdeps/libm-ieee754/w_atan2f.c: Likewise.
	* sysdeps/libm-ieee754/w_atan2l.c: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h (msync): Add description for
	* stdlib/atoll.c: Undefine atoll, not atol.
1997-03-19 05:47:56 +00:00
Ulrich Drepper 6465cfc9cf Update
* locales/POSIX: Updated version from maintainer.
1997-03-17 03:29:13 +00:00
Ulrich Drepper 81e9dad672 Update.
1997-03-17 04:00  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libmieee754/w_atan2.c: Don't ignore exception if library
	type is SVID.
	* sysdeps/libmieee754/w_atan2f.c: Likewise.
	* sysdeps/libmieee754/w_atan2l.c: Likewise.

	* sysdeps/unix/sysv/linux/sys/mman.h (msync): Add descrption for
	FLAGS parameter.

1997-03-16 20:28  Philip Blundell  <phil@london.uk.eu.org>

	* sysdeps/unix/sysv/linux/socketbits.h: Add more SOL_ values.
	Change msg_iovlen and msg_controllen (in struct msghdr) to
	`size_t' to keep in step with kernel.

	* manual/examples/dir2.c: New example for scandir.
	* math/test/float.c: New file.  Frontend for float tests.
	* math/test/double.c: New file.  Frontend for double tests.
	* math/test/longdouble.c: New file.  Frontend for long double  tests.
	* sysdeps/ieee754/huge_val.h: Remove definition of long double
	* sysdeps/libm-i387/s_scalbn.S: Likewise.
	* sysdeps/libm-i387/s_scalbnf.S: Likewise.
	* sysdeps/libm-i387/s_scalbnl.S: Likewise.
	* sysdeps/libm-i387/s_expm1.S: Change return value for -inf
	* sysdeps/libm-i387/s_expm1f.S: Likewise.
	* sysdeps/libm-i387/s_expm1l.S: Likewise.
	* sysdeps/libm-i387/s_isinfl.c: Return -1 for -inf.
	* sysdeps/libm-i387/s_logbl.S: Correct return value.  Discard first
	* sysdeps/libm-ieee754/w_powf.c: Likewise.
	* sysdeps/libm-ieee754/w_powl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
	* nss/nss_files/files-hosts.c: Likewise.
	Based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
	* nis/ypclnt.c (__yp_bind): Fix possible buffer overflow.
	* posix/unistd.h: Add prototype for __euidaccess.
	* sysdeps/stub/euidaccess.c: Likewise.
1997-03-17 03:04:18 +00:00
Ulrich Drepper 0d8733c4fc Update.
1997-03-16 18:43  Ulrich Drepper  <drepper@cygnus.com>

	* manual/filesys.texi: Add documentation for scandir and alphasort.

	* math/math.c (fpclassify): Correct stupid typos.

	* math/libm-test.c: New file.  libm test suite by Andreas Jaeger.

	* nss/nss_files/files-hosts.c: Add gethostbyname2 imlementation.

	* posix/Makefile (routines): Add bsd-getpgrp.
	* posix/bsd-getpgrp.c: New file.
	* posix/unistd.h [__FAVOR_BSD]: Define macro getpgrp which maps
	calls to __bsd_getpgrp.

	* sysdeps/generic/getpgrp.c: De-ANSI-declfy.

	* sysdeps/i386/huge_val.h: New file.  ix87 specific infinity values.
	* sysdeps/m68k/huge_val.h: New file.  m68k specific infinity values.
	* sysdeps/generic/huge_val.h: Remove definition of long double
	definition.  Make it the same as the double definition.

	* sysdeps/libm-i387/e_acos.S: Fix bug in FPU stack handling.
	* sysdeps/libm-i387/e_acosf.S: Likewise.
	* sysdeps/libm-i387/e_acosl.S: Likewise.
	* sysdeps/libm-i387/e_asin.S: Likewise.
	* sysdeps/libm-i387/e_asinf.S: Likewise.
	* sysdeps/libm-i387/e_asinl.S: Likewise.
	* sysdeps/libm-i387/e_exp.S: Likewise.
	* sysdeps/libm-i387/e_expf.S: Likewise.
	* sysdeps/libm-i387/e_expl.S: Likewise.
	* sysdeps/libm-i387/e_scalbn.S: Likewise.
	* sysdeps/libm-i387/e_scalbnf.S: Likewise.
	* sysdeps/libm-i387/e_scalbnl.S: Likewise.

	* sysdeps/libm-i387/e_log.S: Optimize branch code.
	* sysdeps/libm-i387/e_logf.S: Likewise.
	* sysdeps/libm-i387/e_logl.S: Likewise.
	* sysdeps/libm-i387/e_log10.S: Likewise.
	* sysdeps/libm-i387/e_log10f.S: Likewise.
	* sysdeps/libm-i387/e_log10l.S: Likewise.

	* sysdeps/libm-i387/e_pow.S: Major rewrite to handle special cases.
	* sysdeps/libm-i387/e_powf.S: Likewise.
	* sysdeps/libm-i387/e_powl.S: Likewise.

	* sysdeps/libm-i387/e_expm1.S: Change return value for -inf
	argument to -1.0.
	* sysdeps/libm-i387/e_expm1f.S: Likewise.
	* sysdeps/libm-i387/e_expm1l.S: Likewise.

	* sysdeps/libm-i387/e_isinfl.c: Return -1 for -inf.

	* sysdeps/libm-i387/e_logbl.S: Correct return value.  Discard first
	stack element after fxtract.

	* sysdeps/libm-ieee754/e_atan2l.c: New file.  `long double'
	implementation for atan2 function.

	* sysdeps/libm-ieee754/k_standard.c: Return NAN for libm not in
	_SVID_ mode when acos, asin, atan2, log, log10 is called with
	argument out of range.
	Add new error case for pow(+0,neg).

	* sysdeps/libm-ieee754/s_fpclassifyf.c: Correct recognition of
	NaN and +-inf.
	* sysdeps/libm-ieee754/s_fpclassifyl.c: Mask out explicit leading
	digit in stupid 80 bit formats.

	* sysdeps/libm-ieee754/s_isinf.c: Rewrite to return -1 for -inf.
	* sysdeps/libm-ieee754/s_isinff.c: Likewise.
	* sysdeps/libm-ieee754/s_isinfl.c: Likewise.

	* sysdeps/libm-ieee754/s_scalbnl.c (huge, tiny): Adapt values for
	long double type.

	* sysdeps/libm-ieee754/w_atan2.c: Do not raise exception expect when
	in SVID mode.
	* sysdeps/libm-ieee754/w_atan2f.c: Likewise.
	* sysdeps/libm-ieee754/w_atan2l.c: Likewise.

	* sysdeps/libm-ieee754/w_pow.c: Distinguish error cases for x is +0
	or -0.

	* sysdeps/posix/isfdtype.c: Add cast to prevent warning.

	* sysdeps/stub/fcntlbits.h: Update copyright.
	* sysdeps/unix/bsd/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/fcntlbits.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/fcntlbits.h: Likewise.
	* sysdeps/unix/common/fcntlbits.h: Likewise.
	* sysdeps/unix/sysv/fcntlbits.h: Likewise.  Define O_FSYNC as alias
	of O_SYNC.  Add BSD compatibility macros FAPPEND, FFSYNC, FNONBLOCK,
	and FNDELAY.
	* sysdeps/unix/sysv/irix4/fcntlbits.h: Likewise.

	* sysdeps/unix/readdir_r.c: Don't copy whole `struct dirent' record,
	only reclen bytes.

	* sysdeps/unix/sysv/linux/fcntlbits.h [__USE_GNU]: Add O_READ, O_WRITE
	and O_NORW.
	* sysdeps/unix/sysv/linux/alpha/fcntlbits.h: Likewise.

	* sysdeps/unix/sysv/linux/init-first.h: Add copyright.

	* sysdeps/unix/sysv/linux/fxstat.c: New file.  Rewrite kernel-level
	struct stat to user-level form.
	* sysdeps/unix/sysv/linux/lxstat: New file.
	* sysdeps/unix/sysv/linux/xstat: New file.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Define struct stat used in
	kernel.
	* sysdeps/unix/sysv/linux/statbuf.h (struct stat): Change definition
	to use prescribed types for elements.
	(_STAT_VER): Change to value 3.
	* sysdeps/unix/sysv/linux/alph/statbuf.h: Likewise.
	* sysdeps/unix/sysv/linux/Dist: Add kernel_stat.h.
	* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.

	* time/Makefile: Correct dependencies for test-tz.

1997-03-16 14:59  Philip Blundell  <phil@london.uk.eu.org>

	* resolv/netdb.h: Add prototypes for gai_strerror and getnameinfo
	(needed for IPv6 basic sockets API).

1997-03-16 15:02  a sun  <asun@zoology.washington.edu>

	* sysdeps/unix/sysv/linux/net/if_ppp.h: Don't use incompatible
	kernel header.
	* sysdeps/unix/sysv/linux/net/ppp_defs.h: Likewise.

1997-03-14 17:15  Ulrich Drepper  <drepper@cygnus.com>

	* db/hash/hash_bigkey.c (__big_delete): Don't call __free_ovflpage
	without testing for last_bfp to be NULL.
	Reported by fabsoft@fabserver1.zarm.uni-bremen.de.

1997-03-13 11:42  Jim Meyering  <meyering@asic.sc.ti.com>

	* time/mktime.c (TIME_T_MIN): Work around a bug in Cray C 5.0.3.0.

1997-03-14 04:00  Kurt Garloff  <garloff@kg1.ping.de>

	* sysdeps/unix/sysv/linux/fcntlbits.h (O_FSYNC): Make alias for O_SYNC.
	(FASYNC): Move to __USE_BSD section.  Create new macro O_ASYNC.

1997-03-14 02:50  Ulrich Drepper  <drepper@cygnus.com>

	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname2_r): New
	functions.  Compare result for correct address type.
	(_nss_nis_gethostbyname_r): Use _nss_nis_gethostbyname2_r.
	Reported by Mirko Streckenbach <mirko@marian.hil.de>.

1997-02-17 01:40  Zlatko Calusic  <zcalusic@srce.hr>

	* time/strptime.c (recursive): Return rp to caller.
	(strptime_internal): First check for long names, then abbreviated
	(month & weekday).

1997-03-10 19:44  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makeconfig: Remove useless definitions of ASFLAGS-%.
	* config.make.in (ASFLAGS-.so): Remove.
	* configure.in: Don't substitute ASFLAGS_SO.
	* sysdeps/sparc/configure.in: Remove file.
	* sysdeps/sparc/Makefile (ASFLAGS-.so): Define.

1997-03-11 17:00  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* time/strptime.c (strptime_internal) [case 'Y']: Always subtract
	1900 from year, regardless of century.

1997-03-12 05:43  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/strtod.c (_tens_in_limb) [BITS_PER_MP_LIMB > 32]: Make
	all numbers unsigned to make buggy gccs happy.
	Patch by Bryan W. Headley <bheadley@interaccess.com>.

	* sysdeps/unix/sysv/linux/netinet/ip.h: Add backward-compatibility
	definitions.  Patch by a sun <asun@zoology.washington.edu>.
	Pretty print header.

	* Makerules (build-shlib): Also create symlink if library is versioned.
	based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
	Remove special rule to libc.so symlink.

1997-03-11 20:16  Andreas Jaeger  <aj@arthur.pfalz.de>

	* manual/math.texi (Domain and Range Errors): Change descriptions
	according to recent changes for ISO C 9X.

1997-03-11 22:39  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/k_standard.c (__kernel_standard): Correct
	return values for acos, asin, and atan2.
	Reported by Andreas Jaeger <aj@arthur.pfalz.de>.

1997-03-10 18:16 Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* ypclnt.c (__yp_bind): Fix possible buffer overflow.

1997-03-10 18:06  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>

	* dirent/alphasort.c (alphasort): Interpret arguments as pointers
	to pointers to directory entries so that alphasort really can be
	used as argument for scandir.

1997-03-09 23:33  Andreas Jaeger  <aj@arthur.pfalz.de>

	* string/strdup.c: Declare memcpy if !(_LIBC || STDC_HEADERS)
	instead of strcpy.

1997-03-10 03:34  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/catgets.c (catopen): Always add NLSPATH to search path for
	catalogs, not only if the envvar NLSPATH is not available.
	Reported by Andries.Brouwer@cwi.nl.

1997-03-10 02:46  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (localtime-file): Don't define using installation
	directory.
	(inst_localtime-file): New variable.
	* time/Makefile (installed-localtime-file): Use inst_localtime-file.
	Reported by Edward Seidl <seidl@janed.com>.

1997-03-10 02:31  H.J. Lu  <hjl@gnu.ai.mit.edu>

	* time/Makefile: Add source files to dependencies for test data.

1997-03-09 22:53  Thorsten Kukuk  <kukuk@weber.uni-paderborn.de>

	* nis/nss_nis/nis-ethers.c: Don't ignore return value of yp_all.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.

1997-03-08 14:37  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* sysdeps/sparc/dl-machine.h (elf_machine_rela): Upgrade to
	versioning;  Added missing R_SPARC_WDISP30 handling.
	(RTLD_START): Implement it.

	* sysdeps/unix/sysv/linux/sparc/brk.c: Fix.

	* sysdeps/unix/sysv/linux/sparc/start.c: Startup code for
	Linux/SPARC.

1997-03-02 18:06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* sysdeps/sparc/dl-machine.h (RTLD_START): Make arg as expected by
	the dynamic linker instead of having a new conditional define.
	Thanks to Richard Henderson for pointing this out.
	* elf/rtld.c: Remove usage of ELF_ADJUST_ARG.

1997-03-20 20:44  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/euidaccess.c: Define as __euidaccess and make
	euidaccess weak alias.

1997-03-07 10:30  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* stdio-common/printf_fphex.c (MIN): New macro.

	* sysdeps/generic/netinet/in.h: Include <sys/types.h>.

	* sysdeps/generic/sys/mman.h (msync): Mention third arg.

	* sysdeps/generic/netinet/in.h: Add definitions for IPv6 basic
	API.  (See change by Philip Blundell on Feb 16, 1997.)

1997-03-05 10:40  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* hurd/hurd.h (vpprintf): Include <stdarg.h>.  New declaration.

	* hurd/set-host.c (_hurd_set_host_config): Cast second arg to
	__file_name_split.

	* mach/mach_error.c (mach_error_string_int): Give full prototype.
	* mach/errstring.c (mach_error_string_int): Likewise.
	* mach/error_compat.c (__mach_error_map_compat): Likewise.
	* hurd/vpprintf.c (pwrite, vpprintf): Likewise.
	* stdio/vasprintf.c (vasprintf): Likewise.

	* mach/mach/mach_traps.h: Include <mach/kern_return.h>.

	* mach/spin-solid.c: Include <mach/mach_traps.h>.
	* mach/spin-solid.c (__spin_lock_solid): Provide arg to
	swtch_pri.

	* mach/mach_init.c: Include <mach/mig_support.h>.

	* mach/mach_error.h (mach_error_string, mach_error,
	mach_error_type): Always provide prototypes.

	* mach/mach/error.h (mach_error_fn_t): Comment out declaration; it
	appears to be entirely unused dead code.

	* stdio/stdio.h (freopen): Fix spelling error.

1997-03-02 13:38  Miles Bader  <miles@gnu.ai.mit.edu>

	* string/argz.h (__need_error_t): New macro, before including <errno.h>
	[!__const] (__const): New macro.
	[!__error_t_defined] (error_t): New typedef.

	* sysdeps/generic/socketbits.h: Add PF_FILE as synonym for PF_LOCAL
	* sysdeps/unix/sysv/linux/socketbits.h: Likewise.
1997-03-16 20:28:07 +00:00
Ulrich Drepper 1ed4222e57 Update.
* sysdeps/wordsize-32/inttypes.h: New file.
	* sysdeps/wordsize-64/inttypes.h: New file.
1997-03-09 06:23:06 +00:00
Ulrich Drepper f166d86530 Update.
1997-03-09 06:59  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Add ASFLAGS-% flags for SPARC assembler which need
	-fPIC.
	* Makerules (compile.S): Use ASFLAGS-%.
	(COMPILE.S): Likewise.
	* config.make.in (ASFLAGS-.so): Define from ASFLAGS_SO.
	* configure.in: Substitute ASFLAGS_SO.
	* sysdeps/sparc/configure.in: New file.

	* posix/unitstd.h: Add prototype for __euidaccess.
	* sysdeps/posix/euidaccess.c: Define as __euidaccess and make
	euidaccess weak alias.
	* sysdeps/stubs/euidaccess.c: Likewise.
	* inet/rcmd.c: Use __ protected versions of non-standard functions.

	* locale/setlocale.c (setlocale): Don't set usage_count to
	MAX_USAGE_COUNT if it already has this value.

	* locale/programs/localedef.c: Don't use LOCALE_PATH to find
	binary locale files.  Use LOCALEDIR only.
	* locale/programs/locfile.c: When named file not found and not
	absolute use path in I18NPATH.

	* stdlib/Makefile (headers): Add inttypes.h.

	* sysdpes/generic/socketbits.h: Add PF_FILE as synonym for PF_LOCAL
	and AF_FILE as synonym for AF_LOCAL.
	* sysdpes/unix/sysv/linux/socketbits.h: Likewise.

	* time/Makefile: Rewrite rules for test to handle parallel builds.

1997-03-09 05:26  Ulrich Drepper  <drepper@cygnus.com>

	* manual/startup.texi (EXIT_FAILURE): Fix typo.  Patch by
	robbe@orcus.priv.at.

1997-03-09 05:10  Edward Seidl  <seidl@janed.com>

	* sysdeps/i386/elf/start.S (nofini): *Really* align stack to
	8-byte boundary.

1997-03-09 01:48  Ulrich Drepper  <drepper@cygnus.com>

	* elf/link.h: Define __need_NULL to get definition.  Include
	<features.h>.
	Patch by Andreas Jaeger  <aj@arthur.pfalz.de>.

1997-03-08 21:48  Thorsten Kukuk  <kukuk@tk.uni-paderborn.de>

	Rewrite NIS code to allow empty keys.
	* nis/nss_nis/nis-ethers.c: Rewritten.
	* nis/nss_nis/nis-proto.c: Rewritten.
	* nis/nss_nis/nis-publickey.c: Rewritten.
	* nis/nss_nis/nis-rpc.c: Rewritten.
	* nis/nss_nis/nis-service.c: Rewritten.

1997-03-08 16:02  Andreas Jaeger  <aj@arthur.pfalz.de>

	* time/scheck.c (scheck): Add extra const to second argument.

	* time/private.h: Correct prototypes to match definition.

1997-03-08 18:55  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/alpha/__math.h: Remove cabs inline definition.
	Reported by Philip Blundell <pjb27@cam.ac.uk>.

	Reported by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
	Bug report by Andreas Jaeger <jaeger@informatik.uni-kl.de>.
1997-03-09 06:16:49 +00:00
Ulrich Drepper 4cca6b868f Update.
1997-03-08 05:30  Ulrich Drepper  <drepper@cygnus.com>

	* argp/Makefile (routines): Add argp-eexst.
	* argp/argp-ba.c (argp_program_bug_address): Make `const'.
	* argp/argp-eexst.c: New file.  Define exit status variable.
	* argp/argp-help.c (__argp_state_help): Use argp_err_exit_status
	variable instead of always exiting with value 1.
	* argp/argp-pv.c (argp_program_version): Make `const'.
	* argp/argp.h: Declare argp_err_exit_status.
	Patches by Miles Bader <miles@gnu.ai.mit.edu>.

	* locale/programs/localedef.c: Use argp_err_exit_status to
	terminate with correct value.

	* inet/rcmd.c (iruserok): Use euidaccess instead of half-hearted
	switching of UID before opening .rhosts.

	* libio/vsnprintf.c: Change implementation to follow ISO C 9X
	proposal.  The return value now is always the number of characters
	which would be written if enough space is available.
	* manual/stdio.texi: Update description for new behaviour.

	* locale/locale.h (__locale_t): Don't use __locale_t for struct
	name and pointer to struct since old gccs cannot keep the namespaces
	apart.  Rename struct to __locale_struct.
	* locale/duplocale.h: Likewise.
	* locale/newlocale.h: Likewise.

	* math/Makefile (headers): Add complex.h and cmathcalls.h.
	(routines): Remove w_cabs.  Add conj, cimag, creal, and cabs.
	* math/math.h: Undefine __MATHDECL_1, __MATHDECL, and __MATHCALL
	after use.
	(signgam): Move declaration to here from mathcalls.h.
	* math/mathcalls.h (cabs, __cabs_complex, signgam): Remove definition.
	Correct comment for fmin and fmax.
	Start implementing complex math function from ISO C 9X.
	* math/complex.h: New file.
	* math/cmathcalls.h: New file.
	* math/cabs.c: New file.
	* math/cabsf.c: New file.
	* math/cabsl.c: New file.
	* math/cimag.c: New file.
	* math/cimagf.c: New file.
	* math/cimagl.c: New file.
	* math/conj.c: New file.
	* math/conjf.c: New file.
	* math/conjl.c: New file.
	* math/creal.c: New file.
	* math/crealf.c: New file.
	* math/creall.c: New file.
	* sysdeps/libm-ieee754/w_cabs.c: Removed.
	* sysdeps/libm-ieee754/w_cabsf.c: Removed.
	* sysdeps/libm-ieee754/w_cabsl.c: Removed.

	* posix/regex.c: Merge with regex sources from Arnold Robbins'
	version in GNU awk.
	* posix/regex.h: Likewise.

	Add regex test suite by Tom Lord.
	* posix/Makefile (distribute): Add TESTS, TESTS2C.sed, and testcases.h.
	(tests): Add runtests.
	(before-compile): Add testcases.h.
	(testcases.h): New rule to generate header with tests.
	* posix/TESTS: New file.
	* posix/TESTS2C.sed.: New file.
	* posix/runtests.c: New file.
	* posix/testcases.h: New file.

	* sysdeps/unix/sysv/linux/poll.c: Test whether poll syscall is
	available and use fall-back implementation if not.

	* sysdeps/unix/sysv/linux/syscalls.list: Sort entries.

	* time/ialloc.c: Update from tzcode1997c.
	* time/private.h: Likewise.
	* time/scheck.c: Likewise.
	* time/tzselect.ksh: Likewise.
	* time/zdump.c: Likewise.
	* time/zic.c: Likewise.

	* time/tzfile.c: Pretty print.

1997-03-06 07:37  Geoff Keating  <geoffk@ozemail.com.au>

	Port to powerpc-*-linux-gnu.  Slightly tested, under MkLinux,
	on a 601.

	* sysdeps/powerpc/Implies: Added.
	* sysdeps/powerpc/__longjmp.S: Added.
	* sysdeps/powerpc/__math.h: Added.
	* sysdeps/powerpc/bsd-_setjmp.S: Added.
	* sysdeps/powerpc/bsd-setjmp.S: Added.
	* sysdeps/powerpc/dl-machine.h: Added.
	* sysdeps/powerpc/ffs.c: Added.
	* sysdeps/powerpc/fpu_control.h: Added.
	* sysdeps/powerpc/jmp_buf.h: Added.
	* sysdeps/powerpc/setjmp.S: Added.
	* sysdeps/powerpc/strlen.s: Added.
	* sysdeps/powerpc/elf/start.c: Added.
	* sysdeps/powerpc/fpu_control.h: Added.
	* sysdeps/powerpc/jmp_buf.h: Added.

	* sysdeps/unix/sysv/linux/powerpc/Dist: Added.
	* sysdeps/unix/sysv/linux/powerpc/_exit.S: Added.
	* sysdeps/unix/sysv/linux/powerpc/brk.c: Added.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Added.
	* sysdeps/unix/sysv/linux/powerpc/init-first.h: Added.
	* sysdeps/unix/sysv/linux/powerpc/ioctl-types.h: Added.
	* sysdeps/unix/sysv/linux/powerpc/profil.c: Added.
	* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Added.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Added.
	* sysdeps/unix/sysv/linux/powerpc/syscall.S: Added.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Added.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Added.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Added.
	* sysdeps/unix/sysv/linux/powerpc/termbits.h: Added.
	* sysdeps/unix/sysv/linux/powerpc/sys/syscall.h: Added.

1997-03-05 05:24  Geoff Keating  <geoffk@ozemail.com.au>

	* elf/dl-runtime.c (fixup): Add ELF_FIXUP_RETURNS_ADDRESS switch,
	because knowing the first instruction of a PowerPC PLT trampoline
	is not very helpful.

1997-03-04 08:04  Geoff Keating  <geoffk@ozemail.com.au>

	* elf/dl-load.c (ELF_PREFERRED_ADDRESS, ELF_PREFERRED_ADDRESS_DATA,
	ELF_FIXED_ADDRESS): Added. These are for dl-machine.h to indicate
	a preference as to where executables should be loaded.

1997-02-28 08:50  Geoff Keating  <geoffk@ozemail.com.au>

	* elf/elf.h: Add in all those PowerPC reloc types.

1997-02-24 07:12  Geoff Keating  <geoffk@ozemail.com.au>

	* stdio-common/vfscanf.c: Use __va_copy if available.

1997-03-06 13:50  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/malloc.c (mprotect) [_LIBC]: Define as __mprotect to
	clean up namespace.

1997-03-07 14:27  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-ieee754/s_fpclassify.c (__fpclassify): Don't use
	non-existing GET_WORDS macro, use EXTRACT_WORDS.
	Reported by Andres Schwab <schwab@issan.informatik.uni-dortmund.de>.

1997-03-07 05:27  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/i386/sigaction.c: The user- and
	kernel-level sigaction structure is different.  handle this
	correctly.
	Bug report by Andres Jaeger <jaeger@informatik.uni-kl.de>.

1997-03-06 05:55  David Engel  <david@sw.ods.com>

	* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Also
	recognize cache entries with flag == 3.

1997-03-06 01:05  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/netinet/in.h (INADDR_NONE): Cast to unsigned int.
	(INADDR_LOOPBACK): Likewise.
	* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.

	* manual/socket.texi: Correct types of INADDR_* constants from
	unsigned long to unsigned.

1997-03-05 23:14  Ulrich Drepper  <drepper@cygnus.com>

	* time/antarctica: Update from tzdata1997c.
	* time/asia: Likewise.
	* time/zone.tab: Likewise.

1997-03-05 00:43  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in (libc_cv_asm_symver_directive,
	libc_cv_ld_version_script_option): Remove unknown instruction from
	assembler test file.

1997-03-04 19:14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h: Update feature tests to use
	__USE_ISOC9X.
	[__USE_ISOC9X]: Define __log2 and __exp2 inlines.
	(fabs): Remove defininition, it is a gcc builtin.
	(sqrt, __sqrt): Remove definition, they have wrappers in libm.

1997-03-04 10:11  H.J. Lu  <hjl@lucon.org>

	* sunrpc/Makefile ($(objpfx)rpc-proto.c): Create subdir before
	generating file.

1997-03-05 03:59  Ulrich Drepper  <drepper@cygnus.com>

	* inet/rcmd.c (__ivaliduser): Don't use getline, but __getline
	instead to avoid namespace problems.
	Reported by David Mosberger-Tang <davidm@AZStarNet.COM>.

1997-03-03 19:01  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* login/utmp_file.c: Fix previous change.  Make portable by
	checking the _HAVE_UT_* feature macros.

	* libio/fileops.c (_IO_file_finish): Likewise.
1997-03-08 05:28:20 +00:00
Ulrich Drepper f5f52655ce Initial revision
1997-02-15 14:32 15:10 Andreas Jaeger  <aj@arthur.pfalz.de>
	* collate-test.c (main): change prototype definition to prevent
	warning.
1997-02-15 17:46  Ulrich Drepper  <drepper@cygnus.com>
	* locales/de_DE: Include real collation data.  It's similar to the
	en_DK information but the order of small and capital characters is
	exchanged.
	* collate-test.c: New file.  Test suite for strcoll function.
	* de_DE.in: Input file for collation test.
	* da_DK.in: Likewise.
	* xfrm-test.c: New file.  Test suite for strxfrm function.
1996-12-10 02:47  Ulrich Drepper  <drepper@cygnus.com>
	* All charmaps: Fix entries for <quotation-mark>.
1996-10-17 18:57  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile (charmaps): Don't try to install CVS or RCS directory.
	(locales): Likewise.
	Reported by Matthias Urlichs.
1997-03-05 00:35:19 +00:00
Ulrich Drepper 377a515b4c update from main archive 970304
1997-03-04 04:31  Ulrich Drepper  <drepper@cygnus.com>

	* Makerules: Add rules to handle versioning.
	* config.h.in (DO_VERSIONING): New macro.
	* config.make.in (versioning): New variable.
	* configure.in: Add checks for .symver directive in gas and
	--version-script option to ld.  Define DO_VERSIONING and
	versioning if appropriate.

	* math/Makefile (routines): Add s_signbit, s_fpclassify, s_fmax,
	s_fmin, and s_fdim.
	* math/math.h: Define ISO C 9X constants, macros and functions.
	* math/mathcalls.h: Likewise.
	* sysdeps/libm-ieee754/s_fdim.c: New file.
	* sysdeps/libm-ieee754/s_fdimf.c: New file.
	* sysdeps/libm-ieee754/s_fdiml.c: New file.
	* sysdeps/libm-ieee754/s_fmax.c: New file.
	* sysdeps/libm-ieee754/s_fmaxf.c: New file.
	* sysdeps/libm-ieee754/s_fmaxl.c: New file.
	* sysdeps/libm-ieee754/s_fmin.c: New file.
	* sysdeps/libm-ieee754/s_fminf.c: New file.
	* sysdeps/libm-ieee754/s_fminl.c: New file.
	* sysdeps/libm-ieee754/s_fpclassify.c: New file.
	* sysdeps/libm-ieee754/s_fpclassifyf.c: New file.
	* sysdeps/libm-ieee754/s_fpclassifyl.c: New file.
	* sysdeps/libm-ieee754/s_signbit.c: New file.
	* sysdeps/libm-ieee754/s_signbitf.c: New file.
	* sysdeps/libm-ieee754/s_signbitl.c: New file.

	* stdio-common/printf_fphex.c: Correct printing of decimal point
	character.
	Simplify conversion of mantissa to string.
	* stdio-common/vfscanf.c: Handle %A format.
	Optimize termination of floating-point scanning.
	* stdio-common/tstscanf.c (main): Add new test to scanf to test
	scanning float values with given width.
	* stdlib/strtod.c: Add handling of floating-point numbers in
	hexadecimal notation.

	* stdlib/stdlib.h: Use __USE_ISOC9X feature macro for new long long
	functions.
	Pretty print #if directives.
	* string/string.h: Pretty print #if directives.

	* sysdeps/ieee754/dbl2mpn.c: Update copyright.
	* sysdeps/ieee754/ldbl2mpn.c: Likewise.
	* sysdeps/ieee754/mpn2dbl.c: Likewise.
	* sysdeps/ieee754/mpn2flt.c: Likewise.
	* sysdeps/ieee754/mpn2ldbl.c: Likewise.

	* sysdeps/unix/sysv/linux/poll.c: Implement poll function by
	falling back to select-based implementation if syscall isn't
	available.
	* sysdeps/unix/sysv/linux/syscalls.list: Add s_poll.

	* time/leapseconds: Update from tzdata1997b.
	* time/zic.c: Update from tzcode1997b.

1997-03-01 15:08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* time/Makefile $(tzfiles:%=$(objpfx)z.%): Remove unneeded
	depedencies between installed $(tzlinks) and $(tzbases) files.

1997-03-01 14:27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/math.h: Make compatible with traditional preprocessor;
	requires carefull placement of whitespace in macro arguments.
	Use __CONCAT instead of ##.
	Declare long double functions only if __STDC__ or __GNUC__.
	* math/mathcall.h: Avoid whitespace before argument of macro call
	that is used as function name.

	* sysdeps/m68k/fpu/__math.h: Use __CONCAT instead of ##.
	(__m81_u, __m81_inline): Depend on __LIBC_M81_MATH_INLINES instead
	of __NO_M81_MATH_INLINES.
	[!__LIBC_M81_MATH_INLINES]: Don't define internal functions
	starting with __ieee754.
	[!__NO_MATH_INLINES && __OPTIMIZE__]: Define user visible
	functions as inlines.
	(__m81_defun): Put __attribute__ between return type and function
	name.
	* math/math.h: Include <__math.h> also if __LIBC_M81_MATH_INLINES
	is defined.
	* sysdeps/m68k/fpu/e_acos.c: Define __LIBC_M81_MATH_INLINES
	instead of __NO_M81_MATH_INLINES.
	* sysdeps/m68k/fpu/e_fmod.c: Likewise.
	* sysdeps/m68k/fpu/k_cos.c: Likewise.
	* sysdeps/m68k/fpu/k_sin.c: Likewise.
	* sysdeps/m68k/fpu/k_tan.c: Likewise.
	* sysdeps/m68k/fpu/s_atan.c: Likewise. De-ANSI-declify.
	* sysdeps/m68k/fpu/s_frexp.c: Likewise.
	* sysdeps/m68k/fpu/s_ilogb.c: Likewise.
	* sysdeps/m68k/fpu/s_isinf.c: Likewise.
	* sysdeps/m68k/fpu/s_modf.c: Likewise.
	* sysdeps/m68k/fpu/s_scalbn.c: Likewise.

1997-02-27 21:51  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile (tests): Cope with $PATH not including the current
	directory.

1997-02-27 18:04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/Makefile ($(common-objpfx)mk-local_lim): Use
	$(common-objdir-compile).
	($(common-objpfx)make-ioctls): Likewise.
	(mk-local_lim-CFLAGS): Set this instead of local_lim-CFLAGS.
	($(common-objpfx)sys/param.h): Use $(make-target-directory).
	($(addprefix $(common-objpfx),$(sys/param.h-includes))):
	Likewise.
	($(common-objpfx)sys/syscall.h): Likewise.
	($(common-objpfx)local_lim.h): Let make deal with command
	failure.
	($(common-objpfx)param.h.dep): Use temporary file and update
	target atomically.
	($(common-objpfx)errnos): Avoid the Useless Use of cat Award.
	(include $(common-objpfx)param.h.dep): Ignore error.

	* sysdeps/posix/Makefile ($(common-objpfx)mk-stdiolim): Use
	$(common-objdir-compile).
	(mk-stdiolim-CFLAGS): Renamed from cded-objdir-includes, use
	$(shell pwd) instead of $$cwd.

	* sysdeps/generic/Makefile ($(common-objpfx)det_endian): Use
	$(common-objdir-compile).
	($(objpfx)make_siglist): Use $(native-compile).
	(make_siglist-CFLAGS): New variable.

	* Makerules (ALL_BUILD_CFLAGS): Renamed from BUILD_CFLAGS, leaving
	the old name for the user to pass additional flags to the host
	compiler.  Fix reference to config header.
	(native-compile, common-objdir-compile): Rewritten to make more
	generally usable.
	* sysdeps/unix/sysv/sysv4/solaris2/Makefile: Set ALL_BUILD_CFLAGS
	instead of BUILD_CFLAGS.

	* sysvips/sys/ipc.h: Warn if needed feature select macro are not
	defined.

1997-02-27 17:11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/Makefile ($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c):
	New rules to generate dependencies for the RPC service objects.

1997-02-27 16:26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* argp/argp-parse.c (parser_finalize): Always set *END_INDEX if
	supplied.

1997-02-28 03:27  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/strtod.c (STRTOF): Make sure return value is large enough
	so that clearing second word is necessary.

	* sysdeps/unix/sysv/linux/netinet/in_systm.h: Don't use kernel
	header since it is wrong for 64 bit systems.
	Patch by a sun <asun@zoology.washington.edu>.

1997-02-27 10:34:11  Richard Henderson  <rth@tamu.edu>

	* sysdeps/unix/sysv/linux/alpha/brk.S: Support both the Linux/i386
	and OSF/1 style brk syscalls.  We may want to change Linux/Alpha
	for the benefit of running foreign binaries.

1997-03-01 20:21  Miles Bader  <miles@gnu.ai.mit.edu>
1997-02-25 19:42  Miles Bader  <miles@gnu.ai.mit.edu>
1997-03-04 05:53:28 +00:00
Miles Bader d1a2b102df (__need_error_t): New macro, before including <errno.h>. [!__const] (__const): New macro. [!__error_t_defined] (error_t): New typedef. 1997-03-02 18:41:32 +00:00
Miles Bader f6b38b9a39 Sat Mar 1 20:21:31 1997 Miles Bader <miles@gnu.ai.mit.edu>
* login/utmp_file.c (pututline_file): Correctly decide whether
	LAST_ENTRY matches DATA.
	Don't depend on ut_id ever being set.
	(proc_utmp_eq): New function.
	(internal_getut_r): Renamed from internal_getutid_r.
	Use proc_utmp_eq.

	* login/logout.c (logout): Change type of entry to be DEAD_PROCESS.

Tue Feb 25 19:42:50 1997  Miles Bader  <miles@gnu.ai.mit.edu>

	* sysdeps/mach/hurd/fcntlbits.h (O_NORW): New macro.
1997-03-02 04:18:21 +00:00
Miles Bader ced858d05f (proc_utmp_eq): New function. (pututline_file): Correctly decide whether LAST_ENTRY matches DATA. Don't depend on ut_id ever being set. (internal_getut_r): Renamed from internal_getutid_r. Use proc_utmp_eq. 1997-03-02 04:15:21 +00:00
1105 changed files with 157134 additions and 18842 deletions
+5 -1
View File
@@ -1,4 +1,4 @@
*.d *.o *.so *.po *.go stamp.* *.stamp *.ustamp *.udeps
*.d *.o *.so *.po *.go *.bo stamp.* *.stamp *.ustamp *.udeps
*.gz *.Z *.tar *.tgz
=*
TODO COPYING* AUTHORS copyr-* copying.*
@@ -14,6 +14,10 @@ gpl2lgpl.sed
distinfo
distinfo
analysis
docs
crypt
linuxthreads
localedata
secure_rpc
+62
View File
@@ -0,0 +1,62 @@
List of known bugs (certainly very incomplete)
----------------------------------------------
Time-stamp: <1997-03-22T04:31:41+0100 drepper>
This following list contains those bugs which I'm aware of. Please
make sure that bugs you report are not listed here. If you can fix one
of these bugs/limitations I'll certainly be glad to receive a patch.
Another source of information about bugs is the problem data base of the
GNU project. There is an easy to use WWW interface is available at
http://pogo.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
I would appreciate it very much if you could verify the problem was not
reported before by looking though the database. To make the information
in this data as useful as possible please report bugs always using the
`glibcbug' shell script which gets installed with GNU libc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Severity: [ *] to [***]
[ **] For GNU libc on Linux, there is still no solution for the UTMP
problem.
[Among others: PR libc/39]
[ **] There are problems with signal handling when using LinuxThreads.
[ **] The `cbrtl' function is inaccurate. The algorithm used for `double'
and `float' is not usable for `long double'.
[ **] Not really a bug, but it could lead to such:
The RPC code is ugly ugly ugly. It's more or less verbatim taken
from Sun's code and therefore mostly lacks complete prototypes and
(more important) the use of `const'. It *definitely* needs to be
cleaned.
[ *] The precision of the `sinhl' and/or `asinhl' function do not seem
to be the best.
[ *] The syslog function should print to the console if the LOG_CONS
flag was given.
[PR libc/72]
[ *] On Linux, the <linux/posix_types.h> is not clean enough to satisfy
the C++ namespace rules. Declaring `struct fd_set' also makes
`fd_set' available in the global namespace which conflicts with
the definition of `fd_set' in glibc.
[PR libc/79]
[ *] On Linux, there should be a way to prevent defining the symbol
NGROUPS_MAX in the <linux/limits.h> header file. In glibc it
is defined in <posix1_lim.h> which must not make the other
symbols in <linux/limits.h> available.
[PR libc/140]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ulrich Drepper
drepper@cygnus.com
+2913 -9
View File
File diff suppressed because it is too large Load Diff
+75 -5
View File
@@ -77,6 +77,16 @@ please let me know.
[Q21] ``On Linux I've got problems with the declarations in Linux
kernel headers.''
[Q22] ``When I try to compile code which uses IPv6 header and
definitions on my Linux 2.x.y system I am in trouble.
Nothing seems to work.''
[Q23] ``When compiling GNU libc I get lots of errors saying functions
in glibc are duplicated in libgcc.''
[Q24] ``I have set up /etc/nis.conf, and the Linux libc 5 with NYS
works great. But the glibc NIS+ doesn't seem to work.''
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q1] ``What systems does the GNU C Library run on?''
@@ -550,7 +560,8 @@ by
in the above example specs file to make it work for other systems.
Future versions of GCC will automatically provide the correct specs.
Version 2.7.2.2 does and future versions of GCC will automatically
provide the correct specs.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
@@ -597,10 +608,22 @@ invalid. I.e., an emulated FPU is for the libc as good as a real one.
[Q20] ``How can I compile gcc 2.7.2.1 from the gcc source code using
glibc 2.x?
[A20] {HJL} There is no support in gcc for glibc 2.0 before gcc 2.8. It
is very tricky to compile gcc 2.7.2.1 using glibc 2.x. You have to
build it manually or with one pass only. You also have to use the
specs file in this FAQ while compiling gcc.
[A20] {AJ} There's only support for glibc 2.0 in gcc 2.7.2.2 or later.
For 2.7.2.2 you should use the following patch and configure for
e.g. i486-linux.
-----------------------------------------------------------------------
--- configure Tue Feb 11 15:57:17 1997
+++ configure Wed Feb 12 23:09:29 1997
@@ -1021,7 +1021,7 @@
gnu_ld=yes
# GNU libc version 2 does not supply these;
# we want them from GCC.
- extra_parts="crtbegin.o crtend.o"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
i[3456]86-go32-msdos | i[3456]86-*-go32)
cpu_type=i386
-----------------------------------------------------------------------
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
@@ -623,6 +646,52 @@ glibc has defined a replacement. Otherwise you might get undefined
results because of type conflicts.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q22] ``When I try to compile code which uses IPv6 header and
definitions on my Linux 2.x.y system I am in trouble.
Nothing seems to work.''
[A22] {UD} The problem is that the IPv6 development still has not reached
a point where it is stable. There are still lots of incompatible changes
made and the libc headers have to follow.
Currently (as of 970401) according to Philip Blundell <pjb27@cam.ac.uk>
the required kernel version is 2.1.30.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q23] ``When compiling GNU libc I get lots of errors saying functions
in glibc are duplicated in libgcc.''
[A23] {EY} This is *exactly* the same problem that I was having. The
problem was due to the fact that the autoconfigure didn't correctly
detect that linker flag --no-whole-archive was supported in my linker.
In my case it was because I had run ./configure with bogus CFLAGS, and
the test failed.
One thing that is particularly annoying about this problem is that
once this is misdetected, running configure again won't fix it unless
you first delete config.cache.
{UD} Starting with glibc-2.0.3 there should be a better test to avoid
some problems of this kind. The setting of CFLAGS is checked at the
very beginning and if it is not usable `configure' will bark.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q24] ``I have set up /etc/nis.conf, and the Linux libc 5 with NYS
works great. But the glibc NIS+ doesn't seem to work.''
[A24] The glibc NIS+ implementation uses a /var/nis/NIS_COLD_START
file for storing information about the NIS+ server and their
public keys, because the nis.conf file do not contain all
necessary information. You have to copy a NIS_COLD_START file
from a Solaris client (the NIS_COLD_START file is byte order
independend) or generate it new with nisinit from the nis-tools
(look at http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html).
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Answers were given by:
@@ -631,6 +700,7 @@ Answers were given by:
{RM} Roland McGrath, <roland@gnu.ai.mit.edu>
{HJL} H.J. Lu, <hjl@gnu.ai.mit.edu>
{AJ} Andreas Jaeger, <aj@arthur.pfalz.de>
{EY} Eric Youngdale, <eric@andante.jic.com>
Local Variables:
mode:text
+25 -5
View File
@@ -76,6 +76,23 @@ you run `configure':
static library is compiled with no optimization and full debugging
information, and installed as `-lc_g'.
`--enable-bounded'
`--disable-bounded'
Enable or disable building of the C library with support for bounded
pointers. To do this one need the enhanced version of the GNU CC
with can generate code for bounded pointers. This version of the
C library is necessary to run code which is also compiled using the
enhanced gcc for debugging purposes.
There are two more options:
`--with-gmp'
`--with-gettext'
These options are not of much use for the normal installer of the
GNU libc. Only maintainers need this to get automatic updates of
the files from these packages in the GNU C library source tree.
The simplest way to run `configure' is to do it in the directory
that contains the library sources. This prepares to build the library
in that very directory.
@@ -182,6 +199,9 @@ following patterns:
iX86-ANYTHING-gnu
iX86-ANYTHING-linux
m68k-ANYTHING-linux
mips-ANYTHING-linux
sparc-ANYTHING-linux
powerpc-ANYTHING-linux
Former versions of this library used to support the following
configurations but the current status is unknown:
@@ -208,7 +228,7 @@ configurations but the current status is unknown:
sparc-sun-solaris2.N
sparc-sun-sunos4.N
Each case of `iX86' can be `i386', `i486', `i586', or `i686'.. All
Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All
of those configurations produce a library that can run on any of these
processors. The library will be optimized for the specified processor,
but will not use instructions not available on all of them.
@@ -652,10 +672,10 @@ level of the `sysdeps' hierarchy. This directory contains
subdirectories (and subdirectory trees) for various Unix variants.
The functions which are system calls in most Unix systems are
implemented in assembly code in files in `sysdeps/unix'. These files
are named with a suffix of `.S'; for example, `__open.S'. Files ending
in `.S' are run through the C preprocessor before being fed to the
assembler.
automatically generated from the `syscalls.list' files for the appropriate
archirecture. The format of the syscalls.list files is quite easy: only
a few informations are necessary line the system call name, the number of
arguments and such. The files are run through the C preprocessor.
These files all use a set of macros that should be defined in
`sysdep.h'. The `sysdep.h' file in `sysdeps/unix' partially defines
+9 -9
View File
@@ -118,8 +118,8 @@ foo:=$(shell echo '+out=$(+out)' >&2; echo foofoo >&2)
$(+sysdeps)
foo:=$(shell echo 'made +tsrcs=$(+tsrcs)'>&2)
foo:=$(shell echo generated='$(generated)' >&2)
generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
foo:=$(shell echo now generated='$(generated)' >&2)
#generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
#foo:=$(shell echo now generated='$(generated)' >&2)
+tsrcs := $(sort $(filter-out $(generated),$(+tsrcs)))
foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2)
foo:=$(shell echo foobie, dammit! >&2)
@@ -142,10 +142,10 @@ ifdef subdir
foo:=$(shell echo subdir foo >&2)
+tsrcs := Makefile $(+tsrcs) \
$(addsuffix .c,$(others) $(tests)) \
$(wildcard $(addsuffix .input,$(tests)) \
$(addsuffix .args,$(tests)))
+tsrcs := Makefile $(+tsrcs) \
$(addsuffix .c,$(others) $(tests) $(test-srcs)) \
$(wildcard $(addsuffix .input,$(tests) $(test-srcs)) \
$(addsuffix .args,$(tests) $(test-srcs)))
+tardeps := $(strip $(+tsrcs))
verbose = v
@@ -195,9 +195,9 @@ dist.tar: README $(tardir) $(+tsrcs)
$(tardir).tar: dist.tar subdir_dist
@echo Files listed here have names exceeding 14 chars.
tar xfv $< -C /tmp | sed -n '/[^/]\{15,\}/p'
tar covf $@ -C /tmp $(tardir)
-rm -fr /tmp/$(tardir) dist.tar &
tar xfv $< -C $${TMPDIR-/tmp} | sed -n '/[^/]\{15,\}/p'
tar covf $@ -C $${TMPDIR-/tmp} $(tardir)
-rm -fr $${TMPDIR-/tmp}/$(tardir) dist.tar &
%.Z: %
compress -c $< > $@
+2 -2
View File
@@ -87,8 +87,8 @@ sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c))
# Files that are found in the current directory cannot occur in
# sysdep directories, so don't bother searching them.
sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources))
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
$(others:=.c) $(tests:=.c))) \
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
$(others:=.c) $(tests:=.c) $(test-srcs:=.c))) \
$(foreach dir,$(all-dirs),\
$(wildcard \
$(addprefix $(dir)/,\
+33 -12
View File
@@ -23,6 +23,8 @@ ifneq (,)
This makefile requires GNU Make.
endif
all: # Make this the default goal
ifneq "$(origin +included-Makeconfig)" "file"
+included-Makeconfig := yes
@@ -239,7 +241,8 @@ endif
# other than there, so the zoneinfo directory contains only universal data,
# localizing the configuration data elsewhere.
ifndef localtime-file
localtime-file = $(inst_sysconfdir)/localtime
localtime-file = $(sysconfdir)/localtime
inst_localtime-file = $(install_root)$(localtime-file)
endif
# What to use for leap second specifications in compiling the default
@@ -315,14 +318,29 @@ ifndef asm-CPPFLAGS
asm-CPPFLAGS =
endif
# Installed name of the startup code.
ifneq ($(elf),yes)
# When not using ELF, there is just one startfile, called crt0.o.
start-installed-name = crt0.o
else
# In the ELF universe, crt0.o is called crt1.o, and there are
# some additional bizarre files.
start-installed-name = crt1.o
have-initfini = yes
endif
# Command for linking programs with the C library.
ifndef +link
+link = $(CC) -nostdlib -nostartfiles -o $@ \
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) \
$(filter-out $(addprefix $(csu-objpfx),start.o) $(+preinit) \
$(link-extra-libs) $(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs) $(link-libc) $(+postinit)
$(addprefix $(csu-objpfx),$(start-installed-name)) \
$(+preinit) $(+prector) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(link-extra-libs) \
$(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs) $(link-libc) $(+postctor) $(+postinit)
endif
ifndef config-LDFLAGS
ifeq (yes,$(build-shared))
@@ -346,7 +364,8 @@ else
default-rpath = $(libdir)
endif
# This is how to find at build-time things that will be installed there.
rpath-link = $(common-objdir):$(elfobjdir):$(nssobjdir)
rpath-link = $(common-objdir):$(mathobjdir):$(elfobjdir):$(nssobjdir)
mathobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)math)
elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
else
@@ -355,7 +374,13 @@ endif
endif
ifndef link-extra-libs
ifeq (yes,$(build-shared))
ifneq ($(common-objpfx),$(objpfx))
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),\
$(wildcard $(common-objpfx)$(lib).so$($(notdir $(lib)).so-version) \
$(objpfx)$(lib).so$($(notdir $(lib)).so-version)))
else
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).so$($(notdir $(lib)).so-version))
endif
else
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).a)
endif
@@ -366,6 +391,8 @@ endif
ifeq ($(elf),yes)
+preinit = $(addprefix $(csu-objpfx),crti.o)
+postinit = $(addprefix $(csu-objpfx),crtn.o)
+prector = `$(CC) --print-file-name=crtbegin.o`
+postctor = `$(CC) --print-file-name=crtend.o`
endif
csu-objpfx = $(common-objpfx)csu/
elf-objpfx = $(common-objpfx)elf/
@@ -524,12 +551,6 @@ endif
ifndef BUILD_CC
BUILD_CC = $(CC)
endif
ifneq ($(BUILD_CC),$(CC))
cross-compiling := yes
else
cross-compiling := no
endif
# Figure out the version numbers from version.h.
+11 -3
View File
@@ -131,6 +131,9 @@ ifeq (yes,$(build-shared))
lib: $(common-objpfx)libc.so
endif
# We have a versioning file for libc.so.
#libc-map = libc.map
all-Subdirs-files = $(wildcard $(addsuffix /Subdirs, $(config-sysdirs)))
$(objpfx)sysd-dirs: $(+sysdir_pfx)config.make $(all-Subdirs-files)
(echo define sysdep-subdirs; \
@@ -277,16 +280,19 @@ parent_echo-distinfo:
$(addprefix +nodist+,$(generated))
.PHONY: parent-tests
tests: parent-tests
# Run a test on the header files we use.
tests: $(objpfx)isomac
$(objpfx)isomac $(CC) '$(+sysdep-includes)' >$(common-objpfx)isomac.out
parent-tests: $(objpfx)isomac
$(dir $<)$(notdir $<) '$(CC)' '$(+sysdep-includes)' > $<.out
$(objpfx)isomac: isomac.c
$(native-compile)
# Make the distribution tarfile.
distribute := README INSTALL FAQ NOTES NEWS PROJECTS \
distribute := README INSTALL FAQ NOTES NEWS PROJECTS BUGS \
COPYING.LIB COPYING ChangeLog ChangeLog.[0-9] \
Makefile Makeconfig Makerules Rules Make-dist MakeTAGS \
extra-lib.mk o-iterator.mk isomac.c \
@@ -309,6 +315,8 @@ makeinfo --no-validate --no-warn --no-headers $< -o $@
endef
INSTALL: manual/maint.texi; $(format-me)
NOTES: manual/creature.texi; $(format-me)
manual/dir-add.texi:
$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
rpm/%: subdir_distinfo
$(MAKE) $(PARALLELMFLAGS) -C $(@D) subdirs='$(subdirs)' $(@F)
+26 -17
View File
@@ -294,8 +294,10 @@ endif
# GCC can grok options after the file name, and it looks nicer that way.
compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
compile.S = $(CC) $< -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS)
COMPILE.S = $(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS)
compile.S = \
$(CC) $< -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@))
COMPILE.S = \
$(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@))
COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS)
# We need this for the output to go in the right place. It will default to
@@ -338,6 +340,12 @@ else
no-whole-archive =
endif
ifeq ($(versioning),yes)
load-map-file = $($(@F:%.so=%)-map:%=-Wl,--version-script=%)
else
load-map-file =
endif
interp-obj = $(common-objpfx)interp.so
$(interp-obj): $(common-objpfx)%.so: $(..)%.c
$(compile-command.c)
@@ -349,12 +357,14 @@ $(patsubst %,$(objpfx)%.so,$(extra-libs)): $(interp-obj)
define build-shlib
$(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
-B$(csu-objpfx) \
-B$(csu-objpfx) $(load-map-file) \
-Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive $^ $(no-whole-archive) \
$(LDLIBS-$(@F:lib%.so=%).so)
test -z "$($(@F)-version)" || \
(rm -f $@$($(@F)-version); $(LN_S) $(@F) $@$($(@F)-version))
endef
# Don't try to use -lc when making libc.so itself.
@@ -370,12 +380,6 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.so \
$(common-objpfx)libc_pic.a \
$(elfobjdir)/sofini.so $(elfobjdir)/ld.so
$(build-shlib)
ifdef libc.so-version
$(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
rm -f $@
ln -s $(<F) $@ || ln $< $@
endif
endif
# Some files must not be compiled with the exception handler mechanism
@@ -809,19 +813,23 @@ install: install-no-libc.a-nosubdir
# Command to compile $< in $(objdir) using the native libraries.
define native-compile
cwd=`pwd`; cd $(@D); $(BUILD_CC) $(BUILD_CFLAGS) \
$(addprefix $$cwd/,$^) -o $(@F)
$(make-target-directory)
$(patsubst %/,cd %;,$(objpfx)) \
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
endef
# Command to compile $< in $(common-objdir) using the native libraries.
# We must cd to $(objdir) anyway so that $(..)config.h is valid.
define common-objdir-compile
cd $(objpfx).; \
$(BUILD_CC) $(BUILD_CFLAGS) $(<:$(common-objpfx)%=$(..)%) -o $(..)$(@F)
$(patsubst %/,cd %;,$(objpfx)) \
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(..)$(@F)
endef
# We always want to use configuration definitions.
BUILD_CFLAGS = -include $(common-objpfx)config.h
# Note that this is only used for commands running in $(objpfx).
ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(..)config.h
# Support the GNU standard name for this target.
.PHONY: check
@@ -849,9 +857,10 @@ mostlyclean: common-mostlyclean
# Remove the object files.
common-mostlyclean:
-rm -f $(addprefix $(objpfx),$(tests) $(others) \
$(addsuffix .o,$(tests) $(others)) \
$(addsuffix .out,$(tests)))
-rm -f $(addprefix $(objpfx),$(tests) $(test-srcs) $(others) \
$(addsuffix .o,$(tests) $(test-srcs) \
$(others)) \
$(addsuffix .out,$(tests) $(test-srcs)))
-rm -f $(addprefix $(objpfx),$(extra-objs) $(install-lib))
-rm -f core $(common-objpfx)stub-$(subdir)
$(rmobjs)
+22 -1
View File
@@ -1,4 +1,4 @@
GNU C Library NEWS -- history of user-visible changes. 1997-02-13
GNU C Library NEWS -- history of user-visible changes. 1997-03-18
Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -17,6 +17,25 @@ Version 2.1
* Miles Bader provided the `argp' function family to support hierachical
command line argument parsing, layered on top of getopt.
* strtod accepts new hexadecimal floating-point format from ISO C 9X
* printf has two new specifiers %a and %A to print hexadecimal flaoting-point
numbers
* scanf recognizes the %A format for scanning floating point numbers
* the new header <inttypes.h> from ISO C 9X provides information and
interfaces for the available integer types
* the new header <complex.h> contains definitions of the complex math
functions from ISO C 9X
* Thorsten Kukuk provided an implementation for NIS+, securelevel 0 and 1.
The implementation for securelevel 2 will follow as soon as the Diffie-
Hellman patent expired.
* Andreas Jaeger provided a test suite for the math library
Version 2.0.2
@@ -25,6 +44,8 @@ Version 2.0.2
* add atoll function
* fix complex problems in Berkeley DB code
* fix math functions
Version 2.0.1
+49 -16
View File
@@ -1,6 +1,6 @@
Open jobs for finishing GNU libc:
---------------------------------
Status: January 1997
Status: April 1997
If you have time and talent to take over any of the jobs below please
contact <bug-glibc@prep.ai.mit.edu>
@@ -19,7 +19,16 @@ contact <bug-glibc@prep.ai.mit.edu>
standards if they do not contradict each other.
[ 3] Write translations for the GNU libc message for the so far
[ 3] The IMHO opinion most important task is to write a more complete
test suite. We cannot get too many people working on this. It is
not difficult to write a test, find a definition of the function
which I normally can provide, if necessary, and start writing tests
to test for compliance. Beside this, take a look at the sources
and write tests which in total test as many paths of execution as
possible.
[ 4] Write translations for the GNU libc message for the so far
unsupported languages. GNU libc is fully internationalized and
users can immediately benefit from this.
@@ -28,7 +37,7 @@ contact <bug-glibc@prep.ai.mit.edu>
for the current status (of course better use a mirror of prep).
[ 4] Write wordexp() function; this is described in POSIX.2, the
[ 5] Write wordexp() function; this is described in POSIX.2, the
header <wordexp.h> already exists.
Implementation idea: use some functions from bash.
@@ -36,7 +45,7 @@ contact <bug-glibc@prep.ai.mit.edu>
**** Somebody is working on this. Help may or may not be appreciated.
[ 5] Write `long double' versions of the math functions. This should be
[ 6] Write `long double' versions of the math functions. This should be
done in collaboration with the NetBSD and FreeBSD people.
The libm is in fact fdlibm (not the same as in Linux libc).
@@ -45,7 +54,18 @@ contact <bug-glibc@prep.ai.mit.edu>
the rest.
[ 6] If you enjoy assembler programming (as I do --drepper :-) you might
[ 7] Several math functions have to be written:
- exp2
each with float, double, and long double arguments.
Beside this most of the complex math functions which are new in
ISO C 9X should be improved. Writing some of them in assembler is
useful to exploit the parallelism which often is available.
[ 8] If you enjoy assembler programming (as I do --drepper :-) you might
be interested in writing optimized versions for some functions.
Especially the string handling functions can be optimized a lot.
@@ -60,42 +80,55 @@ contact <bug-glibc@prep.ai.mit.edu>
work.
[ 7] Write nftw() function. Perhaps it might be good to reimplement the
[ 9] Write nftw() function. Perhaps it might be good to reimplement the
ftw() function as well to share most of the code.
**** Almost done!
[ 8] Write AVL-tree based tsearch() et.al. functions. Currently only
a very simple algorithm is used.
There is a public domain version but using this would cause problems
with the assignment.
[ 9] Extend regex and/or rx to work with wide characters and complete
[10] Extend regex and/or rx to work with wide characters and complete
implementation of character class and collation class handling.
It is planed to do a complete rewrite.
[10] Write access function for netmasks, bootparams, and automount
[11] Write access function for netmasks, bootparams, and automount
databases for nss_files and nss_db module.
The functions should be embedded in the nss scheme. This is not
hard and not all services must be supported at once.
[11] Rewrite utmp/wtmp functions to use database functions. This is much
[12] Rewrite utmp/wtmp functions to use database functions. This is much
better than the normal flat file format.
**** There are plans for a new approach to this problem. Please contact
bug-glibc@prep.ai.mit.edu before starting to work.)
[12] Several more or less small functions have to be written:
[13] Several more or less small functions have to be written:
+ tcgetid() and waitid() from XPG4.2
+ grantpt(), ptsname(), unlockpt() from XPG4.2
+ getdate() from XPG4.2
*** Probably underway
+ fmtmsg() from SVID
*** Probably underway
More information are available on request.
[14] We need to write a library for on-the-fly transformation of streams
of text. In fact, this would be a recode-library (you know, GNU recode).
This is needed in several places in the GNU libc and I already have
rather concrete plans but so far no possibility to start this.
[15] Cleaning up the header files. Ideally, each header style should
follow the "good examples". Each variable and function should have
a short description of the function and its parameters. The prototypes
should always contain variable names which can help to identify their
meaning; better than
int foo __P ((int, int, int, int));
Blargh!
+4 -4
View File
@@ -83,19 +83,19 @@ common-generated := $(common-generated) dummy.o dummy.c empty.c empty.o
.PHONY: others tests
others: $(addprefix $(objpfx),$(others) $(extra-objs))
ifeq ($(cross-compiling),yes)
tests: $(addprefix $(objpfx),$(tests))
tests: $(addprefix $(objpfx),$(tests) $(test-srcs))
else
tests: $(tests:%=$(objpfx)%.out)
endif
ifneq "$(strip $(others) $(tests))" ""
$(addprefix $(objpfx),$(others) $(tests)): %: %.o \
ifneq "$(strip $(others) $(tests) $(test-srcs))" ""
$(addprefix $(objpfx),$(others) $(tests) $(test-srcs)): %: %.o \
$(sort $(filter $(common-objpfx)libc%,$(link-libc))) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
$(+link)
endif
ifneq "$(strip $(tests))" ""
ifneq "$(strip $(tests) $(test-srcs))" ""
# These are the implicit rules for making test outputs
# from the test programs and whatever input files are present.
$(objpfx)%.out: %.args $(objpfx)% %.input
+1 -1
View File
@@ -24,7 +24,7 @@ subdir := argp
headers = argp.h
distribute = argp-fmtstream.h argp-namefrob.h
routines = $(addprefix argp-, ba fmtstream fs-xinl help parse pv \
pvh xinl)
pvh xinl eexst)
tests = argp-test
+1 -1
View File
@@ -23,4 +23,4 @@
the ARGP_HELP_BUG_ADDR flag is set (as it is by various standard help
messages), embedded in a sentence that says something like `Report bugs to
ADDR.'. */
char *argp_program_bug_address = 0;
const char *argp_program_bug_address = 0;
+29
View File
@@ -0,0 +1,29 @@
/* Default definition for ARGP_ERR_EXIT_STATUS
Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "argp.h"
/* The exit status that argp will use when exiting due to a parsing error.
If not defined or set by the user program, this defaults to 1. */
error_t argp_err_exit_status = 1;
+4 -4
View File
@@ -157,7 +157,7 @@ __argp_fmtstream_update (argp_fmtstream_t fs)
the end of the buffer. */
nl = fs->p;
}
else if (fs->point_col + (nl - buf) < fs->rmargin)
else if (fs->point_col + (nl - buf) < (ssize_t) fs->rmargin)
{
/* The buffer contains a full line that fits within the maximum
line width. Reset point and scan the next line. */
@@ -309,7 +309,7 @@ __argp_fmtstream_update (argp_fmtstream_t fs)
int
__argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
{
if (fs->end - fs->p < amount)
if ((size_t) (fs->end - fs->p) < amount)
{
ssize_t wrote;
@@ -330,7 +330,7 @@ __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
return 0;
}
if (fs->end - fs->buf < amount)
if ((size_t) (fs->end - fs->buf) < amount)
/* Gotta grow the buffer. */
{
size_t new_size = fs->end - fs->buf + amount;
@@ -354,7 +354,7 @@ __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
ssize_t
__argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...)
{
size_t out;
int out;
size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */
do
+4 -4
View File
@@ -238,7 +238,7 @@ ARGP_FS_EI size_t
__argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin)
{
size_t __old;
if (__fs->p - __fs->buf > __fs->point_offs)
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
__argp_fmtstream_update (__fs);
__old = __fs->lmargin;
__fs->lmargin = __lmargin;
@@ -250,7 +250,7 @@ ARGP_FS_EI size_t
__argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin)
{
size_t __old;
if (__fs->p - __fs->buf > __fs->point_offs)
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
__argp_fmtstream_update (__fs);
__old = __fs->rmargin;
__fs->rmargin = __rmargin;
@@ -262,7 +262,7 @@ ARGP_FS_EI size_t
__argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
{
size_t __old;
if (__fs->p - __fs->buf > __fs->point_offs)
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
__argp_fmtstream_update (__fs);
__old = __fs->wmargin;
__fs->wmargin = __wmargin;
@@ -273,7 +273,7 @@ __argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin)
ARGP_FS_EI size_t
__argp_fmtstream_point (argp_fmtstream_t __fs)
{
if (__fs->p - __fs->buf > __fs->point_offs)
if ((size_t) (__fs->p - __fs->buf) > __fs->point_offs)
__argp_fmtstream_update (__fs);
return __fs->point_col >= 0 ? __fs->point_col : 0;
}
+7 -7
View File
@@ -156,7 +156,7 @@ fill_in_uparams (const struct argp_state *state)
arg++;
SKIPWS (arg);
}
if (unspec)
if (var[0] == 'n' && var[1] == 'o' && var[2] == '-')
{
@@ -878,7 +878,7 @@ arg (const struct argp_option *real, const char *req_fmt, const char *opt_fmt,
/* Helper functions for hol_entry_help. */
/* State used during the execution of hol_help. */
struct hol_help_state
struct hol_help_state
{
/* PREV_ENTRY should contain the previous entry printed, or 0. */
struct hol_entry *prev_entry;
@@ -1086,14 +1086,14 @@ hol_entry_help (struct hol_entry *entry, const struct argp_state *state,
const char *fstr = filter_doc (tstr, real->key, entry->argp, state);
if (fstr && *fstr)
{
unsigned col = __argp_fmtstream_point (stream);
unsigned int col = __argp_fmtstream_point (stream);
__argp_fmtstream_set_lmargin (stream, uparams.opt_doc_col);
__argp_fmtstream_set_wmargin (stream, uparams.opt_doc_col);
if (col > uparams.opt_doc_col + 3)
if (col > (unsigned int) (uparams.opt_doc_col + 3))
__argp_fmtstream_putc (stream, '\n');
else if (col >= uparams.opt_doc_col)
else if (col >= (unsigned int) uparams.opt_doc_col)
__argp_fmtstream_puts (stream, " ");
else
indent_to (stream, uparams.opt_doc_col);
@@ -1600,7 +1600,7 @@ __argp_state_help (const struct argp_state *state, FILE *stream, unsigned flags)
if (!state || ! (state->flags & ARGP_NO_EXIT))
{
if (flags & ARGP_HELP_EXIT_ERR)
exit (1);
exit (argp_err_exit_status);
if (flags & ARGP_HELP_EXIT_OK)
exit (0);
}
@@ -1612,7 +1612,7 @@ weak_alias (__argp_state_help, argp_state_help)
/* If appropriate, print the printf string FMT and following args, preceded
by the program name and `:', to stderr, and followed by a `Try ... --help'
message, then exit (1). */
message, then exit (ARGP_ERR_EXIT_STATUS). */
void
__argp_error (const struct argp_state *state, const char *fmt, ...)
{
+4
View File
@@ -612,6 +612,10 @@ parser_finalize (struct parser *parser,
if (err == EBADKEY)
err = 0; /* Some parser didn't understand. */
/* Tell the user that all arguments are parsed. */
if (end_index)
*end_index = parser->state.next;
}
else if (end_index)
/* Return any remaining arguments to the user. */
+1 -1
View File
@@ -22,4 +22,4 @@
--version is added (unless the ARGP_NO_HELP flag is used), which will
print this this string followed by a newline and exit (unless the
ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */
char *argp_program_version = 0;
const char *argp_program_version = 0;
+6 -2
View File
@@ -240,7 +240,7 @@ struct argp
TEXT is NULL for this key. */
/* Explanatory note emitted when duplicate option arguments have been
suppressed. */
#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005
/* When an argp has a non-zero CHILDREN field, it should point to a vector of
argp_child structures, each of which describes a subsidiary argp. */
@@ -379,7 +379,7 @@ extern error_t __argp_parse __P ((__const struct argp *__argp,
option --version is added (unless the ARGP_NO_HELP flag is used), which
will print this string followed by a newline and exit (unless the
ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */
extern const char *argp_program_version;
extern __const char *argp_program_version;
/* If defined or set by the user program to a non-zero value, then a default
option --version is added (unless the ARGP_NO_HELP flag is used), which
@@ -395,6 +395,10 @@ extern void (*argp_program_version_hook) __P ((FILE *__stream,
standard help messages), embedded in a sentence that says something like
`Report bugs to ADDR.'. */
__const extern char *argp_program_bug_address;
/* The exit status that argp will use when exiting due to a parsing error.
If not defined or set by the user program, this defaults to 1. */
extern error_t argp_err_exit_status;
/* Flags for argp_help. */
#define ARGP_HELP_USAGE 0x01 /* a Usage: message. */
+11 -2
View File
@@ -84,8 +84,17 @@ catopen (const char *cat_name, int flag)
}
nlspath = __secure_getenv ("NLSPATH");
result->nlspath = __strdup (nlspath != NULL && *nlspath != '\0'
? nlspath : NLSPATH);
if (nlspath != NULL && *nlspath != '\0')
{
/* Append the system dependent directory. */
size_t len = strlen (nlspath + 1 + sizeof NLSPATH);
char *tmp = alloca (len);
__stpcpy (__stpcpy (__stpcpy (tmp, nlspath), ":"), NLSPATH);
nlspath = tmp;
}
else
result->nlspath = __strdup (NLSPATH);
if (result->nlspath == NULL)
{
+31 -7
View File
@@ -68,8 +68,26 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-cbm-openbsd${UNAME_RELEASE}
exit 0 ;;
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hkmips:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mips-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
@@ -118,19 +136,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-atari-openbsd${UNAME_RELEASE}
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-sun-openbsd${UNAME_RELEASE}
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-apple-openbsd${UNAME_RELEASE}
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
@@ -378,8 +402,8 @@ EOF
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp3[0-9][05]:OpenBSD:*:*)
echo m68k-hp-openbsd${UNAME_RELEASE}
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+3
View File
@@ -43,6 +43,9 @@
directive. */
#undef HAVE_ASM_POPSECTION_DIRECTIVE
/* Define if versioning of the library is wanted. */
#undef DO_VERSIONING
/*
*/
+3
View File
@@ -26,6 +26,8 @@ defines = @DEFINES@
elf = @elf@
have-initfini = @libc_cv_have_initfini@
versioning = @VERSIONING@
have-no-whole-archive = @libc_cv_ld_no_whole_archive@
have-no-exceptions = @libc_cv_gcc_no_exceptions@
have-bash2 = @libc_cv_have_bash2@
@@ -40,6 +42,7 @@ build-omitfp = @omitfp@
build-bounded = @bounded@
stdio = @stdio@
add-ons = @subdirs@
cross-compiling = @cross_compiling@
# Build tools.
CC = @CC@
Vendored
+299 -85
View File
@@ -776,7 +776,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
gnu_ld=yes gnu_as=yes ;;
esac
case "$host_os" in
linux*ecoff*)
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
gnu* | linux* | sysv4* | solaris2*)
# These systems (almost) always use the ELF format.
@@ -793,6 +794,7 @@ os=$config_os
case "$machine" in
a29k | am29000) base_machine=a29k machine=a29k ;;
alpha*) base_machine=alpha machine=alpha/$machine ;;
arm*) base_machine=arm machine=arm/$machine ;;
hppa*) base_machine=hppa machine=hppa/$machine ;;
i[3456]86) base_machine=i386 machine=i386/$machine ;;
m680?0) base_machine=m68k machine=m68k/$machine ;;
@@ -810,7 +812,7 @@ esac
# This can take a while to compute.
sysdep_dir=$srcdir/sysdeps
echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
echo "configure:814: checking sysdep dirs" >&5
echo "configure:816: checking sysdep dirs" >&5
# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
@@ -1011,7 +1013,7 @@ echo "$ac_t""sysdeps/generic sysdeps/stub" 1>&6
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:1015: checking for a BSD compatible install" >&5
echo "configure:1017: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1065,7 +1067,7 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
INSTALL='$(..)./install-sh -c'
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
echo "configure:1069: checking whether ln -s works" >&5
echo "configure:1071: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1090,7 +1092,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1094: checking for $ac_word" >&5
echo "configure:1096: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1120,8 +1122,178 @@ done
test -n "$MSGFMT" || MSGFMT=":"
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1129: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
CC="$ac_cv_prog_CC"
if test -n "$CC"; then
echo "$ac_t""$CC" 1>&6
else
echo "$ac_t""no" 1>&6
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1158: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
ac_prog_rejected=no
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
break
fi
done
IFS="$ac_save_ifs"
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# -gt 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
set dummy "$ac_dir/$ac_word" "$@"
shift
ac_cv_prog_CC="$@"
fi
fi
fi
fi
CC="$ac_cv_prog_CC"
if test -n "$CC"; then
echo "$ac_t""$CC" 1>&6
else
echo "$ac_t""no" 1>&6
fi
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
echo "configure:1206: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
#line 1216 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
if { (eval echo configure:1220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
ac_cv_prog_cc_cross=no
else
ac_cv_prog_cc_cross=yes
fi
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
ac_cv_prog_cc_works=no
fi
rm -fr conftest*
echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
echo "configure:1240: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
echo "configure:1245: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
fi
fi
echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
GCC=yes
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
echo "configure:1269: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
ac_cv_prog_cc_g=yes
else
ac_cv_prog_cc_g=no
fi
rm -f conftest*
fi
echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
fi
else
GCC=
test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:1125: checking build system type" >&5
echo "configure:1297: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -1139,47 +1311,12 @@ build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$build" 1>&6
if test $host != $build; then
ac_tool_prefix=${host_alias}-
else
ac_tool_prefix=
fi
# 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
for ac_prog in gcc cc
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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1151: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
break
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
fi
fi
CC="$ac_cv_prog_CC"
if test -n "$CC"; then
echo "$ac_t""$CC" 1>&6
else
echo "$ac_t""no" 1>&6
fi
if test $host != $build; then
# Extract the first word of "gcc cc", so it can be a program name with args.
set dummy gcc cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1183: checking for $ac_word" >&5
echo "configure:1320: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1190,7 +1327,7 @@ else
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_BUILD_CC=""
ac_cv_prog_BUILD_CC="$ac_prog"
break
fi
done
@@ -1204,9 +1341,13 @@ else
echo "$ac_t""no" 1>&6
fi
test -n "$BUILD_CC" && break
done
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
echo "configure:1210: checking how to run the C preprocessor" >&5
echo "configure:1351: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1221,13 +1362,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 1225 "configure"
#line 1366 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1231: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1238,13 +1379,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 1242 "configure"
#line 1383 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1266,10 +1407,16 @@ else
fi
echo "$ac_t""$CPP" 1>&6
if test $host != $build; then
ac_tool_prefix=${host_alias}-
else
ac_tool_prefix=
fi
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1273: checking for $ac_word" >&5
echo "configure:1420: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1300,7 +1447,7 @@ fi
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1304: checking for $ac_word" >&5
echo "configure:1451: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1331,7 +1478,7 @@ if test -n "$ac_tool_prefix"; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1335: checking for $ac_word" >&5
echo "configure:1482: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1366,7 +1513,7 @@ fi
# Extract the first word of "bash", so it can be a program name with args.
set dummy bash; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1370: checking for $ac_word" >&5
echo "configure:1517: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1407,7 +1554,7 @@ if test "$BASH" = no; then
# Extract the first word of "ksh", so it can be a program name with args.
set dummy ksh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1411: checking for $ac_word" >&5
echo "configure:1558: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1449,7 +1596,7 @@ fi
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
echo "configure:1453: checking for signed size_t type" >&5
echo "configure:1600: checking for signed size_t type" >&5
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1473,12 +1620,12 @@ EOF
fi
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
echo "configure:1477: checking for libc-friendly stddef.h" >&5
echo "configure:1624: checking for libc-friendly stddef.h" >&5
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1482 "configure"
#line 1629 "configure"
#include "confdefs.h"
#define __need_size_t
#define __need_wchar_t
@@ -1493,7 +1640,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort ();
; return 0; }
EOF
if { (eval echo configure:1497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_friendly_stddef=yes
else
@@ -1512,7 +1659,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
fi
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
echo "configure:1516: checking whether we need to use -P to assemble .S files" >&5
echo "configure:1663: checking whether we need to use -P to assemble .S files" >&5
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1535,7 +1682,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
echo "configure:1539: checking for assembler global-symbol directive" >&5
echo "configure:1686: checking for assembler global-symbol directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1565,7 +1712,7 @@ EOF
fi
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
echo "configure:1569: checking for .set assembler directive" >&5
echo "configure:1716: checking for .set assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1598,9 +1745,74 @@ EOF
fi
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
echo "configure:1750: checking for .symver assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.s <<EOF
.text
_sym:
.symver _sym,sym@VERS
EOF
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&5 2>&5; then
libc_cv_asm_symver_directive=yes
else
libc_cv_asm_symver_directive=no
fi
rm -f conftest*
fi
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
echo "configure:1769: checking for ld --version-script" >&5
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test $libc_cv_asm_symver_directive = yes; then
cat > conftest.s <<EOF
.text
_sym:
.symver _sym,sym@VERS
EOF
cat > conftest.map <<EOF
VERS {
global: sym;
};
EOF
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&5 2>&5; then
if { ac_try='${CC-cc} $CFLAGS --shared -o conftest.so conftest.o
-Wl,--version-script,conftest.map'; { (eval echo configure:1786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
then
libc_cv_ld_version_script_option=yes
else
libc_cv_ld_version_script_option=no
fi
else
libc_cv_ld_version_script_option=no
fi
else
libc_cv_ld_version_script_option=no
fi
rm -f conftest*
fi
echo "$ac_t""$libc_cv_ld_version_script_option" 1>&6
if test $libc_cv_asm_symver_directive = yes &&
test $libc_cv_ld_version_script_option = yes; then
VERSIONING=yes
cat >> confdefs.h <<\EOF
#define DO_VERSIONING 1
EOF
else
VERSIONING=no
fi
if test $elf = yes; then
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
echo "configure:1604: checking for .previous assembler directive" >&5
echo "configure:1816: checking for .previous assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1608,7 +1820,7 @@ else
.section foo_section
.previous
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1612: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_previous_directive=yes
else
libc_cv_asm_previous_directive=no
@@ -1624,7 +1836,7 @@ EOF
else
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
echo "configure:1628: checking for .popsection assembler directive" >&5
echo "configure:1840: checking for .popsection assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1632,7 +1844,7 @@ else
.pushsection foo_section
.popsection
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_popsection_directive=yes
else
libc_cv_asm_popsection_directive=no
@@ -1652,12 +1864,12 @@ fi
if test $elf != yes; then
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
echo "configure:1656: checking for .init and .fini sections" >&5
echo "configure:1868: checking for .init and .fini sections" >&5
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1661 "configure"
#line 1873 "configure"
#include "confdefs.h"
int main() {
@@ -1666,7 +1878,7 @@ asm (".section .init");
asm (".text");
; return 0; }
EOF
if { (eval echo configure:1670: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:1882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_have_initfini=yes
else
@@ -1691,19 +1903,19 @@ if test $elf = yes; then
libc_cv_asm_underscores=no
else
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
echo "configure:1695: checking for _ prefix on C symbol names" >&5
echo "configure:1907: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1700 "configure"
#line 1912 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() {
glibc_foobar ();
; return 0; }
EOF
if { (eval echo configure:1707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:1919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
libc_cv_asm_underscores=yes
else
@@ -1730,7 +1942,7 @@ if test $elf = yes; then
libc_cv_asm_weakext_directive=no
else
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
echo "configure:1734: checking for assembler .weak directive" >&5
echo "configure:1946: checking for assembler .weak directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1753,7 +1965,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
if test $libc_cv_asm_weak_directive = no; then
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
echo "configure:1757: checking for assembler .weakext directive" >&5
echo "configure:1969: checking for assembler .weakext directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1790,7 +2002,7 @@ EOF
fi
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
echo "configure:1794: checking for ld --no-whole-archive" >&5
echo "configure:2006: checking for ld --no-whole-archive" >&5
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1801,7 +2013,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -Wl,--no-whole-archive
-o conftest conftest.c'; { (eval echo configure:1805: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-o conftest conftest.c'; { (eval echo configure:2017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_ld_no_whole_archive=yes
else
libc_cv_ld_no_whole_archive=no
@@ -1812,7 +2024,7 @@ fi
echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
echo "configure:1816: checking for gcc -fno-exceptions" >&5
echo "configure:2028: checking for gcc -fno-exceptions" >&5
if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1823,7 +2035,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -fno-exceptions
-o conftest conftest.c'; { (eval echo configure:1827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-o conftest conftest.c'; { (eval echo configure:2039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_no_exceptions=yes
else
libc_cv_gcc_no_exceptions=no
@@ -1875,7 +2087,7 @@ if test "$uname" = generic; then
fi
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
echo "configure:1879: checking OS release for uname" >&5
echo "configure:2091: checking OS release for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1897,7 +2109,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
uname_release="$libc_cv_uname_release"
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
echo "configure:1901: checking OS version for uname" >&5
echo "configure:2113: checking OS version for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1919,7 +2131,7 @@ else
fi
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
echo "configure:1923: checking stdio selection" >&5
echo "configure:2135: checking stdio selection" >&5
case $stdio in
libio) cat >> confdefs.h <<\EOF
@@ -2004,7 +2216,7 @@ EOF
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
case `(ac_space=' '; set | grep ac_space) 2>&1` in
case `(ac_space=' '; set) 2>&1` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
@@ -2124,13 +2336,14 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@LN_S@%$LN_S%g
s%@MSGFMT@%$MSGFMT%g
s%@CC@%$CC%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
s%@CC@%$CC%g
s%@BUILD_CC@%$BUILD_CC%g
s%@cross_compiling@%$cross_compiling%g
s%@CPP@%$CPP%g
s%@AR@%$AR%g
s%@RANLIB@%$RANLIB%g
@@ -2138,6 +2351,7 @@ s%@BASH@%$BASH%g
s%@libc_cv_have_bash2@%$libc_cv_have_bash2%g
s%@KSH@%$KSH%g
s%@libc_cv_have_ksh@%$libc_cv_have_ksh%g
s%@VERSIONING@%$VERSIONING%g
s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g
s%@libc_cv_ld_no_whole_archive@%$libc_cv_ld_no_whole_archive%g
s%@libc_cv_gcc_no_exceptions@%$libc_cv_gcc_no_exceptions%g
+55 -3
View File
@@ -119,7 +119,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
gnu_ld=yes gnu_as=yes ;;
esac
case "$host_os" in
linux*ecoff*)
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
gnu* | linux* | sysv4* | solaris2*)
# These systems (almost) always use the ELF format.
@@ -138,6 +139,7 @@ changequote(,)dnl
case "$machine" in
a29k | am29000) base_machine=a29k machine=a29k ;;
alpha*) base_machine=alpha machine=alpha/$machine ;;
arm*) base_machine=arm machine=arm/$machine ;;
hppa*) base_machine=hppa machine=hppa/$machine ;;
i[3456]86) base_machine=i386 machine=i386/$machine ;;
m680?0) base_machine=m68k machine=m68k/$machine ;;
@@ -359,10 +361,12 @@ fi
AC_PROG_LN_S
AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
AC_CHECK_TOOL(CC, gcc)
AC_PROG_CC
AC_CANONICAL_BUILD
if test $host != $build; then
AC_CHECK_PROG(BUILD_CC, gcc cc)
AC_CHECK_PROGS(BUILD_CC, gcc cc)
fi
AC_SUBST(cross_compiling)
AC_PROG_CPP
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
@@ -489,6 +493,54 @@ if test $libc_cv_asm_set_directive = yes; then
AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
fi
AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
[cat > conftest.s <<EOF
.text
_sym:
.symver _sym,sym@VERS
EOF
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
libc_cv_asm_symver_directive=yes
else
libc_cv_asm_symver_directive=no
fi
rm -f conftest*])
AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
if test $libc_cv_asm_symver_directive = yes; then
cat > conftest.s <<EOF
.text
_sym:
.symver _sym,sym@VERS
EOF
cat > conftest.map <<EOF
VERS {
global: sym;
};
EOF
if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
if AC_TRY_COMMAND([${CC-cc} $CFLAGS --shared -o conftest.so conftest.o
-Wl,--version-script,conftest.map]);
then
libc_cv_ld_version_script_option=yes
else
libc_cv_ld_version_script_option=no
fi
else
libc_cv_ld_version_script_option=no
fi
else
libc_cv_ld_version_script_option=no
fi
rm -f conftest*])
if test $libc_cv_asm_symver_directive = yes &&
test $libc_cv_ld_version_script_option = yes; then
VERSIONING=yes
AC_DEFINE(DO_VERSIONING)
else
VERSIONING=no
fi
AC_SUBST(VERSIONING)
if test $elf = yes; then
AC_CACHE_CHECK(for .previous assembler directive,
libc_cv_asm_previous_directive, [dnl
+1
View File
@@ -4,3 +4,4 @@
TODO COPYING* AUTHORS copyr-* copying.*
glibc-*
distinfo
specs
+39 -37
View File
@@ -1,6 +1,6 @@
# Makefile for csu code for GNU C library.
# Copyright (C) 1995, 1996 Free Software Foundation, Inc.
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -36,27 +36,14 @@ omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \
$(csu-dummies))
install-lib = $(start-installed-name) g$(start-installed-name) \
$(csu-dummies)
distribute = initfini.c gmon-start.c start.c
distribute = initfini.c gmon-start.c start.c defs.awk abi-note.S abi-tag.h
all: # Make this the default target; it will be defined in Rules.
include ../Makeconfig
ifneq ($(elf),yes)
# When not using ELF, there is just one startfile, called crt0.o.
start-installed-name = crt0.o
else
# In the ELF universe, crt0.o is called crt1.o, and there are
# some additional bizarre files.
start-installed-name = crt1.o
have-initfini = yes
endif
ifeq (yes,$(have-initfini))
ifeq ($(have-initfini),yes)
CPPFLAGS += -DHAVE_INITFINI
@@ -67,45 +54,60 @@ crtstuff = crti crtn
install-lib += $(crtstuff:=.o)
extra-objs += $(crtstuff:=.o)
generated += $(crtstuff:=.s)
generated += $(crtstuff:=.S) initfini.s align.h end.h
omit-deps += $(crtstuff)
# Compile initfini.c to assembly code, which contains embedded shell
# commands that produce crti.s-new and crtn.s-new when run. We need to
# disable emission of .size directives and debugging information, since
# they will get confused by the splitting of the output we do.
$(objpfx)cr%i.s $(objpfx)cr%n.s: initfini.c; $(initfini)
# Special rules for the building of crti.o and crtn.o
$(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h
$(CC) -c -fPIC -g0 -I$(..) -I$(common-objpfx) -DASSEMBLER $< -o $@
define initfini
-rm -f $(objpfx)crtcommon.tmp
(echo 'cat > crtcommon.tmp <<\EOF_common'; \
$(CC) $< $(CPPFLAGS) $(CFLAGS) \
-fPIC -finhibit-size-directive $(no-exceptions) -g0 -S -o -; \
echo 'EOF_common') | (cd $(@D); $(SHELL))
cat $(objpfx)crtcommon.tmp >> $(objpfx)crti.s-new
cat $(objpfx)crtcommon.tmp >> $(objpfx)crtn.s-new
rm -f $(objpfx)crtcommon.tmp
mv -f $(objpfx)crti.s-new $(subst crtn,crti,$@)
mv -f $(objpfx)crtn.s-new $(subst crti,crtn,$@)
endef
$(objpfx)initfini.s: initfini.c
$(CC) $(CPPFLAGS) $(CFLAGS) -g0 -S -fPIC -finhibit-size-directive \
$(no-exceptions) $< -o $@
$(objpfx)crti.S: $(objpfx)initfini.s
sed -n -e '1,/@HEADER_ENDS/p' \
-e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \
-e '/@TRAILER_BEGINS/,$$p' $< > $@
$(objpfx)crtn.S: $(objpfx)initfini.s
sed -n -e '1,/@HEADER_ENDS/p' \
-e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \
-e '/@TRAILER_BEGINS/,$$p' $< > $@
$(objpfx)defs.h: $(objpfx)initfini.s
sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
awk -f defs.awk > $@
endif
include ../Rules
define link-relocatable
$(CC) -nostdlib -nostartfiles -r -o $@ $^
endef
ifndef start-installed-name-rule
ifeq (yes,$(elf))
# We link the ELF startfile along with a SHT_NOTE section indicating
# the the kernel ABI the binaries linked with this library will require.
$(objpfx)$(start-installed-name): $(objpfx)start.o $(objpfx)abi-note.o
$(link-relocatable)
else
# The startfile is installed under different names, so we just call our
# source file `start.c' and copy to the installed name after compiling.
$(objpfx)$(start-installed-name): $(objpfx)start.o
-rm -f $@
rm -f $@
ln $< $@
endif
endif
# The profiling startfile is made by linking together the normal
# startfile with gmon-start.o, which defines a constructor function
# to turn on profiling code at startup.
$(objpfx)g$(start-installed-name): $(objpfx)start.o $(objpfx)gmon-start.o
$(CC) -nostdlib -nostartfiles -r -o $@ $^
$(objpfx)g$(start-installed-name): $(objpfx)$(start-installed-name) \
$(objpfx)gmon-start.o
$(link-relocatable)
# These extra files are sometimes expected by system standard linking
# procedures, but we have nothing for them to do. So compile empty files.
+69
View File
@@ -0,0 +1,69 @@
/* Special .init and .fini section support.
Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
In addition to the permissions in the GNU Library General Public
License, the Free Software Foundation gives you unlimited
permission to link the compiled version of this file with other
programs, and to distribute those programs without any restriction
coming from the use of this file. (The Library General Public
License restrictions do apply in other respects; for example, they
cover modification of the file, and distribution when not linked
into another program.)
The GNU C 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 Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
/* The basic layout of note sections is specified by the ELF format. */
#define ELF_NOTE_BEGIN(sectname, sectflags, type, name) \
.section sectname, sectflags; \
.align ALIGNARG(2); /* Notes are 4-byte aligned. */ \
.long 1f - 0f; /* 32-bit word: length of name field */ \
.long 3f - 2f; /* 32-bit word: length of desc field */ \
.long (type); /* 32-bit word: vendor-defined type field */ \
0: .asciz name; /* null-terminated string, any length: name */\
1: .align ALIGNARG(2); /* Name data padded to 4-byte alignment. */ \
2: /* Here follows the "note descriptor" data, whose format \
is not specified by ELF. The vendor name and type field \
indicate what sort of data is found here. */
#define ELF_NOTE_END \
3: .align ALIGNARG(2) /* Pad to 4-byte align the next note. */
/* The linker (GNU ld 2.8 and later) recognize an allocated section whose
name begins with `.note' and creates a PT_NOTE program header entry
pointing at it.
Such a program header is the canonical way (at least in the free OS
community) to identify the OS environment ABI that the executable was
created for. The ELF note information identifies a particular OS or
coordinated development effort within which the ELF header's e_machine
value plus (for dynamically linked programs) the PT_INTERP dynamic
linker name and DT_NEEDED shared library names fully identify the
runtime environment required by an executable.
The GNU project and cooperating development efforts (including the Linux
community) use a vendor name string of "GNU", and a note type field with
value 1 for a note descriptor that indicates ABI requirements. */
#include <abi-tag.h> /* OS-specific ABI tag value */
ELF_NOTE_BEGIN(".note.ABI-tag", "a", 1, "GNU")
.long ABI_TAG
ELF_NOTE_END
+22
View File
@@ -0,0 +1,22 @@
/.end/ { need_end = 1 }
/.align/ { if($2 > max) max = $2; }
END {
if(need_end)
{
print "#define END_INIT .end _init";
print "#define END_FINI .end _fini";
}
else
{
print "#define END_INIT";
print "#define END_FINI";
}
if(max)
print "#define ALIGN .align", max;
else
print "#define ALIGN";
print "#include <libc-symbols.h>";
print "weak_extern (__gmon_start__)";
}
+47 -79
View File
@@ -1,5 +1,5 @@
/* Special .init and .fini section support.
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it
@@ -26,68 +26,40 @@
write to the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* This file is compiled into assembly code which is then surrounded by the
lines `cat > crtcommon.tmp <<\EOF_common' and `EOF_common' and thus
becomes a shell script which creates three files of assembly code.
/* This file is compiled into assembly code which is then munged by a sed
script into two files: crti.s and crtn.s.
* The first file is crti.s-new; this puts a function prologue at the
beginning of the .init and .fini sections and defines global symbols for
* crti.s puts a function prologue at the beginning of the
.init and .fini sections and defines global symbols for
those addresses, so they can be called as functions.
* The second file is crtn.s-new; this puts the corresponding function
epilogues in the .init and .fini sections.
* The third file is crtcommon.tmp, which is whatever miscellaneous cruft
the compiler generated at the end; it should be appended to both crti.s-new
and crtn.s-new. */
* crtn.s puts the corresponding function epilogues
in the .init and .fini sections. */
#include <stdlib.h>
/* We use embedded asm for .section unconditionally, as this makes it
easier to insert the necessary directives into crtn.S. */
#define SECTION(x) asm (".section \"" x "\"");
#ifdef HAVE_ELF
/* These declarations make the functions go in the right sections when
we define them below. GCC syntax does not allow the attribute
specifications to be in the function definitions themselves. */
void _init (void) __attribute__ ((section (".init")));
void _fini (void) __attribute__ ((section (".fini")));
/* Embed an #include to pull in the alignment and .end directives. */
asm ("\n#include \"defs.h\"");
#define SECTION(x) /* Put nothing extra before the defn. */
/* The initial common code ends here. */
asm ("\n/*@HEADER_ENDS*/");
#else
/* Some non-ELF systems support .init and .fini sections,
but the __attribute__ syntax only works for ELF. */
#define SECTION(x) asm (".section " x);
#endif
/* End the here document containing the initial common code.
Then move the output file crtcommon.tmp to crti.s-new and crtn.s-new. */
asm ("\nEOF_common\n\
rm -f crti.s-new crtn.s-new\n\
mv crtcommon.tmp crti.s-new\n\
cp crti.s-new crtn.s-new");
/* Extract a `.end' if one is produced by the compiler. */
asm ("fgrep .end >/dev/null 2>&1 <<\\EOF.end && need_end=yes");
/* To determine whether we need .end and .align: */
asm ("\n/*@TESTS_BEGIN*/");
void
useless_function (void)
{
return;
}
asm ("\nEOF.end\n");
/* Find out how much alignment is produced by the compiler. */
asm ("align=`awk '$1==\".align\" { if ($2>max) max=$2; } END { print max; }' \
<<\\EOF.align");
void
useless_function2 (void (*foo) (void))
dummy (void (*foo) (void))
{
if (foo)
(*foo) ();
}
asm ("\nEOF.align\n`\n");
asm ("\n/*@TESTS_END*/");
/* Append the .init prologue to crti.s-new. */
asm ("cat >> crti.s-new <<\\EOF.crti.init");
/* The beginning of _init: */
asm ("\n/*@_init_PROLOG_BEGINS*/");
SECTION (".init")
void
@@ -99,38 +71,33 @@ _init (void)
gcrt1.o to reference a symbol which would be defined by some library
module which has a constructor; but then user code's constructors
would come first, and not be profiled. */
extern void __gmon_start__ (void); weak_extern (__gmon_start__)
extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
if (__gmon_start__)
__gmon_start__ ();
/* End the here document containing the .init prologue code.
Then fetch the .section directive just written and append that
to crtn.s-new, followed by the function epilogue. */
asm ("\n\
EOF.crti.init\n\
test -n \"$align\" && echo .align $align >> crti.s-new\n\
test -n \"$need_end\" && echo .end _init >> crti.s-new\n\
fgrep .init crti.s-new >>crtn.s-new\n\
fgrep -v .end >> crtn.s-new <<\\EOF.crtn.init");
asm ("ALIGN");
asm("END_INIT");
/* Now the epilog. */
asm ("\n/*@_init_PROLOG_ENDS*/");
asm ("\n/*@_init_EPILOG_BEGINS*/");
SECTION(".init");
}
asm ("END_INIT");
/* End the here document containing the .init epilogue code.
Then append the .fini prologue to crti.s-new. */
asm ("\nEOF.crtn.init\
\n\
cat >> crti.s-new <<\\EOF.crti.fini");
/* End of the _init epilog, beginning of the _fini prolog. */
asm ("\n/*@_init_EPILOG_ENDS*/");
asm ("\n/*@_fini_PROLOG_BEGINS*/");
SECTION (".fini")
void
_fini (void)
{
/* End the here document containing the .fini prologue code.
Then fetch the .section directive just written and append that
to crtn.s-new, followed by the function epilogue. */
asm ("\nEOF.crti.fini\n\
test -n \"$align\" && echo .align $align >> crti.s-new\n\
test -n \"$need_end\" && echo .end _fini >> crti.s-new\n\
cat > /dev/null <<\\EOF.fini.skip");
/* End of the _fini prolog. */
asm ("ALIGN");
asm ("END_FINI");
asm ("\n/*@_fini_PROLOG_ENDS*/");
{
/* Let GCC know that _fini is not a leaf function by having a dummy
@@ -140,14 +107,15 @@ cat > /dev/null <<\\EOF.fini.skip");
i_am_not_a_leaf ();
}
asm ("\nEOF.fini.skip\
\n\
fgrep .fini crti.s-new >>crtn.s-new\n\
fgrep -v .end >> crtn.s-new <<\\EOF.crtn.fini");
/* Beginning of the _fini epilog. */
asm ("\n/*@_fini_EPILOG_BEGINS*/");
SECTION (".fini");
}
asm ("END_FINI");
/* End the here document containing the .fini epilogue code.
Finally, put the remainder of the generated assembly into crtcommon.tmp. */
asm ("\nEOF.crtn.fini\
\n\
cat > crtcommon.tmp <<\\EOF_common");
/* End of the _fini epilog. Any further generated assembly (e.g. .ident)
is shared between both crt files. */
asm ("\n/*@_fini_EPILOG_ENDS*/");
asm ("\n/*@TRAILER_BEGINS*/");
/* End of file. */
+12
View File
@@ -43,6 +43,18 @@
#include <mpool.h>
#ifdef _LIBC
/* In the GNU C library we must not pollute the namespace because libdb is
needed by libnss_db. */
#define mpool_open __mpool_open
#define mpool_filter __mpool_filter
#define mpool_new __mpool_new
#define mpool_get __mpool_get
#define mpool_put __mpool_put
#define mpool_sync __mpool_sync
#define mpool_close __mpool_close
#endif
#define DEFMINKEYPAGE (2) /* Minimum keys per page */
#define MINCACHE (5) /* Minimum cached pages */
#define MINPSIZE (512) /* Minimum page size */
+1
View File
@@ -224,6 +224,7 @@ typedef struct {
#endif
__BEGIN_DECLS
DB *__dbopen __P((const char *, int, int, DBTYPE, const void *));
DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
#ifdef __DBINTERFACE_PRIVATE
+10
View File
@@ -44,6 +44,12 @@ static char sccsid[] = "@(#)db.c 8.4 (Berkeley) 2/21/94";
#include <db.h>
#ifdef _LIBC
/* In the GNU C library we must not pollute the namespace, because libdb
is needed by libnss_db. */
#define dbopen __dbopen
#endif
DB *
dbopen(fname, flags, mode, type, openinfo)
const char *fname;
@@ -72,6 +78,10 @@ dbopen(fname, flags, mode, type, openinfo)
errno = EINVAL;
return (NULL);
}
#ifdef _LIBC
#undef dbopen
weak_alias (__dbopen, dbopen)
#endif
static int
__dberr __P((void))
+1 -1
View File
@@ -249,7 +249,7 @@ __big_delete(hashp, bufp)
bufp->flags |= BUF_MOD;
if (rbufp)
__free_ovflpage(hashp, rbufp);
if (last_bfp != rbufp)
if (last_bfp && last_bfp != rbufp)
__free_ovflpage(hashp, last_bfp);
hashp->NKEYS--;
+8
View File
@@ -85,13 +85,21 @@ typedef struct MPOOL {
} MPOOL;
__BEGIN_DECLS
MPOOL *__mpool_open __P((void *, int, pgno_t, pgno_t));
MPOOL *mpool_open __P((void *, int, pgno_t, pgno_t));
void __mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
void (*)(void *, pgno_t, void *), void *));
void mpool_filter __P((MPOOL *, void (*)(void *, pgno_t, void *),
void (*)(void *, pgno_t, void *), void *));
void *__mpool_new __P((MPOOL *, pgno_t *));
void *mpool_new __P((MPOOL *, pgno_t *));
void *__mpool_get __P((MPOOL *, pgno_t, u_int));
void *mpool_get __P((MPOOL *, pgno_t, u_int));
int __mpool_put __P((MPOOL *, void *, u_int));
int mpool_put __P((MPOOL *, void *, u_int));
int __mpool_sync __P((MPOOL *));
int mpool_sync __P((MPOOL *));
int __mpool_close __P((MPOOL *));
int mpool_close __P((MPOOL *));
#ifdef STATISTICS
void mpool_stat __P((MPOOL *));
+29
View File
@@ -50,6 +50,18 @@ static char sccsid[] = "@(#)mpool.c 8.5 (Berkeley) 7/26/94";
#define __MPOOLINTERFACE_PRIVATE
#include <mpool.h>
#ifdef _LIBC
/* In the GNU C library we must not pollute the namespace because libdb is
needed by libnss_db. */
#define mpool_open __mpool_open
#define mpool_filter __mpool_filter
#define mpool_new __mpool_new
#define mpool_get __mpool_get
#define mpool_put __mpool_put
#define mpool_sync __mpool_sync
#define mpool_close __mpool_close
#endif
static BKT *mpool_bkt __P((MPOOL *));
static BKT *mpool_look __P((MPOOL *, pgno_t));
static int mpool_write __P((MPOOL *, BKT *));
@@ -301,6 +313,23 @@ mpool_sync(mp)
return (fsync(mp->fd) ? RET_ERROR : RET_SUCCESS);
}
#ifdef _LIBC
#undef mpool_open
#undef mpool_filter
#undef mpool_new
#undef mpool_get
#undef mpool_put
#undef mpool_close
#undef mpool_sync
weak_alias (__mpool_open, mpool_open)
weak_alias (__mpool_filter, mpool_filter)
weak_alias (__mpool_new, mpool_new)
weak_alias (__mpool_get, mpool_get)
weak_alias (__mpool_put, mpool_put)
weak_alias (__mpool_close, mpool_close)
weak_alias (__mpool_sync, mpool_sync)
#endif
/*
* mpool_bkt
* Get a page from the cache (or create one).
+2 -2
View File
@@ -22,6 +22,6 @@
int
alphasort (const void *a, const void *b)
{
return strcmp (((struct dirent *) a)->d_name,
((struct dirent *) b)->d_name);
return strcmp ((*(const struct dirent **) a)->d_name,
(*(const struct dirent **) b)->d_name);
}
+31 -14
View File
@@ -22,6 +22,29 @@
#include <dlfcn.h>
#include <stdlib.h>
struct openaux_args
{
/* The arguments to openaux. */
struct link_map *map;
int trace_mode;
const char *strtab;
ElfW(Dyn) *d;
/* The return value of openaux. */
struct link_map *aux;
};
static void
openaux (void *a)
{
struct openaux_args *args = (struct openaux_args *) a;
args->aux = _dl_map_object (args->map, args->strtab + args->d->d_un.d_val,
(args->map->l_type == lt_executable
? lt_library : args->map->l_type),
args->trace_mode);
}
void
_dl_map_object_deps (struct link_map *map,
struct link_map **preloads, unsigned int npreloads,
@@ -75,27 +98,21 @@ _dl_map_object_deps (struct link_map *map,
/* There is at least one auxiliary library specified. We try to
load it, and if we can, use its symbols in preference to our
own. But if we can't load it, we just silently ignore it. */
const char *strtab
struct openaux_args args;
args.strtab
= ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr);
ElfW(Dyn) *d;
args.map = map;
args.trace_mode = trace_mode;
for (d = map->l_ld; d->d_tag != DT_NULL; ++d)
if (d->d_tag == DT_AUXILIARY)
for (args.d = map->l_ld; args.d->d_tag != DT_NULL; ++args.d)
if (args.d->d_tag == DT_AUXILIARY)
{
struct link_map *aux;
void openaux (void)
{
aux = _dl_map_object (map, strtab + d->d_un.d_val,
(map->l_type == lt_executable
? lt_library : map->l_type),
trace_mode);
}
char *errstring;
const char *objname;
if (! _dl_catch_error (&errstring, &objname, openaux))
if (! _dl_catch_error (&errstring, &objname, openaux, &args))
/* The auxiliary object is actually there. Use it as
the first search element, even before MAP itself. */
preload (aux);
preload (args.aux);
}
}
+12 -6
View File
@@ -85,19 +85,25 @@ _dl_signal_error (int errcode,
int
_dl_catch_error (char **errstring,
const char **objname,
void (*operate) (void))
void (*operate) (void *),
void *args)
{
int errcode;
struct catch *old, c = { errstring: NULL, objname: NULL };
/* We need not handle `receiver' since setting a `catch' is handle
struct catch *old, c;
/* We need not handle `receiver' since setting a `catch' is handled
before it. */
/* Some systems (.e.g, SPARC) handle constructors to local variables
inefficient. So we initialize `c' by hand. */
c.errstring = NULL;
c.objname = NULL;
old = catch;
errcode = setjmp (c.env);
if (errcode == 0)
{
catch = &c;
(*operate) ();
(*operate) (args);
catch = old;
*errstring = NULL;
*objname = NULL;
@@ -112,7 +118,7 @@ _dl_catch_error (char **errstring,
}
void
_dl_receive_error (receiver_fct fct, void (*operate) (void))
_dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args)
{
struct catch *old_catch;
receiver_fct old_receiver;
@@ -124,7 +130,7 @@ _dl_receive_error (receiver_fct fct, void (*operate) (void))
catch = NULL;
receiver = fct;
(*operate) ();
(*operate) (args);
catch = old_catch;
receiver = old_receiver;
+27 -4
View File
@@ -67,6 +67,18 @@ int _dl_zerofd = -1;
#define ANONFD _dl_zerofd
#endif
/* Handle situations where we have a preferred location in memory for
the shared objects. */
#ifdef ELF_PREFERRED_ADDRESS_DATA
ELF_PREFERRED_ADDRESS_DATA;
#endif
#ifndef ELF_PREFERRED_ADDRESS
#define ELF_PREFERRED_ADDRESS(loader, maplength, mapstartpref) (mapstartpref)
#endif
#ifndef ELF_FIXED_ADDRESS
#define ELF_FIXED_ADDRESS(loader, mapstart) ((void) 0)
#endif
size_t _dl_pagesize;
@@ -315,11 +327,16 @@ _dl_map_object_from_fd (char *name, int fd, char *realname,
So we map the first segment without MAP_FIXED, but with its
extent increased to cover all the segments. Then we remove
access from excess portion, and there is known sufficient space
there to remap from the later segments. */
there to remap from the later segments.
As a refinement, sometimes we have an address that we would
prefer to map such objects at; but this is only a preference,
the OS can do whatever it likes. */
caddr_t mapat;
mapat = map_segment (c->mapstart,
loadcmds[nloadcmds - 1].allocend - c->mapstart,
c->prot, 0, c->mapoff);
ElfW(Addr) mappref;
size_t maplength = loadcmds[nloadcmds - 1].allocend - c->mapstart;
mappref = ELF_PREFERRED_ADDRESS (loader, maplength, c->mapstart);
mapat = map_segment (mappref, maplength, c->prot, 0, c->mapoff);
l->l_addr = (ElfW(Addr)) mapat - c->mapstart;
/* Change protection on the excess portion to disallow all access;
@@ -332,6 +349,12 @@ _dl_map_object_from_fd (char *name, int fd, char *realname,
0);
goto postmap;
}
else
{
/* Notify ELF_PREFERRED_ADDRESS that we have to load this one
fixed. */
ELF_FIXED_ADDRESS (loader, c->mapstart);
}
while (c < &loadcmds[nloadcmds])
{
+26 -28
View File
@@ -22,7 +22,8 @@
#include <assert.h>
#include <string.h>
#include <dl-hash.h>
#include "dl-hash.h"
#include <dl-machine.h>
#include "../stdio-common/_itoa.h"
#define VERSTAG(tag) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (tag))
@@ -57,10 +58,10 @@ struct sym_val
something bad happened. */
static inline int
do_lookup (const char *undef_name, unsigned long int hash,
const ElfW(Sym) **ref, struct sym_val *result,
const ElfW(Sym) *ref, struct sym_val *result,
struct link_map *list[], size_t i, size_t n,
const char *reference_name, const struct r_found_version *version,
struct link_map *skip, int flags)
struct link_map *skip, int reloc_type)
{
struct link_map *map;
@@ -78,7 +79,8 @@ do_lookup (const char *undef_name, unsigned long int hash,
continue;
/* Don't search the executable when resolving a copy reloc. */
if (flags & DL_LOOKUP_NOEXEC && map->l_type == lt_executable)
if (elf_machine_lookup_noexec_p (reloc_type) &&
map->l_type == lt_executable)
continue;
symtab = ((void *) map->l_addr + map->l_info[DT_SYMTAB]->d_un.d_ptr);
@@ -98,7 +100,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
const ElfW(Sym) *sym = &symtab[symidx];
if (sym->st_value == 0 || /* No value. */
((flags & DL_LOOKUP_NOPLT) != 0 /* Reject PLT entry. */
(elf_machine_lookup_noplt_p (reloc_type) /* Reject PLT entry. */
&& sym->st_shndx == SHN_UNDEF))
continue;
@@ -113,7 +115,7 @@ do_lookup (const char *undef_name, unsigned long int hash,
continue;
}
if (sym != *ref && strcmp (strtab + sym->st_name, undef_name))
if (sym != ref && strcmp (strtab + sym->st_name, undef_name))
/* Not the symbol we are looking for. */
continue;
@@ -188,16 +190,13 @@ do_lookup (const char *undef_name, unsigned long int hash,
}
/* Search loaded objects' symbol tables for a definition of the symbol
UNDEF_NAME. FLAGS is a set of flags. If DL_LOOKUP_NOEXEC is set,
then don't search the executable for a definition; this used for
copy relocs. If DL_LOOKUP_NOPLT is set, then a PLT entry cannot
satisfy the reference; some different binding must be found. */
UNDEF_NAME. */
ElfW(Addr)
_dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
int flags)
int reloc_type)
{
const unsigned long int hash = _dl_elf_hash (undef_name);
struct sym_val current_value = { 0, NULL };
@@ -205,9 +204,9 @@ _dl_lookup_symbol (const char *undef_name, const ElfW(Sym) **ref,
/* Search the relevant loaded objects for a definition. */
for (scope = symbol_scope; *scope; ++scope)
if (do_lookup (undef_name, hash, ref, &current_value,
if (do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_searchlist, 0, (*scope)->l_nsearchlist,
reference_name, NULL, NULL, flags))
reference_name, NULL, NULL, reloc_type))
break;
if (current_value.s == NULL &&
@@ -230,8 +229,7 @@ ElfW(Addr)
_dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
struct link_map *skip_map,
int flags)
struct link_map *skip_map)
{
const unsigned long int hash = _dl_elf_hash (undef_name);
struct sym_val current_value = { 0, NULL };
@@ -243,13 +241,13 @@ _dl_lookup_symbol_skip (const char *undef_name, const ElfW(Sym) **ref,
for (i = 0; (*scope)->l_dupsearchlist[i] != skip_map; ++i)
assert (i < (*scope)->l_ndupsearchlist);
if (! do_lookup (undef_name, hash, ref, &current_value,
if (! do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_dupsearchlist, i, (*scope)->l_ndupsearchlist,
reference_name, NULL, skip_map, flags))
reference_name, NULL, skip_map, 0))
while (*++scope)
if (do_lookup (undef_name, hash, ref, &current_value,
if (do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist,
reference_name, NULL, skip_map, flags))
reference_name, NULL, skip_map, 0))
break;
*ref = current_value.s;
@@ -266,7 +264,8 @@ ElfW(Addr)
_dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version, int flags)
const struct r_found_version *version,
int reloc_type)
{
const unsigned long int hash = _dl_elf_hash (undef_name);
struct sym_val current_value = { 0, NULL };
@@ -275,9 +274,9 @@ _dl_lookup_versioned_symbol (const char *undef_name, const ElfW(Sym) **ref,
/* Search the relevant loaded objects for a definition. */
for (scope = symbol_scope; *scope; ++scope)
{
int res = do_lookup (undef_name, hash, ref, &current_value,
int res = do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_searchlist, 0, (*scope)->l_nsearchlist,
reference_name, version, NULL, flags);
reference_name, version, NULL, reloc_type);
if (res > 0)
break;
@@ -312,8 +311,7 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version,
struct link_map *skip_map,
int flags)
struct link_map *skip_map)
{
const unsigned long int hash = _dl_elf_hash (undef_name);
struct sym_val current_value = { 0, NULL };
@@ -325,13 +323,13 @@ _dl_lookup_versioned_symbol_skip (const char *undef_name,
for (i = 0; (*scope)->l_dupsearchlist[i] != skip_map; ++i)
assert (i < (*scope)->l_ndupsearchlist);
if (! do_lookup (undef_name, hash, ref, &current_value,
if (! do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_dupsearchlist, i, (*scope)->l_ndupsearchlist,
reference_name, version, skip_map, flags))
reference_name, version, skip_map, 0))
while (*++scope)
if (do_lookup (undef_name, hash, ref, &current_value,
if (do_lookup (undef_name, hash, *ref, &current_value,
(*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist,
reference_name, version, skip_map, flags))
reference_name, version, skip_map, 0))
break;
*ref = current_value.s;
+12 -1
View File
@@ -1,5 +1,5 @@
/* Minimal replacements for basic facilities used in the dynamic linker.
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -77,6 +77,17 @@ malloc (size_t n)
return alloc_last_block;
}
/* We use this function occasionally since the real implementation may
be optimized when it can assume the memory it returns already is
set to NUL. */
void * weak_function
calloc (size_t nmemb, size_t size)
{
size_t total = nmemb * size;
void *result = malloc (total);
return memset (result, '\0', total);
}
/* This will rarely be called. */
void weak_function
free (void *ptr)
+4
View File
@@ -153,7 +153,11 @@ fixup (
*_dl_global_scope_end = NULL;
/* Return the address that was written by the relocation. */
#ifdef ELF_FIXUP_RETURNS_ADDRESS
return (ElfW(Addr))(l->l_addr + reloc->r_offset);
#else
return *(ElfW(Addr) *) (l->l_addr + reloc->r_offset);
#endif
}
+2 -2
View File
@@ -1,5 +1,5 @@
/* Support for dynamic linking code in static libc.
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -62,7 +62,7 @@ _dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
int fd = __open (file, O_RDONLY);
if (fd < 0)
return NULL;
if (__fstat (fd, &st) < 0)
if (__fxstat (_STAT_VER, fd, &st) < 0)
result = NULL;
else
{
+3 -5
View File
@@ -199,7 +199,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
aux->vna_flags & VER_FLG_WEAK);
/* Compare the version index. */
if ((aux->vna_other & 0x7fff) > ndx_high)
if ((unsigned int) (aux->vna_other & 0x7fff) > ndx_high)
ndx_high = aux->vna_other & 0x7fff;
if (aux->vna_next == 0)
@@ -230,7 +230,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr);
while (1)
{
if ((ent->vd_ndx & 0x7fff) > ndx_high)
if ((unsigned int) (ent->vd_ndx & 0x7fff) > ndx_high)
ndx_high = ent->vd_ndx & 0x7fff;
if (ent->vd_next == 0)
@@ -247,9 +247,7 @@ _dl_check_map_versions (struct link_map *map, int verbose)
which can be indexed by the version index in the VERSYM
section. */
map->l_versions = (struct r_found_version *)
malloc ((ndx_high + 1) * sizeof (*map->l_versions));
memset (map->l_versions, '\0',
(ndx_high + 1) * sizeof (*map->l_versions));
calloc (ndx_high + 1, sizeof (*map->l_versions));
if (map->l_versions == NULL)
{
_dl_signal_error (ENOMEM, (*map->l_name ? map->l_name : _dl_argv[0]),
+7 -6
View File
@@ -20,13 +20,14 @@
#include <link.h>
#include <dlfcn.h>
static void
dlclose_doit (void *handle)
{
_dl_close (handle);
}
int
dlclose (void *handle)
{
void doit (void)
{
_dl_close (handle);
}
return _dlerror_run (doit) ? -1 : 0;
return _dlerror_run (dlclose_doit, handle) ? -1 : 0;
}
+2 -2
View File
@@ -64,7 +64,7 @@ dlerror (void)
}
int
_dlerror_run (void (*operate) (void))
_dlerror_run (void (*operate) (void *), void *args)
{
if (last_errstring != NULL)
/* Free the error string from the last failed command. This can
@@ -72,6 +72,6 @@ _dlerror_run (void (*operate) (void))
free (last_errstring);
last_errcode = _dl_catch_error (&last_errstring, &last_object_name,
operate);
operate, args);
return last_errstring != NULL;
}
+23 -7
View File
@@ -21,15 +21,31 @@
#include <link.h>
#include <dlfcn.h>
struct dlopen_args
{
/* The arguments for dlopen_doit. */
const char *file;
int mode;
/* The return value of dlopen_doit. */
struct link_map *new;
};
static void
dlopen_doit (void *a)
{
struct dlopen_args *args = (struct dlopen_args *) a;
args->new = _dl_open (args->file ?: "", args->mode);
}
void *
dlopen (const char *file, int mode)
{
struct link_map *new;
struct dlopen_args args;
args.file = file;
args.mode = mode;
void doit (void)
{
new = _dl_open (file ?: "", mode);
}
return _dlerror_run (doit) ? NULL : new;
return _dlerror_run (dlopen_doit, &args) ? NULL : args.new;
}
+62 -39
View File
@@ -22,48 +22,71 @@
#include <dlfcn.h>
#include <setjmp.h>
struct dlsym_args
{
/* The arguments to dlsym_doit. */
void *handle;
const char *name;
struct r_found_version version;
ElfW(Addr) caller;
/* The return values of dlsym_doit. */
ElfW(Addr) loadbase;
const ElfW(Sym) *ref;
};
static void
dlsym_doit (void *a)
{
struct dlsym_args *args = (struct dlsym_args *) a;
args->ref = NULL;
if (args->handle == NULL)
/* Search the global scope. */
args->loadbase = _dl_lookup_symbol (args->name, &args->ref,
&(_dl_global_scope
?: _dl_default_scope)[2],
NULL, 0);
else if (args->handle == RTLD_NEXT)
{
struct link_map *l, *match;
/* Find the highest-addressed object that CALLER is not below. */
match = NULL;
for (l = _dl_loaded; l; l = l->l_next)
if (args->caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
match = l;
if (! match)
_dl_signal_error (0, NULL, _("\
RTLD_NEXT used in code not dynamically loaded"));
l = match;
while (l->l_loader)
l = l->l_loader;
args->loadbase = _dl_lookup_symbol_skip (args->name, &args->ref,
&_dl_loaded, NULL, l);
}
else
{
/* Search the scope of the given object. */
struct link_map *map = args->handle;
struct link_map *mapscope[2] = { map, NULL };
args->loadbase = _dl_lookup_symbol (args->name, &args->ref, mapscope,
map->l_name, 0);
}
}
void *
dlsym (void *handle, const char *name)
{
ElfW(Addr) caller = (ElfW(Addr)) __builtin_return_address (0);
ElfW(Addr) loadbase;
const ElfW(Sym) *ref = NULL;
void doit (void)
{
if (handle == NULL)
/* Search the global scope. */
loadbase = _dl_lookup_symbol
(name, &ref, &(_dl_global_scope ?: _dl_default_scope)[2], NULL, 0);
else if (handle == RTLD_NEXT)
{
struct link_map *l, *match;
struct dlsym_args args;
args.caller = (ElfW(Addr)) __builtin_return_address (0);
args.handle = handle;
args.name = name;
/* Find the highest-addressed object that CALLER is not below. */
match = NULL;
for (l = _dl_loaded; l; l = l->l_next)
if (caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
match = l;
if (! match)
_dl_signal_error (0, NULL, _("\
RTLD_NEXT used in code not dynamically loaded"));
l = match;
while (l->l_loader)
l = l->l_loader;
loadbase = _dl_lookup_symbol_skip
(name, &ref, &_dl_loaded, NULL, l, 0);
}
else
{
/* Search the scope of the given object. */
struct link_map *map = handle;
struct link_map *mapscope[2] = { map, NULL };
loadbase = _dl_lookup_symbol (name, &ref, mapscope, map->l_name, 0);
}
}
return _dlerror_run (doit) ? NULL : (void *) (loadbase + ref->st_value);
return (_dlerror_run (dlsym_doit, &args)
? NULL : (void *) (args.loadbase + args.ref->st_value));
}
+69 -44
View File
@@ -24,57 +24,82 @@
#include <dl-hash.h>
struct dlvsym_args
{
/* The arguments to dlvsym_doit. */
void *handle;
const char *name;
struct r_found_version version;
ElfW(Addr) caller;
/* The return values of dlvsym_doit. */
ElfW(Addr) loadbase;
const ElfW(Sym) *ref;
};
static void
dlvsym_doit (void *a)
{
struct dlvsym_args *args = (struct dlvsym_args *)a;
args->ref = NULL;
if (args->handle == NULL)
/* Search the global scope. */
args->loadbase = _dl_lookup_versioned_symbol (args->name, &args->ref,
&(_dl_global_scope
?: _dl_default_scope)[2],
NULL, &args->version, 0);
else if (args->handle == RTLD_NEXT)
{
struct link_map *l, *match;
/* Find the highest-addressed object that CALLER is not below. */
match = NULL;
for (l = _dl_loaded; l; l = l->l_next)
if (args->caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
match = l;
if (! match)
_dl_signal_error (0, NULL, _("\
RTLD_NEXT used in code not dynamically loaded"));
l = match;
while (l->l_loader)
l = l->l_loader;
args->loadbase = _dl_lookup_versioned_symbol_skip (args->name,
&args->ref,
&_dl_loaded,
NULL, &args->version,
l);
}
else
{
/* Search the scope of the given object. */
struct link_map *map = args->handle;
struct link_map *mapscope[2] = { map, NULL };
args->loadbase = _dl_lookup_versioned_symbol (args->name, &args->ref,
mapscope, map->l_name,
&args->version, 0);
}
}
void *
__dlvsym (void *handle, const char *name, const char *version_str)
{
ElfW(Addr) caller = (ElfW(Addr)) __builtin_return_address (0);
ElfW(Addr) loadbase;
struct r_found_version version;
const ElfW(Sym) *ref = NULL;
void doit (void)
{
if (handle == NULL)
/* Search the global scope. */
loadbase = _dl_lookup_versioned_symbol
(name, &ref, &(_dl_global_scope ?: _dl_default_scope)[2], NULL,
&version, 0);
else if (handle == RTLD_NEXT)
{
struct link_map *l, *match;
struct dlvsym_args args;
/* Find the highest-addressed object that CALLER is not below. */
match = NULL;
for (l = _dl_loaded; l; l = l->l_next)
if (caller >= l->l_addr && (!match || match->l_addr < l->l_addr))
match = l;
if (! match)
_dl_signal_error (0, NULL, _("\
RTLD_NEXT used in code not dynamically loaded"));
l = match;
while (l->l_loader)
l = l->l_loader;
loadbase = _dl_lookup_versioned_symbol_skip
(name, &ref, &_dl_loaded, NULL, &version, l, 0);
}
else
{
/* Search the scope of the given object. */
struct link_map *map = handle;
struct link_map *mapscope[2] = { map, NULL };
loadbase = _dl_lookup_versioned_symbol
(name, &ref, mapscope, map->l_name, &version, 0);
}
}
args.handle = handle;
args.name = name;
args.caller = (ElfW(Addr)) __builtin_return_address (0);
/* Compute hash value to the version string. */
version.name = version_str;
version.hash = _dl_elf_hash (version_str);
args.version.name = version_str;
args.version.hash = _dl_elf_hash (version_str);
/* We don't have a specific file where the symbol can be found. */
version.filename = NULL;
args.version.filename = NULL;
return _dlerror_run (doit) ? NULL : (void *) (loadbase + ref->st_value);
return (_dlerror_run (dlvsym_doit, &args)
? NULL : (void *) (args.loadbase + args.ref->st_value));
}
weak_alias (__dlvsym, dlvsym)
+65
View File
@@ -915,6 +915,71 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */
#define R_ALPHA_RELATIVE 27 /* Adjust by program base */
/* PowerPC specific declarations */
/* PowerPC relocations defined by the ABIs */
#define R_PPC_NONE 0
#define R_PPC_ADDR32 1
#define R_PPC_ADDR24 2
#define R_PPC_ADDR16 3
#define R_PPC_ADDR16_LO 4
#define R_PPC_ADDR16_HI 5
#define R_PPC_ADDR16_HA 6
#define R_PPC_ADDR14 7
#define R_PPC_ADDR14_BRTAKEN 8
#define R_PPC_ADDR14_BRNTAKEN 9
#define R_PPC_REL24 10
#define R_PPC_REL14 11
#define R_PPC_REL14_BRTAKEN 12
#define R_PPC_REL14_BRNTAKEN 13
#define R_PPC_GOT16 14
#define R_PPC_GOT16_LO 15
#define R_PPC_GOT16_HI 16
#define R_PPC_GOT16_HA 17
#define R_PPC_PLTREL24 18
#define R_PPC_COPY 19
#define R_PPC_GLOB_DAT 20
#define R_PPC_JMP_SLOT 21
#define R_PPC_RELATIVE 22
#define R_PPC_LOCAL24PC 23
#define R_PPC_UADDR32 24
#define R_PPC_UADDR16 25
#define R_PPC_REL32 26
#define R_PPC_PLT32 27
#define R_PPC_PLTREL32 28
#define R_PPC_PLT16_LO 29
#define R_PPC_PLT16_HI 30
#define R_PPC_PLT16_HA 31
#define R_PPC_SDAREL16 32
#define R_PPC_SECTOFF 33
#define R_PPC_SECTOFF_LO 34
#define R_PPC_SECTOFF_HI 35
#define R_PPC_SECTOFF_HA 36
/* The remaining relocs are from the Embedded ELF ABI, and are not
in the SVR4 ELF ABI. */
#define R_PPC_EMB_NADDR32 101
#define R_PPC_EMB_NADDR16 102
#define R_PPC_EMB_NADDR16_LO 103
#define R_PPC_EMB_NADDR16_HI 104
#define R_PPC_EMB_NADDR16_HA 105
#define R_PPC_EMB_SDAI16 106
#define R_PPC_EMB_SDA2I16 107
#define R_PPC_EMB_SDA2REL 108
#define R_PPC_EMB_SDA21 109
#define R_PPC_EMB_MRKREF 110
#define R_PPC_EMB_RELSEC16 111
#define R_PPC_EMB_RELST_LO 112
#define R_PPC_EMB_RELST_HI 113
#define R_PPC_EMB_RELST_HA 114
#define R_PPC_EMB_BIT_FLD 115
#define R_PPC_EMB_RELSDA 116
/* This is a phony reloc to handle any old fashioned TOC16 references
that may still be in object files. */
#define R_PPC_TOC16 255
__END_DECLS
#endif /* elf.h */
+22 -19
View File
@@ -18,9 +18,12 @@
Boston, MA 02111-1307, USA. */
#ifndef _LINK_H
#define _LINK_H 1
#include <features.h>
#define __need_size_t
#define __need_NULL
#include <stddef.h>
#include <elf.h>
@@ -235,21 +238,26 @@ extern void _dl_signal_error (int errcode,
error, *ERRSTRING is set to null. If there is an error, *ERRSTRING and
*OBJECT are set to the strings passed to _dl_signal_error, and the error
code passed is the return value. ERRSTRING if nonzero points to a
malloc'ed string which the caller has to free after use. */
malloc'ed string which the caller has to free after use.
ARGS is passed as argument to OPERATE. */
extern int _dl_catch_error (char **errstring,
const char **object,
void (*operate) (void));
void (*operate) (void *),
void *args);
/* Call OPERATE, receiving errors from `dl_signal_error'. Unlike
`_dl_catch_error' the operation is resumed after the OPERATE
function returns. */
extern void _dl_receive_error (receiver_fct fct, void (*operate) (void));
function returns.
ARGS is passed as argument to OPERATE. */
extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
void *args);
/* Helper function for <dlfcn.h> functions. Runs the OPERATE function via
_dl_catch_error. Returns zero for success, nonzero for failure; and
arranges for `dlerror' to return the error details. */
extern int _dlerror_run (void (*operate) (void));
arranges for `dlerror' to return the error details.
ARGS is passed as argument to OPERATE. */
extern int _dlerror_run (void (*operate) (void *), void *args);
/* Open the shared object NAME and map in its segments.
@@ -287,18 +295,15 @@ extern void _dl_close (struct link_map *map);
null-terminated list of object scopes to search; each object's
l_searchlist (i.e. the segment of the dependency tree starting at that
object) is searched in turn. REFERENCE_NAME should name the object
containing the reference; it is used in error messages. FLAGS is a
set of flags: */
#define DL_LOOKUP_NOEXEC 1 /* Don't search the executable for a
definition; this is used for copy
relocs. */
#define DL_LOOKUP_NOPLT 2 /* The reference must not be resolved
to a PLT entry. */
containing the reference; it is used in error messages.
RELOC_TYPE is a machine-dependent reloc type, which is passed to
the `elf_machine_lookup_*_p' macros in dl-machine.h to affect which
symbols can be chosen. */
extern ElfW(Addr) _dl_lookup_symbol (const char *undef,
const ElfW(Sym) **sym,
struct link_map *symbol_scope[],
const char *reference_name,
int flags);
int reloc_type);
/* Lookup versioned symbol. */
extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
@@ -306,15 +311,14 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol (const char *undef,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version,
int flags);
int reloc_type);
/* For handling RTLD_NEXT we must be able to skip shared objects. */
extern ElfW(Addr) _dl_lookup_symbol_skip (const char *undef,
const ElfW(Sym) **sym,
struct link_map *symbol_scope[],
const char *reference_name,
struct link_map *skip_this,
int flags);
struct link_map *skip_this);
/* For handling RTLD_NEXT with versioned symbols we must be able to
skip shared objects. */
@@ -323,8 +327,7 @@ extern ElfW(Addr) _dl_lookup_versioned_symbol_skip (const char *undef,
struct link_map *symbol_scope[],
const char *reference_name,
const struct r_found_version *version,
struct link_map *skip_this,
int flags);
struct link_map *skip_this);
/* Look up symbol NAME in MAP's scope and return its run-time address. */
extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name);
+65 -23
View File
@@ -106,6 +106,7 @@ _dl_start (void *arg)
ELF_DYNAMIC_RELOCATE (&bootstrap_map, 0);
elf_machine_runtime_setup (&bootstrap_map, 0);
/* Now life is sane; we can call functions and access global data.
Set up to use the operating system facilities, and find out from
@@ -126,10 +127,6 @@ _dl_start (void *arg)
_dl_rtld_map.l_info[DT_STRTAB]->d_un.d_ptr +
_dl_rtld_map.l_info[DT_RPATH]->d_un.d_val);
#ifdef ELF_ADJUST_ARG
ELF_ADJUST_ARG(arg);
#endif
/* Call the OS-dependent function to set up life so we can do things like
file access. It will call `dl_main' (below) to do all the real work
of the dynamic linker, and then unwind our frame and run the user
@@ -143,6 +140,55 @@ _dl_start (void *arg)
void _start (void);
/* Some helper functions. */
/* Arguments to relocate_doit. */
struct relocate_args
{
struct link_map *l;
int lazy;
};
struct map_args
{
/* Argument to map_doit. */
char *str;
/* Return value of map_doit. */
struct link_map *main_map;
};
/* Arguments to version_check_doit. */
struct version_check_args
{
struct link_map *main_map;
int doexit;
};
static void
relocate_doit (void *a)
{
struct relocate_args *args = (struct relocate_args *) a;
_dl_relocate_object (args->l, _dl_object_relocation_scope (args->l),
args->lazy);
}
static void
map_doit (void *a)
{
struct map_args *args = (struct map_args *)a;
args->main_map = _dl_map_object (NULL, args->str, lt_library, 0);
}
static void
version_check_doit (void *a)
{
struct version_check_args *args = (struct version_check_args *)a;
if (_dl_check_all_versions (args->main_map, 1) && args->doexit)
/* We cannot start the application. Abort now. */
_exit (1);
}
unsigned int _dl_skip_args; /* Nonzero if we were run directly. */
static void
@@ -237,14 +283,13 @@ of this helper program; chances are you did not intend to run this program.\n",
if (mode == verify)
{
void doit (void)
{
main_map = _dl_map_object (NULL, _dl_argv[0], lt_library, 0);
}
char *err_str = NULL;
const char *obj_name __attribute__ ((unused));
struct map_args args;
(void) _dl_catch_error (&err_str, &obj_name, doit);
args.str = _dl_argv[0];
(void) _dl_catch_error (&err_str, &obj_name, map_doit, &args);
main_map = args.main_map;
if (err_str != NULL)
{
free (err_str);
@@ -269,6 +314,7 @@ of this helper program; chances are you did not intend to run this program.\n",
main_map->l_phdr = phdr;
main_map->l_phnum = phent;
main_map->l_entry = *user_entry;
main_map->l_opencount = 1;
}
/* Scan the program header table for the dynamic section. */
@@ -471,14 +517,10 @@ of this helper program; chances are you did not intend to run this program.\n",
/* Now let us see whether all libraries are available in the
versions we need. */
{
void doit (void)
{
if (_dl_check_all_versions (main_map, 1) && mode == normal)
/* We cannot start the application. Abort now. */
_exit (1);
}
_dl_receive_error (print_missing_version, doit);
struct version_check_args args;
args.doexit = mode == normal;
args.main_map = main_map;
_dl_receive_error (print_missing_version, version_check_doit, &args);
}
if (mode != normal)
@@ -521,7 +563,7 @@ of this helper program; chances are you did not intend to run this program.\n",
ElfW(Addr) loadbase = _dl_lookup_symbol (_dl_argv[i], &ref,
&_dl_default_scope[2],
"argument",
DL_LOOKUP_NOPLT);
ELF_MACHINE_RELOC_NOPLT);
char buf[20], *bp;
buf[sizeof buf - 1] = '\0';
bp = _itoa (ref->st_value, &buf[sizeof buf - 1], 16, 0);
@@ -537,11 +579,10 @@ of this helper program; chances are you did not intend to run this program.\n",
else if (lazy >= 0)
{
/* We have to do symbol dependency testing. */
struct relocate_args args;
struct link_map *l;
void doit (void)
{
_dl_relocate_object (l, _dl_object_relocation_scope (l), lazy);
}
args.lazy = lazy;
l = _dl_loaded;
while (l->l_next)
@@ -550,7 +591,8 @@ of this helper program; chances are you did not intend to run this program.\n",
{
if (l != &_dl_rtld_map && l->l_opencount > 0)
{
_dl_receive_error (print_unresolved, doit);
args.l = l;
_dl_receive_error (print_unresolved, relocate_doit, &args);
*_dl_global_scope_end = NULL;
}
l = l->l_prev;
+87 -40
View File
@@ -34,6 +34,7 @@
#include <sys/time.h>
#include <sys/gmon.h>
#include <sys/gmon_out.h>
#include <sys/uio.h>
#include <stdio.h>
#include <fcntl.h>
@@ -124,7 +125,7 @@ monstartup (lowpc, highpc)
cp = malloc (p->kcountsize + p->fromssize + p->tossize);
if (! cp)
{
ERR("monstartup: out of memory\n");
ERR(_("monstartup: out of memory\n"));
return;
}
bzero(cp, p->kcountsize + p->fromssize + p->tossize);
@@ -165,21 +166,26 @@ static void
write_hist (fd)
int fd;
{
const u_char tag = GMON_TAG_TIME_HIST;
struct gmon_hist_hdr thdr;
u_char tag = GMON_TAG_TIME_HIST;
struct gmon_hist_hdr thdr __attribute__ ((aligned (__alignof__ (char *))));
if (_gmonparam.kcountsize > 0)
{
thdr.low_pc = _gmonparam.lowpc;
thdr.high_pc = _gmonparam.highpc;
thdr.hist_size = _gmonparam.kcountsize / sizeof(HISTCOUNTER);
thdr.prof_rate = __profile_frequency();
strncpy(thdr.dimen, "seconds", sizeof(thdr.dimen));
struct iovec iov[3] =
{
{ &tag, sizeof (tag) },
{ &thdr, sizeof (struct gmon_hist_hdr) },
{ _gmonparam.kcount, _gmonparam.kcountsize }
};
*(char **) thdr.low_pc = (char *) _gmonparam.lowpc;
*(char **) thdr.high_pc = (char *) _gmonparam.highpc;
*(int *) thdr.hist_size = _gmonparam.kcountsize / sizeof (HISTCOUNTER);
*(int *) thdr.prof_rate = __profile_frequency ();
strncpy (thdr.dimen, "seconds", sizeof (thdr.dimen));
thdr.dimen_abbrev = 's';
write(fd, &tag, sizeof(tag));
write(fd, &thdr, sizeof(thdr));
write(fd, _gmonparam.kcount, _gmonparam.kcountsize);
__writev (fd, iov, 3);
}
}
@@ -188,12 +194,26 @@ static void
write_call_graph (fd)
int fd;
{
const u_char tag = GMON_TAG_CG_ARC;
struct gmon_cg_arc_record raw_arc;
#define NARCS_PER_WRITEV 32
u_char tag = GMON_TAG_CG_ARC;
struct gmon_cg_arc_record raw_arc[NARCS_PER_WRITEV]
__attribute__ ((aligned (__alignof__ (char*))));
int from_index, to_index, from_len;
u_long frompc;
struct iovec iov[2 * NARCS_PER_WRITEV];
int nfilled;
from_len = _gmonparam.fromssize / sizeof(*_gmonparam.froms);
for (nfilled = 0; nfilled < NARCS_PER_WRITEV; ++nfilled)
{
iov[2 * nfilled].iov_base = &tag;
iov[2 * nfilled].iov_len = sizeof (tag);
iov[2 * nfilled + 1].iov_base = &raw_arc[nfilled];
iov[2 * nfilled + 1].iov_len = sizeof (struct gmon_cg_arc_record);
}
nfilled = 0;
from_len = _gmonparam.fromssize / sizeof (*_gmonparam.froms);
for (from_index = 0; from_index < from_len; ++from_index)
{
if (_gmonparam.froms[from_index] == 0)
@@ -201,19 +221,25 @@ write_call_graph (fd)
frompc = _gmonparam.lowpc;
frompc += (from_index * _gmonparam.hashfraction
* sizeof(*_gmonparam.froms));
* sizeof (*_gmonparam.froms));
for (to_index = _gmonparam.froms[from_index];
to_index != 0;
to_index = _gmonparam.tos[to_index].link)
{
raw_arc.from_pc = frompc;
raw_arc.self_pc = _gmonparam.tos[to_index].selfpc;
raw_arc.count = _gmonparam.tos[to_index].count;
*(char **) raw_arc[nfilled].from_pc = (char *) frompc;
*(char **) raw_arc[nfilled].self_pc =
(char *)_gmonparam.tos[to_index].selfpc;
*(int *) raw_arc[nfilled].count = _gmonparam.tos[to_index].count;
write(fd, &tag, sizeof(tag));
write(fd, &raw_arc, sizeof(raw_arc));
if (++nfilled == NARCS_PER_WRITEV)
{
__writev (fd, iov, 2 * nfilled);
nfilled = 0;
}
}
}
if (nfilled > 0)
__writev (fd, iov, 2 * nfilled);
}
@@ -222,9 +248,23 @@ write_bb_counts (fd)
int fd;
{
struct __bb *grp;
const u_char tag = GMON_TAG_BB_COUNT;
int ncounts;
int i;
u_char tag = GMON_TAG_BB_COUNT;
size_t ncounts;
size_t i;
struct iovec bbhead[2] =
{
{ &tag, sizeof (tag) },
{ &ncounts, sizeof (ncounts) }
};
struct iovec bbbody[8];
size_t nfilled;
for (i = 0; i < (sizeof (bbbody) / sizeof (bbbody[0])); i += 2)
{
bbbody[i].iov_len = sizeof (grp->addresses[0]);
bbbody[i + 1].iov_len = sizeof (grp->counts[0]);
}
/* Write each group of basic-block info (all basic-blocks in a
compilation unit form a single group). */
@@ -232,13 +272,20 @@ write_bb_counts (fd)
for (grp = __bb_head; grp; grp = grp->next)
{
ncounts = grp->ncounts;
write(fd, &tag, sizeof(tag));
write(fd, &ncounts, sizeof(ncounts));
for (i = 0; i < ncounts; ++i)
__writev (fd, bbhead, 2);
for (nfilled = i = 0; i < ncounts; ++i)
{
write(fd, &grp->addresses[i], sizeof(grp->addresses[0]));
write(fd, &grp->counts[i], sizeof(grp->counts[0]));
if (nfilled > (sizeof (bbbody) / sizeof (bbbody[0])) - 2)
{
__writev (fd, bbbody, nfilled);
nfilled = 0;
}
bbbody[nfilled++].iov_base = (char *) &grp->addresses[i];
bbbody[nfilled++].iov_base = &grp->counts[i];
}
if (nfilled > 0)
__writev (fd, bbbody, nfilled);
}
}
@@ -246,31 +293,31 @@ write_bb_counts (fd)
void
_mcleanup ()
{
struct gmon_hdr ghdr;
struct gmon_hdr ghdr __attribute__ ((aligned (__alignof__ (int))));
int fd;
moncontrol(0);
fd = open("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
moncontrol (0);
fd = __open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
if (fd < 0)
{
perror("_mcleanup: gmon.out");
perror ("_mcleanup: gmon.out");
return;
}
/* write gmon.out header: */
memset(&ghdr, 0, sizeof(ghdr));
memcpy(&ghdr.cookie[0], GMON_MAGIC, sizeof(ghdr.cookie));
ghdr.version = GMON_VERSION;
write(fd, &ghdr, sizeof(ghdr));
memset (&ghdr, 0, sizeof (struct gmon_hdr));
memcpy (&ghdr.cookie[0], GMON_MAGIC, sizeof (ghdr.cookie));
*(int *) ghdr.version = GMON_VERSION;
__write (fd, &ghdr, sizeof (struct gmon_hdr));
/* write PC histogram: */
write_hist(fd);
write_hist (fd);
/* write call-graph: */
write_call_graph(fd);
write_call_graph (fd);
/* write basic-block execution counts: */
write_bb_counts(fd);
write_bb_counts (fd);
close(fd);
__close (fd);
}
+27 -21
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger <davidm@cs.arizona.edu>.
@@ -40,30 +40,36 @@ __BEGIN_DECLS
* always comes first in gmon.out and is then followed by a series
* records defined below.
*/
struct gmon_hdr {
char cookie[4];
int version;
int spare[3];
};
struct gmon_hdr
{
char cookie[4];
char version[4];
char spare[3 * 4];
};
/* types of records in this file: */
typedef enum {
GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2
} GMON_Record_Tag;
typedef enum
{
GMON_TAG_TIME_HIST = 0,
GMON_TAG_CG_ARC = 1,
GMON_TAG_BB_COUNT = 2
} GMON_Record_Tag;
struct gmon_hist_hdr {
unsigned long low_pc; /* base pc address of sample buffer */
unsigned long high_pc; /* max pc address of sampled buffer */
int hist_size; /* size of sample buffer */
int prof_rate; /* profiling clock rate */
char dimen[15]; /* phys. dim., usually "seconds" */
char dimen_abbrev; /* usually 's' for "seconds" */
};
struct gmon_hist_hdr
{
char low_pc[sizeof (char *)]; /* base pc address of sample buffer */
char high_pc[sizeof (char *)]; /* max pc address of sampled buffer */
char hist_size[4]; /* size of sample buffer */
char prof_rate[4]; /* profiling clock rate */
char dimen[15]; /* phys. dim., usually "seconds" */
char dimen_abbrev; /* usually 's' for "seconds" */
};
struct gmon_cg_arc_record {
unsigned long from_pc; /* address within caller's body */
unsigned long self_pc; /* address within callee's body */
int count; /* number of arc traversals */
struct gmon_cg_arc_record
{
char from_pc[sizeof (char *)]; /* address within caller's body */
char self_pc[sizeof (char *)]; /* address within callee's body */
char count[4]; /* number of arc traversals */
};
__END_DECLS
+44 -4
View File
@@ -16,20 +16,60 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <grp.h>
#include <stdio.h>
#include <libc-lock.h>
#include <stdlib.h>
/* We need to protect the dynamic buffer handling. */
__libc_lock_define_initialized (static, lock);
/* Read one entry from the given stream. */
struct group *
fgetgrent (FILE *stream)
{
static char buffer[BUFSIZ];
static char *buffer;
static size_t buffer_size;
static struct group resbuf;
struct group *result;
int save;
if (__fgetgrent_r (stream, &resbuf, buffer, sizeof buffer, &result) != 0)
return NULL;
/* Get lock. */
__libc_lock_lock (lock);
/* Allocate buffer if not yet available. */
if (buffer == NULL)
{
buffer_size = NSS_BUFLEN_GROUP;
buffer = malloc (buffer_size);
}
while (buffer != NULL
&& __fgetgrent_r (stream, &resbuf, buffer, buffer_size, &result) != 0
&& errno == ERANGE)
{
char *new_buf;
buffer_size += NSS_BUFLEN_GROUP;
new_buf = realloc (buffer, buffer_size);
if (new_buf == NULL)
{
/* We are out of memory. Free the current buffer so that the
process gets a chance for a normal termination. */
save = errno;
free (buffer);
__set_errno (save);
}
buffer = new_buf;
}
if (buffer == NULL)
result = NULL;
/* Release lock. Preserve error value. */
save = errno;
__libc_lock_unlock (lock);
__set_errno (save);
return result;
}
+12 -3
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -56,6 +56,7 @@ __fgetgrent_r (FILE *stream, struct group *resbuf, char *buffer, size_t buflen,
struct group **result)
{
char *p;
int parse_result;
do
{
@@ -69,10 +70,18 @@ __fgetgrent_r (FILE *stream, struct group *resbuf, char *buffer, size_t buflen,
/* Skip leading blanks. */
while (isspace (*p))
++p;
} while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */
} while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
/* Parse the line. If it is invalid, loop to
get the next line of the file to parse. */
! parse_line (p, resbuf, (void *) buffer, buflen));
|| ! (parse_result = parse_line (p, resbuf,
(void *) buffer, buflen)));
if (parse_result == -1)
{
/* The parser ran out of space. */
*result = NULL;
return errno;
}
*result = resbuf;
return 0;
-3
View File
@@ -32,9 +32,6 @@ __BEGIN_DECLS
#define __need_size_t
#include <stddef.h>
#define __need_size_t
#include <stddef.h>
/* The group structure. */
struct group
+1 -1
View File
@@ -73,7 +73,7 @@ include ../Rules
# from $(subdirs), and this rule arranges for the headers in question
# to get installed.
sunrpc-headers = netdb.h pmap_prot.h xdr.h types.h auth.h \
rpc_msg.h auth_unix.h
rpc_msg.h auth_unix.h clnt.h
installed-sunrpc-headers = $(addprefix $(inst_includedir)/rpc/, \
$(sunrpc-headers))
install-headers-nosubdir: $(installed-sunrpc-headers)
+7
View File
@@ -303,4 +303,11 @@ extern int hurd_check_cancel (void);
extern io_t __getdport (int fd), getdport (int fd);
#include <stdarg.h>
/* Write formatted output to PORT, a Mach port supporting the i/o protocol,
according to the format string FORMAT, using the argument list in ARG. */
int vpprintf (io_t port, const char *format, va_list arg);
#endif /* hurd.h */
+2 -2
View File
@@ -40,7 +40,7 @@ _S_msg_add_auth (mach_port_t me,
if (err = __USEPORT (AUTH,
__auth_makeauth (port,
&addauth, 1, MACH_MSG_TYPE_MOVE_SEND,
&addauth, MACH_MSG_TYPE_MOVE_SEND, 1,
NULL, 0,
NULL, 0,
NULL, 0,
@@ -108,7 +108,7 @@ _S_msg_del_auth (mach_port_t me,
err = __USEPORT (AUTH, __auth_makeauth
(port,
NULL, 0, MACH_MSG_TYPE_COPY_SEND,
NULL, MACH_MSG_TYPE_COPY_SEND, 0,
newu, nu,
_hurd_id.aux.uids, _hurd_id.aux.nuids,
newg, ng,
+1 -1
View File
@@ -28,7 +28,7 @@ _hurd_set_host_config (const char *item, const char *value, size_t valuelen)
mach_msg_type_number_t nwrote;
file_t new, dir;
dir = __file_name_split (item, &item);
dir = __file_name_split (item, (char **)&item);
if (dir == MACH_PORT_NULL)
return -1;
+6 -8
View File
@@ -22,10 +22,9 @@
#include <hurd.h>
static ssize_t
pwrite (cookie, buf, n)
void *cookie;
const char *buf;
size_t n;
pwrite (void *cookie,
const char *buf,
size_t n)
{
error_t error = __io_write ((io_t) cookie, buf, n, -1,
(mach_msg_type_number_t *) &n);
@@ -38,10 +37,9 @@ pwrite (cookie, buf, n)
/* Write formatted output to PORT, a Mach port supporting the i/o protocol,
according to the format string FORMAT, using the argument list in ARG. */
int
vpprintf (port, format, arg)
io_t port;
const char *format;
va_list arg;
vpprintf (io_t port,
const char *format,
va_list arg)
{
int done;
FILE f;
+86 -53
View File
@@ -1,62 +1,95 @@
/*
* Copyright (c) 1983, 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.
*
* @(#)inet.h 8.1 (Berkeley) 6/2/93
*/
/* Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
#ifndef _INET_H_
#define _INET_H_
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
/* External definitions for functions in inet(3) */
The GNU C 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _ARPA_INET_H
#define _ARPA_INET_H 1
#include <features.h>
#include <sys/cdefs.h>
#include <sys/types.h>
#include <netinet/in.h> /* To define `struct in_addr'. */
__BEGIN_DECLS
u_long inet_addr __P((const char *));
int inet_aton __P((const char *, struct in_addr *));
u_int32_t inet_lnaof __P((struct in_addr));
struct in_addr inet_makeaddr __P((u_int32_t , u_int32_t));
char * inet_neta __P((u_long, char *, size_t));
u_int32_t inet_netof __P((struct in_addr));
u_int32_t inet_network __P((const char *));
char *inet_net_ntop __P((int, const void *, int, char *, size_t));
int inet_net_pton __P((int, const char *, void *, size_t));
char *inet_ntoa __P((struct in_addr));
int inet_pton __P((int, const char *, void *));
const char *inet_ntop __P((int, const void *, char *, size_t));
u_int inet_nsap_addr __P((const char *, u_char *, int));
char *inet_nsap_ntoa __P((int, const u_char *, char *));
/* Convert Internet host address from numbers-and-dots notation in CP
into binary data in network byte order. */
extern unsigned long int inet_addr __P ((__const char *__cp));
/* Convert Internet host address from numbers-and-dots notation in CP
into binary data and store the result in the structure INP. */
extern int inet_aton __P ((__const char *__cp, struct in_addr *__inp));
/* Return the local host address part of the Internet address in IN. */
extern u_int32_t inet_lnaof __P ((struct in_addr __in));
/* Make Internet host address in network byte order by combining the
network number NET with the local address HOST. */
extern struct in_addr inet_makeaddr __P ((u_int32_t __net, u_int32_t __host));
/* Format a network number NET into presentation format and place result
in buffer starting at BUF with length of LEN bytes. */
extern char *inet_neta __P ((u_long __net, char *__buf, size_t __len));
/* Return network number part of the Internet address IN. */
extern u_int32_t inet_netof __P ((struct in_addr __in));
/* Extract the network number in network byte order from the address
in numbers-and-dots natation starting at CP. */
extern u_int32_t inet_network __P ((__const char *__cp));
/* Convert network number for interface type AF in buffer starting at
CP to presentation format. The result will specifiy BITS bits of
the number. */
extern char *inet_net_ntop __P((int __af, __const void *__cp, int __bits,
char *__buf, size_t __len));
/* Convert network number for interface type AF from presentation in
buffer starting at CP to network format and store result int
buffer starting at BUF of size LEN. */
extern int inet_net_pton __P ((int __af, __const char *__cp,
void *__buf, size_t __len));
/* Convert Internet number in IN to ASCII representation. The return value
is a pointer to an internal array containing the string. */
extern char *inet_ntoa __P ((struct in_addr __in));
/* Convert from presentation format of an Internet number in buffer
starting at CP to the binary network format and store result for
interface type AF in buffer starting at BUF. */
extern int inet_pton __P ((int __af, __const char *__cp, void *__buf));
/* Convert a Internet address in binary network format for interface
type AF in buffer starting at CP to presentation form and place
result in buffer of length LEN astarting at BUF. */
extern __const char *inet_ntop __P ((int __af, __const void *__cp,
char *__buf, size_t __len));
/* Convert ASCII representation in hexadecimal form of the Internet
address to binary form and place result in buffer of length LEN
starting at BUF. */
extern unsigned int inet_nsap_addr __P ((__const char *__cp,
unsigned char *__buf, int __len));
/* Convert internet address in binary form in LEN bytes starting at CP
a presentation form and place result in BUF. */
extern char *inet_nsap_ntoa __P ((int __len, __const unsigned char *__cp,
char *__buf));
__END_DECLS
#endif /* !_INET_H_ */
#endif /* arpa/inet.h */
+89 -51
View File
@@ -1,59 +1,97 @@
/*
* Copyright (c) 1983, 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.
*/
/* Convert Inet number to ASCII representation.
Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)inet_ntoa.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/*
* Convert network-format internet address
* to base 256 d.d.d.d representation.
*/
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <libc-lock.h>
/* The interface of this function is completely stupid, it requires a
static buffer. We relax this a bit in that we allow at least one
buffer for each thread. */
__libc_lock_define_initialized (static, lock);
/* This is the key for the thread specific memory. */
static __libc_key_t key;
/* Destructor for the thread-specific data. */
static void free_key_mem (void *mem);
char *
inet_ntoa(in)
struct in_addr in;
inet_ntoa (struct in_addr in)
{
static char b[18];
register char *p;
static char static_buf[18];
static int initialized = 0;
char *buffer = NULL;
unsigned char *bytes;
p = (char *)&in;
#define UC(b) (((int)b)&0xff)
(void)snprintf(b, sizeof(b),
"%d.%d.%d.%d", UC(p[0]), UC(p[1]), UC(p[2]), UC(p[3]));
return (b);
/* If we have not yet initialized the buffer do it now. */
if (!initialized)
{
/* Make sure there is only one process doing the initialization. */
__libc_lock_lock (lock);
if (!initialized)
{
if (__libc_key_create (&key, free_key_mem))
/* Creating the key failed. This either means we run
have only a single-threaded application or something
really went wrong. In any case use a static buffer
which is better than nothing. */
buffer = static_buf;
}
__libc_lock_unlock (lock);
}
if (buffer == NULL)
{
/* We don't use the static buffer and so we have a key. Use it
to get the thread-specific buffer. */
buffer = __libc_getspecific (key);
if (buffer == NULL)
{
/* No buffer allocated so far. */
buffer = malloc (18);
if (buffer == NULL)
/* No more memory available. We use the static buffer. */
buffer = static_buf;
else
__libc_setspecific (key, buffer);
}
}
bytes = (unsigned char *) &in;
snprintf (buffer, 18, "%d.%d.%d.%d", bytes[0], bytes[1], bytes[2], bytes[3]);
return buffer;
}
static void
free_key_mem (void *mem)
{
free (mem);
/* And we must set the data to NULL so that the destructor is not
called again. */
__libc_setspecific (key, NULL);
}
+11 -7
View File
@@ -306,7 +306,6 @@ iruserok(raddr, superuser, ruser, luser)
struct stat sbuf;
struct passwd pwdbuf, *pwd;
FILE *hostf;
uid_t uid;
int first;
first = 1;
@@ -326,7 +325,7 @@ again:
char *buffer = __alloca (buflen);
first = 0;
if (getpwnam_r (luser, &pwdbuf, buffer, buflen, &pwd) < 0)
if (__getpwnam_r (luser, &pwdbuf, buffer, buflen, &pwd) < 0)
return -1;
dirlen = strlen (pwd->pw_dir);
@@ -339,10 +338,15 @@ again:
* reading an NFS mounted file system, can't read files that
* are protected read/write owner only.
*/
uid = geteuid();
(void)seteuid(pwd->pw_uid);
hostf = fopen(pbuf, "r");
(void)seteuid(uid);
if (__access (pbuf, R_OK) != 0)
hostf = NULL;
else
{
uid_t uid = geteuid ();
seteuid (pwd->pw_uid);
hostf = fopen (pbuf, "r");
seteuid (uid);
}
if (hostf == NULL)
return (-1);
@@ -390,7 +394,7 @@ __ivaliduser(hostf, raddr, luser, ruser)
size_t bufsize = 0;
ssize_t nread;
while ((nread = getline (&buf, &bufsize, hostf)) > 0) {
while ((nread = __getline (&buf, &bufsize, hostf)) > 0) {
buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */
p = buf;
while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') {
+1 -1
View File
@@ -53,7 +53,7 @@ int
rexec(ahost, rport, name, pass, cmd, fd2p)
char **ahost;
int rport;
char *name, *pass, *cmd;
const char *name, *pass, *cmd;
int *fd2p;
{
struct sockaddr_in sin, sin2, from;
+116 -24
View File
@@ -67,6 +67,10 @@
will see messages about iso646.h, wctype.h and wchar.h not being
found. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -168,18 +172,28 @@ static char *macros[] =
#define NUMBER_OF_SUFFIXES (sizeof suffix / sizeof *suffix)
#define NUMBER_OF_MACROS (sizeof macros / sizeof *macros)
/* Format string to build command to invoke compiler. */
static const char fmt[] = "\
echo \"#include <%s>\" |\
%s -E -dM -ansi -pedantic %s -D_LIBC -I. -I `%s --print-prog-name=include` -\
> %s";
/* The compiler we use (given on the command line). */
char *CC;
/* The -I parameters for CC to find all headers. */
char *INC;
static int check_header (const char *);
static const char **get_null_defines (void);
static int check_header (const char *, const char **);
int
main (int argc, char *argv[])
{
int h;
int result = 0;
const char **ignore_list;
CC = argc > 1 ? argv[1] : "gcc";
INC = argc > 2 ? argv[2] : "";
@@ -190,44 +204,109 @@ main (int argc, char *argv[])
return EXIT_FAILURE;
}
/* First get list of symbols which are defined by the compiler. */
ignore_list = get_null_defines ();
fputs ("Tested files:\n", stdout);
for (h = 0; h < NUMBER_OF_HEADERS; ++h)
{
char file_name[HEADER_MAX];
sprintf (file_name, "%s.h", header[h]);
result |= check_header (file_name);
result |= check_header (file_name, ignore_list);
}
#if 0
/* The test suite should return errors but for now this is not
practical. Give a warning and ask the user to correct the bugs. */
return result;
#else
if (result)
fputs ("\
##########################################################################\n\
# The test suite found some problems with your system (see the generated #\n\
# isomac.out file). These are all violations of the ISO C rules and #\n\
# should be corrected. If the problem is in the libc, report it using #\n\
# the glibcbug script to <bugs@gnu.ai.mit.edu>. If it is a problem with #\n\
# your compiler, contact the compiler manufacturer. #\n\
##########################################################################\n",
stderr);
return 0;
#endif
}
static const char **
get_null_defines (void)
{
char line[BUFSIZ], *command;
char **result = NULL;
size_t result_len = 0;
size_t result_max = 0;
FILE *input;
int first = 1;
command = malloc (sizeof fmt + sizeof "/dev/null" + 2 * strlen (CC)
+ strlen (INC) + strlen (TMPFILE));
if (command == NULL)
{
puts ("No more memory.");
exit (1);
}
sprintf (command, fmt, "/dev/null", CC, INC, CC, TMPFILE);
if (system (command))
{
puts ("system() returned nonzero");
return NULL;
}
free (command);
input = fopen (TMPFILE, "r");
if (input == NULL)
{
printf ("Could not read %s: ", TMPFILE);
perror (NULL);
return NULL;
}
while (fgets (line, sizeof line, input) != NULL)
{
int i, okay = 0;
size_t endmac;
char *start, *end;
if (strlen (line) < 9 || line[7] != ' ')
{ /* "#define A" */
printf ("Malformed input, expected '#define MACRO'\ngot '%s'\n",
line);
continue;
}
if (line[8] == '_')
/* It's a safe identifier. */
continue;
if (result_len == result_max)
{
result_max += 10;
result = realloc (result, result_max * sizeof (char **));
if (result == NULL)
{
puts ("No more memory.");
exit (1);
}
}
start = &line[8];
for (end = start + 1; !isspace (*end) && *end != '\0'; ++end)
;
result[result_len++] = strndup (start, end - start);
if (first)
{
fputs ("The following identifiers will be ignored since the compiler defines them\nby default:\n", stdout);
first = 0;
}
puts (result[result_len - 1]);
}
fclose (input);
remove (TMPFILE);
return (const char **) result;
}
static int
check_header (const char *file_name)
check_header (const char *file_name, const char **except)
{
char line[BUFSIZ], *command;
FILE *input;
int result = 0;
static const char fmt[] = "\
echo \"#include <%s>\" |\
%s -E -dM -ansi -pedantic %s -D_LIBC -I. -I `%s --print-prog-name=include` -\
> %s";
command = malloc (sizeof fmt + strlen (file_name) + 2 * strlen (CC)
+ strlen (INC) + strlen (TMPFILE));
@@ -260,6 +339,7 @@ echo \"#include <%s>\" |\
{
int i, okay = 0;
size_t endmac;
const char **cpp;
if (strlen (line) < 9 || line[7] != ' ')
{ /* "#define A" */
printf ("Malformed input, expected '#define MACRO'\ngot '%s'\n",
@@ -278,7 +358,7 @@ echo \"#include <%s>\" |\
continue;
for (i = 0; i < NUMBER_OF_MACROS; ++i)
{
if (!strncmp (line+8, macros[i], strlen (macros[i])))
if (!strncmp (line + 8, macros[i], strlen (macros[i])))
{
++okay;
break;
@@ -305,6 +385,18 @@ echo \"#include <%s>\" |\
break;
}
}
if (okay)
continue;
if (except != NULL)
for (cpp = except; *cpp != NULL; ++cpp)
{
size_t len = strlen (*cpp);
if (!strncmp (line + 8, *cpp, len) && isspace (line[8 + len]))
{
++okay;
break;
}
}
if (!okay)
{
fputs (line, stdout);
+1
View File
@@ -0,0 +1 @@
#include <misc/libgen.h>
+1
View File
@@ -317,6 +317,7 @@ DEFUN(_IO_file_overflow, (f, ch),
{
if (f->_flags & _IO_NO_WRITES) /* SET ERROR */
{
f->_flags |= _IO_ERR_SEEN;
__set_errno (EBADF);
return EOF;
}
+1 -1
View File
@@ -615,7 +615,7 @@ DEFUN_VOID(_IO_flush_all_linebuffered)
{
_IO_FILE *fp;
for (fp = _IO_list_all; fp != NULL; fp = fp->_chain)
if (fp->_flags & _IO_LINE_BUF)
if ((fp->_flags & _IO_NO_WRITES) == 0 && fp->_flags & _IO_LINE_BUF)
_IO_OVERFLOW (fp, EOF);
}
+80 -7
View File
@@ -1,5 +1,5 @@
/*
Copyright (C) 1994 Free Software Foundation
Copyright (C) 1994, 1997 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -25,6 +25,73 @@ the executable file might be covered by the GNU General Public License. */
#include "libioP.h"
#include "strfile.h"
typedef struct
{
_IO_strfile f;
/* This is used for the characters which do not fit in the buffer
provided by the user. */
char overflow_buf[64];
} _IO_strnfile;
static int
_IO_strn_overflow (_IO_FILE* fp, int c)
{
/* When we come to here this means the user supplied buffer is
filled. But since we must return the number of characters which
would have been written in total we must provide a buffer for
further use. We can do this by writing on and on in the overflow
buffer in the _IO_strnfile structure. */
_IO_strnfile *snf = (_IO_strnfile *) fp;
if (fp->_IO_buf_base != snf->overflow_buf)
{
/* Terminate the string. We know that there is room for at
least one more character since we initialized the stream with
a size to make this possible. */
*fp->_IO_write_ptr = '\0';
_IO_setb (fp, snf->overflow_buf,
snf->overflow_buf + sizeof (snf->overflow_buf), 0);
fp->_IO_write_base = snf->overflow_buf;
fp->_IO_read_base = snf->overflow_buf;
fp->_IO_read_ptr = snf->overflow_buf;
fp->_IO_read_end = snf->overflow_buf + sizeof (snf->overflow_buf);
}
fp->_IO_write_ptr = snf->overflow_buf;
fp->_IO_write_end = snf->overflow_buf;
/* Since we are not really interested in storing the characters
which do not fit in the buffer we simply ignore it. */
return c;
}
static struct _IO_jump_t _IO_strn_jumps = {
JUMP_INIT_DUMMY,
JUMP_INIT(finish, _IO_str_finish),
JUMP_INIT(overflow, _IO_strn_overflow),
JUMP_INIT(underflow, _IO_str_underflow),
JUMP_INIT(uflow, _IO_default_uflow),
JUMP_INIT(pbackfail, _IO_str_pbackfail),
JUMP_INIT(xsputn, _IO_default_xsputn),
JUMP_INIT(xsgetn, _IO_default_xsgetn),
JUMP_INIT(seekoff, _IO_str_seekoff),
JUMP_INIT(seekpos, _IO_default_seekpos),
JUMP_INIT(setbuf, _IO_default_setbuf),
JUMP_INIT(sync, _IO_default_sync),
JUMP_INIT(doallocate, _IO_default_doallocate),
JUMP_INIT(read, _IO_default_read),
JUMP_INIT(write, _IO_default_write),
JUMP_INIT(seek, _IO_default_seek),
JUMP_INIT(close, _IO_default_close),
JUMP_INIT(stat, _IO_default_stat)
};
int
_IO_vsnprintf (string, maxlen, format, args)
char *string;
@@ -32,22 +99,28 @@ _IO_vsnprintf (string, maxlen, format, args)
const char *format;
_IO_va_list args;
{
_IO_strfile sf;
_IO_strnfile sf;
int ret;
#ifdef _IO_MTSAFE_IO
_IO_lock_t lock;
sf._sbf._f._lock = &lock;
sf.f._sbf._f._lock = &lock;
#endif
/* We need to handle the special case where MAXLEN is 0. */
/* We need to handle the special case where MAXLEN is 0. Use the
overflow buffer right from the start. */
if (maxlen == 0)
return 0;
{
string = sf.overflow_buf;
maxlen = sizeof (sf.overflow_buf);
}
_IO_init ((_IO_FILE *) &sf, 0);
_IO_JUMPS ((_IO_FILE *) &sf) = &_IO_str_jumps;
_IO_JUMPS ((_IO_FILE *) &sf) = &_IO_strn_jumps;
_IO_str_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
*((_IO_FILE *) &sf)->_IO_write_ptr = '\0';
if (sf.f._sbf._f._IO_buf_base != sf.overflow_buf)
*sf.f._sbf._f._IO_write_ptr = '\0';
return ret;
}
weak_alias (_IO_vsnprintf, __vsnprintf)
+1 -1
View File
@@ -38,7 +38,7 @@ __duplocale (__locale_t dataset)
__libc_lock_lock (__libc_setlocale_lock);
/* Get memory. */
result = (__locale_t) malloc (sizeof (struct __locale_t));
result = (__locale_t) malloc (sizeof (struct __locale_struct));
if (result != NULL)
{
int cnt;
+1 -1
View File
@@ -104,7 +104,7 @@ extern struct locale_data *_nl_current_##category;
extern const char *const _nl_category_names[LC_ALL + 1];
extern const size_t _nl_category_name_sizes[LC_ALL + 1];
extern struct locale_data * *const _nl_current[LC_ALL];
extern struct locale_data * *const _nl_current[LC_ALL + 1];
/* Name of the standard locale. */
extern const char _nl_C_name[];
+3 -3
View File
@@ -42,7 +42,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
{
/* Intermediate memory for result. */
const char *newnames[LC_ALL];
struct __locale_t result;
struct __locale_struct result;
__locale_t result_ptr;
char *locale_path;
size_t locale_path_len;
@@ -79,7 +79,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
dataset using the C locale data. */
if (category_mask == 0)
{
result_ptr = (__locale_t) malloc (sizeof (struct __locale_t));
result_ptr = (__locale_t) malloc (sizeof (struct __locale_struct));
*result_ptr = result;
goto update;
@@ -158,7 +158,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
if (base == NULL)
{
/* Allocate new structure. */
result_ptr = (__locale_t) malloc (sizeof (struct __locale_t));
result_ptr = (__locale_t) malloc (sizeof (struct __locale_struct));
if (result_ptr == NULL)
return NULL;
+10 -13
View File
@@ -109,7 +109,7 @@ static const struct argp_option options[] =
{ "posix", OPT_POSIX, NULL, 0, N_("Be strictly POSIX conform") },
{ "quiet", OPT_QUIET, NULL, 0,
N_("Suppress warnings and information messages") },
{ "verbose", 'V', NULL, 0, N_("print more messages") },
{ "verbose", 'V', NULL, 0, N_("Print more messages") },
{ NULL, 0, NULL, 0, NULL }
};
@@ -164,11 +164,9 @@ main (int argc, char *argv[])
textdomain (_libc_intl_domainname);
/* Parse and process arguments. */
argp_err_exit_status = 4;
argp_parse (&argp, argc, argv, 0, &remaining, NULL);
/* XXX POSIX is violated since for unknown option a exit value > 3
must be used. */
/* POSIX.2 requires to be verbose about missing characters in the
character map. */
verbose |= posix_conformance;
@@ -176,11 +174,8 @@ main (int argc, char *argv[])
if (argc - remaining != 1)
{
/* We need exactly one non-option parameter. */
argp_help (&argp, stdout, ARGP_HELP_SEE,
argp_help (&argp, stdout, ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR,
program_invocation_short_name);
/* XXX Currently POSIX is violated. We must exit with code 4
but the argp_help function currently does not allow this. */
exit (4);
}
@@ -245,21 +240,23 @@ main (int argc, char *argv[])
if (! avail)
{
const char *locale_names[] = { "LC_COLLATE", "LC_CTYPE",
"LC_MONETARY", "LC_NUMERIC",
"LC_TIME", "LC_MESSAGES" };
static const char *locale_names[] =
{
"LC_COLLATE", "LC_CTYPE", "LC_MONETARY",
"LC_NUMERIC", "LC_TIME", "LC_MESSAGES"
};
char *fname;
int fd;
struct stat st;
asprintf (&fname, LOCALE_PATH "/%s/%s", act_add_locdef->name,
asprintf (&fname, LOCALEDIR "/%s/%s", act_add_locdef->name,
locale_names[cat]);
fd = open (fname, O_RDONLY);
if (fd == -1)
{
free (fname);
asprintf (&fname, LOCALE_PATH "/%s/%s/SYS_%s",
asprintf (&fname, LOCALEDIR "/%s/%s/SYS_%s",
act_add_locdef->name, locale_names[cat],
locale_names[cat]);
+25 -3
View File
@@ -26,6 +26,7 @@
#include <locale.h>
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
@@ -76,10 +77,31 @@ locfile_read (const char *filename, struct charset_t *charset)
{
if (filename[0] != '/')
{
char path[strlen (filename) + 1 + sizeof (LOCSRCDIR)];
char *i18npath = __secure_getenv ("I18NPATH");
if (i18npath != NULL && *i18npath != '\0')
{
char path[strlen (filename) + 1 + strlen (i18npath) + 1];
char *next;
i18npath = strdupa (i18npath);
stpcpy (stpcpy (stpcpy (path, LOCSRCDIR), "/"), filename);
ldfile = lr_open (path, locfile_hash);
while (ldfile == NULL
&& (next = strsep (&i18npath, ":")) != NULL)
{
stpcpy (stpcpy (stpcpy (path, next), "/"), filename);
ldfile = lr_open (path, locfile_hash);
}
}
/* Test in the default directory. */
if (ldfile == NULL)
{
char path[strlen (filename) + 1 + sizeof (LOCSRCDIR)];
stpcpy (stpcpy (stpcpy (path, LOCSRCDIR), "/"), filename);
ldfile = lr_open (path, locfile_hash);
}
}
if (ldfile == NULL)
+5 -1
View File
@@ -49,6 +49,9 @@ static struct locale_data * *const _nl_current[] =
[category] = &_nl_current_##category,
#include "categories.def"
#undef DEFINE_CATEGORY
/* We need this additional element to simplify the code. It must
simply be != NULL. */
[LC_ALL] = (struct locale_data **) ~0ul
};
/* Array indexed by category of pointers to _nl_C_CATEGORY slots.
@@ -368,7 +371,8 @@ setlocale (int category, const char *locale)
/* We must not simply free a global locale since we have no
control over the usage. So we mark it as un-deletable. */
newdata->usage_count = MAX_USAGE_COUNT;
if (newdata->usage_count != MAX_USAGE_COUNT)
newdata->usage_count = MAX_USAGE_COUNT;
}
/* Create new composite name. */
+1 -1
View File
@@ -25,7 +25,7 @@
(almost) opaque type for the user level programs. The file and
this data structure is not standardized. Don't rely on it. It can
go away without warning. */
typedef struct __locale_t
typedef struct __locale_struct
{
struct locale_data *__locales[6]; /* XXX LC_ALL should be used here */
+205
View File
@@ -0,0 +1,205 @@
970b316dd260f981b02f80c5481037db charmaps/ANSI_X3.110-1983
63ca7fd8249a3065c2cf46d3568ce205 charmaps/ANSI_X3.4-1968
e86c1b2ef30069c39ae57c74044c8f5f charmaps/ASMO_449
64cdea65126674d17e4d4de9eebe7a7d charmaps/BALTIC
44b589073659d5059ed28feae29d1bb9 charmaps/BS_4730
3014b545b72ea460c6be1c0e736fd0fe charmaps/BS_VIEWDATA
7c114537b032dcb0c33fad6447f4e390 charmaps/CP1250
dbe7661c6a5b123e8c5d369fa4dcdaf7 charmaps/CP1251
7257c9691d957e62a7e637cc0b4a3883 charmaps/CP1252
5d596c65b87acd46382b62b627419906 charmaps/CP1253
26d7fe7875157b1264a0feb2af3bd4b1 charmaps/CP1254
995beb377a9b10ceb69d2e2db9f38c0c charmaps/CP1255
8f3ab677c4c41d9a602ec5a9d2181a58 charmaps/CP1256
9ac7292aa07f1774b3fa82407f50bfe0 charmaps/CP1257
3e7ab730f995ee2aac310d086877f76c charmaps/CSA_Z243.4-1985-1
41dadf28b93935585caa80790fb9cfe1 charmaps/CSA_Z243.4-1985-2
1f2207e691c3adad58244f7561c987c8 charmaps/CSA_Z243.4-1985-GR
61c0c0ffff0c3543641c16bf9196405d charmaps/CSN_369103
cda6b11a184e5d046bd753b34b4c5c16 charmaps/CWI
8c01af7e97fa05c868747364aeee903f charmaps/DEC-MCS
6d641c1ca619a395699c9e08f38aade0 charmaps/DIN_66003
56a240f6ab1652084d70d62e71df76b9 charmaps/DS_2089
aaf3aa1f7973d24c10f0195e44d309cc charmaps/EBCDIC-AT-DE
2ac9ed4896146b681fa877218b987397 charmaps/EBCDIC-AT-DE-A
3128740dffa196fed88be336e8b3b6a4 charmaps/EBCDIC-CA-FR
c37b7c8e96d7ee23cc4a6de8fb38a144 charmaps/EBCDIC-DK-NO
91c7c4ae978f1037531a1850d796db38 charmaps/EBCDIC-DK-NO-A
b70f369a9a6665a013f4d67ddafb9117 charmaps/EBCDIC-ES
2bb6d464c083baf2e4590510356efc54 charmaps/EBCDIC-ES-A
da80b72f81b71aa750c89efe36cdebc9 charmaps/EBCDIC-ES-S
4900c129fe536d90eef1fa079021d600 charmaps/EBCDIC-FI-SE
53493344a23c5915d05cb445596e6985 charmaps/EBCDIC-FI-SE-A
16441fef214449bf01833c75119f4218 charmaps/EBCDIC-FR
47bc93bac2e9121e92ec45e6b084ac3e charmaps/EBCDIC-IS-FRISS
590d2d63cffe663a57f9594a88a5d252 charmaps/EBCDIC-IT
c51d96a6c0701ace762c1b381650c9e2 charmaps/EBCDIC-PT
37b02d6622d5bbad31dbd29e5ea85c1a charmaps/EBCDIC-UK
72fc4fb96a6b4fb18090aaf5c1ca5e04 charmaps/EBCDIC-US
a66fceae768b6c6653347c6d62a591e2 charmaps/ECMA-CYRILLIC
9f8b15ccd32dc406d449428624c7f5a9 charmaps/ES
d8827d6828355187991c0c77b1d175e0 charmaps/ES2
684e59dfaedd5be03cdb75f13bd4087b charmaps/GB_1988-80
eac9ece498b20cea3f64e08e29fcf728 charmaps/GOST_19768-74
aa2138ecb935ae395a42e2a36fae17df charmaps/GREEK7
016bf365bfbe76a2dffd3371e449bed8 charmaps/GREEK7-OLD
cd9b8358fd4ee9ca42f51dd5b9bee1d2 charmaps/GREEK-CCITT
d601c5e0564708cccc77f5a0ff21ad5a charmaps/HP-ROMAN8
ac6aefc1a0ee7a71a219aeaa45d2dd59 charmaps/IBM037
6c88d3707f227d81de6c486fa37291af charmaps/IBM038
a866b15cb70f42db3e10208dc1c6c760 charmaps/IBM1004
9cf5a37e4b3adb3cbd07dacfdfa339f3 charmaps/IBM1026
a9da79881a9ca162290d30dbc60e50ef charmaps/IBM1047
efd81c94d2eb08b06b917fab1999237e charmaps/IBM256
4cd391704e0bfa5004f51aee15d63487 charmaps/IBM273
9cd875dcc061173394ddccb59df09d5d charmaps/IBM274
85f505f2920525084080877e61c3c676 charmaps/IBM275
a3e907c09ff00ca647dd250da4d08910 charmaps/IBM277
d5228847a6c37dd5d0bfef061a87ddf5 charmaps/IBM278
961510d2dc9ac86a74c490a14fb2c5bd charmaps/IBM280
e743c1c1e6cb73c36b4afe941cf98aeb charmaps/IBM281
356b5249cf790ebba361a41c9ab0008f charmaps/IBM284
f0fb91312ba9bda57ae7d54c08fe7277 charmaps/IBM285
3721e2fe385430d0b723d3670843c5e6 charmaps/IBM290
9a2d9a73447dffdecb2ce7c1f0312073 charmaps/IBM297
bdfddcd88b3f1ca36576247b4c50282f charmaps/IBM420
4aa0aac1583eba7e8e9fa5098522eab5 charmaps/IBM423
c58e6bc022f94eef43fc7ed684c5157f charmaps/IBM424
1ec3b0acdbcd99941c889e41e997e61e charmaps/IBM437
c4472e9815e61c39586a51ae60a13e4e charmaps/IBM500
634e54bc22ec929c4a9782e0437e4ed3 charmaps/IBM850
f58eac70d307cc4a242f33a93ddbf99a charmaps/IBM851
2e65788cf6f20256b6cbd3f9f1584ab0 charmaps/IBM852
3945e5dcd7088ce2deed5399fccf8464 charmaps/IBM855
9b6d2ea97443ffd9925455efaad1dede charmaps/IBM857
e01be3d125620dc75439fa2e3b608636 charmaps/IBM860
28166b8677342cda155574d5c3f223fe charmaps/IBM861
9c0af519221ec94358866e2608fe91f8 charmaps/IBM862
98d2001523bb39c9532979b4df6ad326 charmaps/IBM863
deb6bde660b73869e87174bec7ba27dc charmaps/IBM864
f58ccd68d1019be24883064012d00b9b charmaps/IBM865
d18990891c7f4beb67520dcaaa2ab94b charmaps/IBM868
04c8bce968ed0b84a9facd22c4efde61 charmaps/IBM869
711e343635c377f70561f2b8091a3b37 charmaps/IBM870
6cb196018f85ea9ca94a59cadf5326c4 charmaps/IBM871
f344024ec2efbc52d4985f676018da7f charmaps/IBM875
02e6cae94ceaedeaf335157831251f91 charmaps/IBM880
bfd57147762dfa155c9b0cb7e3caea16 charmaps/IBM891
f46fdde76da7a47f73c79e4cfc7d6e54 charmaps/IBM903
3f0f3fead1f82ceef5c5e175305a7088 charmaps/IBM904
77af7f0a6d441433069cf1bc96babb88 charmaps/IBM905
445c6202fdbe83c728a2dfe868732f02 charmaps/IBM918
efe297def24e84feaa37856884dd829e charmaps/IEC_P27-1
4badb4c8c58e1d30b540f5742f7e69bc charmaps/INIS
9f3f79ab67a41ac29a93cfba31c5e2af charmaps/INIS-8
88f6cdba3e3d1b858bd269f62123f8c0 charmaps/INIS-CYRILLIC
44a7a7a18fe17c5eadaf24bf976da25e charmaps/INVARIANT
8131fd60be71f5474823c96f8b3e1de3 charmaps/ISO_10367-BOX
b71ed28fbb5d7d62d9f3a710a34a6df4 charmaps/ISO_10646
bb31373cb7d39a205bae221e58f1d4a1 charmaps/ISO_2033-1983
36644828d2f0db4119698984cff9fff0 charmaps/ISO_5427
09aa0a2d88e51399bd1581dc6e2394ce charmaps/ISO_5427-EXT
8afb96037ce01e4debf8df7dc4be5c57 charmaps/ISO_5428
49b4677573bd28d794b71771cba51f2c charmaps/ISO_646.BASIC
a4d959a49db1e8c9f40c406206560a46 charmaps/ISO_646.IRV
8fff113e98ee8ca7244d96236cd9a9a4 charmaps/ISO_6937
4b725c11b8acac218edb223a8fabe28c charmaps/ISO_6937-2-25
21cbdcf9e505338eeff0aaecccb01d24 charmaps/ISO_6937-2-ADD
1524185dff114b3f072cdde41b2757d9 charmaps/ISO-8859-1
27b9c1e552f5fd0b27fc536f0fa95fa4 charmaps/ISO-8859-10
37edf0c113b991fa03454c11efe7a604 charmaps/ISO-8859-2
23f592d1c931fbae7aab787764ce4e13 charmaps/ISO-8859-3
8da948413a01091eee9824a1acf8e9da charmaps/ISO-8859-4
802615fe39f14271c9f6a9c7bbb6fefe charmaps/ISO-8859-5
0ce863896fefabade74256df4d81504f charmaps/ISO-8859-6
dbfbcb0cde6aca45dccc8e1fa3dbeccc charmaps/ISO-8859-7
d202cea38f00eb9a64816e7471b4fba1 charmaps/ISO-8859-8
0f2d28310846869627d4957ff7af7672 charmaps/ISO-8859-9
0ff1cec843b556575348c403d1a44f5b charmaps/ISO_8859-SUPP
e3d2b1067decd1b5a6db1e059458a663 charmaps/ISO-IR-90
6c2093382e84d8304500816c0e6e9517 charmaps/IT
85787bcfd8a57d23e444413454471f02 charmaps/JIS_C6220-1969-JP
87c6ebd0c4aa8e298bc2b5f148e83ea1 charmaps/JIS_C6220-1969-RO
246eb24242c02164520df418f2d963b0 charmaps/JIS_C6229-1984-A
3bb35d7d629bc4f5c486051b4b2315e1 charmaps/JIS_C6229-1984-B
cfaed7e9366ac0c053d1a6841a813bc3 charmaps/JIS_C6229-1984-B-ADD
2f973a2199e6c70da93c17a55e726a70 charmaps/JIS_C6229-1984-HAND
106feb69588f588bcb69f269a904cd5c charmaps/JIS_C6229-1984-HAND-ADD
e5f0a57ea025f7a4d74e43ae5dd506b6 charmaps/JIS_C6229-1984-KANA
53fefc27f5ab707f14e97a755e36a91c charmaps/JIS_X0201
a99c92babdf549c9b8902d86ef6a99b4 charmaps/JUS_I.B1.002
1ca9cd921efb2db125b3e408daee8720 charmaps/JUS_I.B1.003-MAC
be91175d769b4817a28312d2a2162fe5 charmaps/JUS_I.B1.003-SERB
da93a4e606e0ad840f25eaad48164d7d charmaps/KOI-8
1623c0ffb000db9f365d2b1b695aac14 charmaps/KOI8-R
a3209c513563672e6da7776d30ae6f03 charmaps/KSC5636
40c613c89d8293a342dee656e155dc05 charmaps/LATIN-GREEK
7c211fac48ca088792c29bbe943b0216 charmaps/LATIN-GREEK-1
75f99e2c3282eb84c00ba39dda5495fb charmaps/MACINTOSH
15ca1d6d67e5b92f2b597a2e2ac078ea charmaps/MAC-IS
b869985c0d872c31ac1156c76c951b28 charmaps/MSZ_7795.3
08aed8b910a6d892107bb8cdd71794f5 charmaps/NATS-DANO
5abf5f2d900fcbc2ba555b1554424a98 charmaps/NATS-DANO-ADD
7d60589127a94570e8b3f1281cd0e8eb charmaps/NATS-SEFI
c32dc6d37dd5cf0a129c91f05a5b89e0 charmaps/NATS-SEFI-ADD
6c83fd70b4f2d5301cc808e426e30e4e charmaps/NEXTSTEP
441065ddef635bc15047c309b3f35951 charmaps/NF_Z_62-010
d867bfe77c36b2d1aeecaa3f57d9d4e1 charmaps/NF_Z_62-010-1973
018e57c7bd71e87a5e656abfe816a7f3 charmaps/NS_4551-1
02b6dd2e3ca9d725fa1a170719fddfde charmaps/NS_4551-2
aa63a528dd77226508543f05d083731a charmaps/PT
682f1056b6275ddd149e25a358362ea0 charmaps/PT2
9680704e24c31df79809b65a27bd071e charmaps/SAMI
0aec6669370200f2b257438a600d221c charmaps/SEN_850200_B
8d0de9fd47615c228c4464af3b02c397 charmaps/SEN_850200_C
db3c60025eb80244d70bf7889f058055 charmaps/T.101-G2
572baa84bd05d4b236b7e2fb211d0dfd charmaps/T.61-7BIT
1e39e36aa7544014059b0aa8381ab051 charmaps/T.61-8BIT
81c8e12a75dff4371ce82773d670cd6d charmaps/VIDEOTEX-SUPPL
45ade09ead9fd385d58504bfc005ecab locales/da_DK
249894e0554d46d1fbdae4a5fb8cc20e locales/de_AT
b3628f73e00bb655a5e96bcc2331893c locales/de_BE
e74bb8234af71907f2e53ef2e60d9f45 locales/de_CH
b09f9fa150fb8c13b2a5ed17a3448241 locales/de_DE
f9c522cf7d07e8020e4b723b29caf8d0 locales/de_LU
df036d626c53c86c06231c1502e96fbb locales/en_CA
84105524bf0eba76d4a32c3aac8d9a34 locales/en_CA,2.5
f55dc7b52a0eb150bab63eef74651a0d locales/en_DK
20946213e1c36e3650af5ddfc524bd35 locales/en_GB
8f9daff1bd5b2a1332c5bcd54a8aed31 locales/en_IE
566209c74fefc01c3c5752b2f5eae667 locales/en_US
847fbfac1565c5babea6d6b831bd5242 locales/es_ES
732fd15661f8c081e5b43de94832cfc4 locales/et_EE
df1e697015f3f3b572231aa9ba07633d locales/eu_ES
bda978c8b0e379d57a8599edfdb2e858 locales/fi_FI
a25300033ea6c619a4e15051f14aa65e locales/fo_FO
02ca55b19338f94530f0b60999638ed4 locales/fr_BE
655c7b8713b9aad20014df2c27928cb7 locales/fr_CA
8e60885c3fda81bc7773f139657974f3 locales/fr_CA,2.13
8a76a0e3ea2923367fdbab78a6bc67cb locales/fr_CA,2.13.orig
19403a5cd69a9ad658b173859eb022ef locales/fr_CH
48d8981b117e72c5eb2e9c181cbd7d2b locales/fr_FR
cc1b77cf4cdc4488a99637e730e0f57f locales/fr_LU
1987b72e766038b0f475165c994d1469 locales/ga_IE
be2ef06fd9a4b4def515216972fe9250 locales/gr_GR
9e2de7fe4b41f9bad952cdc5bfd77cd4 locales/hr_HR
7f35d03bbe29b53831674704f8b307af locales/hu_HU
1a8b95f6663b7a99703a32c6135d8896 locales/is_IS
47620dbc36bf3ffe04b32dd16b7aae3c locales/it_IT
f02aa03e057d170058cf0a2d606db09b locales/iw_IL
5fa2bc3b08e08cb7f4da2851a7b21f05 locales/kl_GL
d5394568c45886788becf67b54bc916e locales/lt_LT
9239bf9149845fde73e6324eced3964c locales/lv_LV
456f00456ce2e883460aba53e1093c2d locales/nl_BE
e71081f29649cfd4ac8563ae1f7932fa locales/nl_NL
3a0720088defd80baa0623990c6d196a locales/no_NO
6d1bb18d4271cd712e5dc24eec4706b9 locales/pl_PL
b07ce7e57dda4687f2a83cd5ec79a3e0 locales/POSIX
509fc74fdd394f6876358d357f955645 locales/pt_BR
7c2463bcee68bccde3145642a34a8ef1 locales/pt_PT
32c766f85eb82823856485e5802dce19 locales/ro_RO
8d407ed28a435f58c18b52dc48a3593e locales/ru_RU
56af541b88929e9660f30306bd55c4a9 locales/sl_SI
a59a08e2288391bc0882068def61d366 locales/sv_FI
cc6d1db9e6bb9165429a0be9f46a2c79 locales/sv_SE
7f6c0e878f709be0b933ad05100e168c locales/tr_TR
+33
View File
@@ -0,0 +1,33 @@
1997-03-17 03:32 Ulrich Drepper <drepper@cygnus.com>
* sort-test.sh: Call localedef with additional environment variable
I18NPATH to point to not-yet-installed locale data files.
* locales/POSIX: Updated version from maintainer.
1997-02-15 14:32 15:10 Andreas Jaeger <aj@arthur.pfalz.de>
* collate-test.c (main): Change prototype definition to prevent
warning.
1997-02-15 17:46 Ulrich Drepper <drepper@cygnus.com>
* locales/de_DE: Include real collation data. It's similar to the
en_DK information but the order of small and capital characters is
exchanged.
* collate-test.c: New file. Test suite for strcoll function.
* de_DE.in: Input file for collation test.
* da_DK.in: Likewise.
* xfrm-test.c: New file. Test suite for strxfrm function.
1996-12-10 02:47 Ulrich Drepper <drepper@cygnus.com>
* All charmaps: Fix entries for <quotation-mark>.
1996-10-17 18:57 Ulrich Drepper <drepper@cygnus.com>
* Makefile (charmaps): Don't try to install CVS or RCS directory.
(locales): Likewise.
Reported by Matthias Urlichs.
+53
View File
@@ -0,0 +1,53 @@
# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
# The GNU C 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
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public
# License along with the GNU C Library; see the file COPYING.LIB. If not,
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# Makefile for installing locale data source files.
subdir := localedata
all: # Make this the default target; it will be defined in Rules.
# List with all available character set descriptions.
charmaps := $(filter-out $(addprefix charmaps/, CVS RCS %~), \
$(wildcard charmaps/*))
# List with all available character set descriptions.
locales := $(filter-out $(addprefix locales/, CVS RCS %~), \
$(wildcard locales/*))
test-srcs := collate-test xfrm-test
test-input := de_DE.ISO-8859-1 da_DK.ISO-8859-1 fr_CA,2.13.ISO-8859-1
# Get $(inst_i18ndir) defined.
include ../Makeconfig
# Files to install.
install-others := $(addprefix $(inst_i18ndir)/, $(charmaps) $(locales))
include ../Rules
# Install the message object files as libc.po in the language directory.
$(inst_i18ndir)/charmaps/%: charmaps/%; $(do-install)
$(inst_i18ndir)/locales/%: locales/%; $(do-install)
ifeq (no,$(cross-compiling))
tests: $(objpfx)collate-test $(objpfx)xfrm-test
$(SHELL) -e sort-test.sh $(common-objpfx) $(test-input)
endif
+99
View File
@@ -0,0 +1,99 @@
POSIX locale descriptions
and
POSIX character set descriptions
Ulrich Drepper Time-stamp: <1997/02/12 22:13:01 drepper>
drepper@cygnus.com
This add-on package contains the data needed to build the locale data
files to use the internationalization features of the GNU libc.
POSIX.2 describes the `localedef' utility which is part of the GNU libc.
You need this program to "compile" the locale description in a form
suitable for fast access by the GNU libc functions. Any compilation is
based on a given character set.
To use these data files you should add the name of this add-on
(localedata) to the list of add-on you specify while compiling the GNU
libc:
configure --enable-add-ons=...,localedata ...
where ... are the options you normally choose. Once you run `make
install' for the GNU libc the data files are automatically installed in
the right place, ready for use by the `localedef' program.
To compile the locale data files you simply have to decide which locale
(based on the location and the language) and which character set you
use. E.g., French speaking Canadians would use the locale `fr_CA' and
the character set `ISO_8859-1,1987'. Calling `localedef' to get the
desired data should happen like this:
localedef -i fr_CA -f ISO-8859-1 fr_CA
This will place the 6 output files in the appropriate directory where
the GNU libc functions can find them. Please note that you need the
rights to write to this directory ($(prefix)/share/locale, where
$(prefix) is the value you specified while configuring GNU libc). If
you do not have the necessary rights, you can write the files into an
arbitrary directory by giving a path including a '/' character instead
of `fr_CA'. E.g., to put the new files in a subdirectory of the
current directory simply use
localedef -i fr_CA -f ISO-8859-1 ./fr_CA
How to use these data files is described in the GNU libc manual,
especially in the section describing the `setlocale' function.
The here contained files can originally be found at
ftp://dkuug.dk/i18n/WG15-collection
Keld Jörn Simonsen from the Danish Unix User Group maintains this
archive on behalf of the POSIX working groups. When you find some wrong
data or want to add something please contact
Keld Jörn Simonsen <keld@dkuug.dk>
and
Ulrich Drepper <drepper@cygnus.com>
Please make sure your corrections are relativ to the originally
distributed files. Consult the CHECKSUMS file which contains the MD5
sums for all data files.
One more note: the `POSIX' locale definition is not meant to be used
as an input file for `localedef'. It is rather there to show the
values with are built in the libc binaries as default values when no
legal locale is found or the "C" or "POSIX" locale is selected.
The collation test suite
########################
This package also contains a (beginning of a) test suite for the
collation functions in the GNU libc. The files are provided sorted.
The test program shuffles the lines and sort them afterwards.
Some of the files are provided in 8bit form, i.e., not only ASCII
characters. So the tools you use to process the files should be 8bit
clean.
To run the test program the appropriate locale information must be
installed. Therefore the localedef program is used to generate this
data used the locale and charmap description files contained here.
Since we cannot run the localedef program in case of cross-compilation
no tests at all are performed.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Local Variables:
mode:text
eval:(load-library "time-stamp")
eval:(make-local-variable 'write-file-hooks)
eval:(add-hook 'write-file-hooks 'time-stamp)
eval:(setq time-stamp-format '(time-stamp-yyyy/mm/dd time-stamp-hh:mm:ss user-login-name))
End:
+2
View File
@@ -0,0 +1,2 @@
The charmaps/ directory contains charmaps for coded character sets which
contains the portable POSIX character repertoire.
+509
View File
@@ -0,0 +1,509 @@
<code_set_name> ANSI_X3.110-1983
<comment_char> %
<escape_char> /
% source: ECMA registry
% alias ISO-IR-99
% alias CSA_T500-1983
% alias NAPLPS
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<PA> /x80 <U0080> PADDING CHARACTER (PAD)
<HO> /x81 <U0081> HIGH OCTET PRESET (HOP)
<BH> /x82 <U0082> BREAK PERMITTED HERE (BPH)
<NH> /x83 <U0083> NO BREAK HERE (NBH)
<IN> /x84 <U0084> INDEX (IND)
<NL> /x85 <U0085> NEXT LINE (NEL)
<SA> /x86 <U0086> START OF SELECTED AREA (SSA)
<ES> /x87 <U0087> END OF SELECTED AREA (ESA)
<HS> /x88 <U0088> CHARACTER TABULATION SET (HTS)
<HJ> /x89 <U0089> CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
<VS> /x8A <U008A> LINE TABULATION SET (VTS)
<PD> /x8B <U008B> PARTIAL LINE FORWARD (PLD)
<PU> /x8C <U008C> PARTIAL LINE BACKWARD (PLU)
<RI> /x8D <U008D> REVERSE LINE FEED (RI)
<S2> /x8E <U008E> SINGLE-SHIFT TWO (SS2)
<S3> /x8F <U008F> SINGLE-SHIFT THREE (SS3)
<DC> /x90 <U0090> DEVICE CONTROL STRING (DCS)
<P1> /x91 <U0091> PRIVATE USE ONE (PU1)
<P2> /x92 <U0092> PRIVATE USE TWO (PU2)
<TS> /x93 <U0093> SET TRANSMIT STATE (STS)
<CC> /x94 <U0094> CANCEL CHARACTER (CCH)
<MW> /x95 <U0095> MESSAGE WAITING (MW)
<SG> /x96 <U0096> START OF GUARDED AREA (SPA)
<EG> /x97 <U0097> END OF GUARDED AREA (EPA)
<SS> /x98 <U0098> START OF STRING (SOS)
<GC> /x99 <U0099> SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
<SC> /x9A <U009A> SINGLE CHARACTER INTRODUCER (SCI)
<CI> /x9B <U009B> CONTROL SEQUENCE INTRODUCER (CSI)
<ST> /x9C <U009C> STRING TERMINATOR (ST)
<OC> /x9D <U009D> OPERATING SYSTEM COMMAND (OSC)
<PM> /x9E <U009E> PRIVACY MESSAGE (PM)
<AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC)
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
<Ct> /xA2 <U00A2> CENT SIGN
<Pd> /xA3 <U00A3> POUND SIGN
<DO> /xA4 <U0024> DOLLAR SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<Nb> /xA6 <U0023> NUMBER SIGN
<SE> /xA7 <U00A7> SECTION SIGN
<Cu> /xA8 <U00A4> CURRENCY SIGN
<'6> /xA9 <U2018> LEFT SINGLE QUOTATION MARK
<"6> /xAA <U201C> LEFT DOUBLE QUOTATION MARK
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<<-> /xAC <U2190> LEFTWARDS ARROW
<-!> /xAD <U2191> UPWARDS ARROW
<-/>> /xAE <U2192> RIGHTWARDS ARROW
<-v> /xAF <U2193> DOWNWARDS ARROW
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<*X> /xB4 <U00D7> MULTIPLICATION SIGN
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<-:> /xB8 <U00F7> DIVISION SIGN
<'9> /xB9 <U2019> RIGHT SINGLE QUOTATION MARK
<"9> /xBA <U201D> RIGHT DOUBLE QUOTATION MARK
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
<?I> /xBF <U00BF> INVERTED QUESTION MARK
<"!> /xC1 <UE002> NON-SPACING GRAVE ACCENT <ISO-IR-103_C1> (not a real character)
<"'> /xC2 <UE003> NON-SPACING ACUTE ACCENT <ISO-IR-103_C2> (not a real character)
<"/>> /xC3 <UE004> NON-SPACING CIRCUMFLEX ACCENT <ISO-IR-103_C3> (not a real character)
<"?> /xC4 <UE005> NON-SPACING TILDE <ISO-IR-103_C4> (not a real character)
<"-> /xC5 <UE006> NON-SPACING MACRON <ISO-IR-103_C5> (not a real character)
<"(> /xC6 <UE007> NON-SPACING BREVE <ISO-IR-103_C6> (not a real character)
<".> /xC7 <UE008> NON-SPACING DOT ABOVE <ISO-IR-103_C7> (not a real character)
<":> /xC8 <UE009> NON-SPACING DIAERESIS <ISO-IR-103_C8> (not a real character)
<"//> /xC9 <UE011> NON-SPACING LONG SOLIDUS OVERLAY <ISO-IR-128_C9> (not a real character)
<"0> /xCA <UE00A> NON-SPACING RING ABOVE <ISO-IR-103_CA> (not a real character)
<",> /xCB <UE00B> NON-SPACING CEDILLA <ISO-IR-103_CB> (not a real character)
<"_> /xCC <UE00C> NON-SPACING LOW LINE <ISO-IR-103_CC> (not a real character)
<""> /xCD <UE00D> NON-SPACING DOUBLE ACCUTE ACCENT <ISO-IR-103_CD> (not a real character)
<";> /xCE <UE00E> NON-SPACING OGONEK <ISO-IR-103_CE> (not a real character)
<"<> /xCF <UE00F> NON-SPACING CARON <ISO-IR-103_CF> (not a real character)
<-M> /xD0 <U2014> EM DASH
<1S> /xD1 <U00B9> SUPERSCRIPT ONE
<Rg> /xD2 <U00AE> REGISTERED SIGN
<Co> /xD3 <U00A9> COPYRIGHT SIGN
<TM> /xD4 <U2122> TRADE MARK SIGN
<M8> /xD5 <U266A> EIGHTH NOTE
<hh> /xD6 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
<vv> /xD7 <U2502> BOX DRAWINGS LIGHT VERTICAL
<FD> /xD8 <U2571> BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
<BD> /xD9 <U2572> BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
<Fd> /xDA <U25E2> BLACK LOWER RIGHT TRIANGLE
<Bd> /xDB <U25E3> BLACK LOWER LEFT TRIANGLE
<18> /xDC <U215B> VULGAR FRACTION ONE EIGHTH
<38> /xDD <U215C> VULGAR FRACTION THREE EIGHTHS
<58> /xDE <U215D> VULGAR FRACTION FIVE EIGHTHS
<78> /xDF <U215E> VULGAR FRACTION SEVEN EIGHTHS
<Om> /xE0 <U2126> OHM SIGN
<AE> /xE1 <U00C6> LATIN CAPITAL LETTER AE
<D-> /xE2 <U00D0> LATIN CAPITAL LETTER ETH (Icelandic)
<-a> /xE3 <U00AA> FEMININE ORDINAL INDICATOR
<H//> /xE4 <U0126> LATIN CAPITAL LETTER H WITH STROKE
<vh> /xE5 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
<IJ> /xE6 <U0132> LATIN CAPITAL LIGATURE IJ
<L.> /xE7 <U013F> LATIN CAPITAL LETTER L WITH MIDDLE DOT
<L//> /xE8 <U0141> LATIN CAPITAL LETTER L WITH STROKE
<O//> /xE9 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
<OE> /xEA <U0152> LATIN CAPITAL LIGATURE OE
<-o> /xEB <U00BA> MASCULINE ORDINAL INDICATOR
<TH> /xEC <U00DE> LATIN CAPITAL LETTER THORN (Icelandic)
<T//> /xED <U0166> LATIN CAPITAL LETTER T WITH STROKE
<NG> /xEE <U014A> LATIN CAPITAL LETTER ENG (Sami)
<'n> /xEF <U0149> LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
<kk> /xF0 <U0138> LATIN SMALL LETTER KRA (Greenlandic)
<ae> /xF1 <U00E6> LATIN SMALL LETTER AE
<d//> /xF2 <U0111> LATIN SMALL LETTER D WITH STROKE
<d-> /xF3 <U00F0> LATIN SMALL LETTER ETH (Icelandic)
<h//> /xF4 <U0127> LATIN SMALL LETTER H WITH STROKE
<i.> /xF5 <U0131> LATIN SMALL LETTER DOTLESS I
<ij> /xF6 <U0133> LATIN SMALL LIGATURE IJ
<l.> /xF7 <U0140> LATIN SMALL LETTER L WITH MIDDLE DOT
<l//> /xF8 <U0142> LATIN SMALL LETTER L WITH STROKE
<o//> /xF9 <U00F8> LATIN SMALL LETTER O WITH STROKE
<oe> /xFA <U0153> LATIN SMALL LIGATURE OE
<ss> /xFB <U00DF> LATIN SMALL LETTER SHARP S (German)
<th> /xFC <U00FE> LATIN SMALL LETTER THORN (Icelandic)
<t//> /xFD <U0167> LATIN SMALL LETTER T WITH STROKE
<ng> /xFE <U014B> LATIN SMALL LETTER ENG (Sami)
<''> /xC2/x20 <U00B4> ACUTE ACCENT
<a'> /xC2/x61 <U00E1> LATIN SMALL LETTER A WITH ACUTE
<A'> /xC2/x41 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
<e'> /xC2/x65 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<E'> /xC2/x45 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<i'> /xC2/x69 <U00ED> LATIN SMALL LETTER I WITH ACUTE
<I'> /xC2/x49 <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
<o'> /xC2/x6F <U00F3> LATIN SMALL LETTER O WITH ACUTE
<O'> /xC2/x4F <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
<u'> /xC2/x75 <U00FA> LATIN SMALL LETTER U WITH ACUTE
<U'> /xC2/x55 <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
<y'> /xC2/x79 <U00FD> LATIN SMALL LETTER Y WITH ACUTE
<Y'> /xC2/x59 <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
<c'> /xC2/x63 <U0107> LATIN SMALL LETTER C WITH ACUTE
<C'> /xC2/x43 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
<l'> /xC2/x6C <U013A> LATIN SMALL LETTER L WITH ACUTE
<L'> /xC2/x4C <U0139> LATIN CAPITAL LETTER L WITH ACUTE
<n'> /xC2/x6E <U0144> LATIN SMALL LETTER N WITH ACUTE
<N'> /xC2/x4E <U0143> LATIN CAPITAL LETTER N WITH ACUTE
<r'> /xC2/x72 <U0155> LATIN SMALL LETTER R WITH ACUTE
<R'> /xC2/x52 <U0154> LATIN CAPITAL LETTER R WITH ACUTE
<s'> /xC2/x73 <U015B> LATIN SMALL LETTER S WITH ACUTE
<S'> /xC2/x53 <U015A> LATIN CAPITAL LETTER S WITH ACUTE
<z'> /xC2/x7A <U017A> LATIN SMALL LETTER Z WITH ACUTE
<Z'> /xC2/x5A <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
<'(> /xC6/x20 <U02D8> BREVE
<a(> /xC6/x61 <U0103> LATIN SMALL LETTER A WITH BREVE
<A(> /xC6/x41 <U0102> LATIN CAPITAL LETTER A WITH BREVE
<g(> /xC6/x67 <U011F> LATIN SMALL LETTER G WITH BREVE
<G(> /xC6/x47 <U011E> LATIN CAPITAL LETTER G WITH BREVE
<u(> /xC6/x75 <U016D> LATIN SMALL LETTER U WITH BREVE
<U(> /xC6/x55 <U016C> LATIN CAPITAL LETTER U WITH BREVE
<'<> /xCF/x20 <U02C7> CARON (Mandarin Chinese third tone)
<c<> /xCF/x63 <U010D> LATIN SMALL LETTER C WITH CARON
<C<> /xCF/x43 <U010C> LATIN CAPITAL LETTER C WITH CARON
<d<> /xCF/x64 <U010F> LATIN SMALL LETTER D WITH CARON
<D<> /xCF/x44 <U010E> LATIN CAPITAL LETTER D WITH CARON
<e<> /xCF/x65 <U011B> LATIN SMALL LETTER E WITH CARON
<E<> /xCF/x45 <U011A> LATIN CAPITAL LETTER E WITH CARON
<l<> /xCF/x6C <U013E> LATIN SMALL LETTER L WITH CARON
<L<> /xCF/x4C <U013D> LATIN CAPITAL LETTER L WITH CARON
<n<> /xCF/x6E <U0148> LATIN SMALL LETTER N WITH CARON
<N<> /xCF/x4E <U0147> LATIN CAPITAL LETTER N WITH CARON
<r<> /xCF/x72 <U0159> LATIN SMALL LETTER R WITH CARON
<R<> /xCF/x52 <U0158> LATIN CAPITAL LETTER R WITH CARON
<s<> /xCF/x73 <U0161> LATIN SMALL LETTER S WITH CARON
<S<> /xCF/x53 <U0160> LATIN CAPITAL LETTER S WITH CARON
<t<> /xCF/x74 <U0165> LATIN SMALL LETTER T WITH CARON
<T<> /xCF/x54 <U0164> LATIN CAPITAL LETTER T WITH CARON
<z<> /xCF/x7A <U017E> LATIN SMALL LETTER Z WITH CARON
<Z<> /xCF/x5A <U017D> LATIN CAPITAL LETTER Z WITH CARON
<',> /xCB/x20 <U00B8> CEDILLA
<c,> /xCB/x63 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
<C,> /xCB/x43 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
<g,> /xCB/x67 <U0123> LATIN SMALL LETTER G WITH CEDILLA
<G,> /xCB/x47 <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
<k,> /xCB/x6B <U0137> LATIN SMALL LETTER K WITH CEDILLA
<K,> /xCB/x4B <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
<l,> /xCB/x6C <U013C> LATIN SMALL LETTER L WITH CEDILLA
<L,> /xCB/x4C <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
<n,> /xCB/x6E <U0146> LATIN SMALL LETTER N WITH CEDILLA
<N,> /xCB/x4E <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
<r,> /xCB/x72 <U0157> LATIN SMALL LETTER R WITH CEDILLA
<R,> /xCB/x52 <U0156> LATIN CAPITAL LETTER R WITH CEDILLA
<s,> /xCB/x73 <U015F> LATIN SMALL LETTER S WITH CEDILLA
<S,> /xCB/x53 <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
<t,> /xCB/x74 <U0163> LATIN SMALL LETTER T WITH CEDILLA
<T,> /xCB/x54 <U0162> LATIN CAPITAL LETTER T WITH CEDILLA
<a/>> /xC3/x61 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
<A/>> /xC3/x41 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<e/>> /xC3/x65 <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
<E/>> /xC3/x45 <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<i/>> /xC3/x69 <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
<I/>> /xC3/x49 <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<o/>> /xC3/x6F <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
<O/>> /xC3/x4F <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<u/>> /xC3/x75 <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
<U/>> /xC3/x55 <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<y/>> /xC3/x79 <U0177> LATIN SMALL LETTER Y WITH CIRCUMFLEX
<Y/>> /xC3/x59 <U0176> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
<c/>> /xC3/x63 <U0109> LATIN SMALL LETTER C WITH CIRCUMFLEX
<C/>> /xC3/x43 <U0108> LATIN CAPITAL LETTER C WITH CIRCUMFLEX
<g/>> /xC3/x67 <U011D> LATIN SMALL LETTER G WITH CIRCUMFLEX
<G/>> /xC3/x47 <U011C> LATIN CAPITAL LETTER G WITH CIRCUMFLEX
<h/>> /xC3/x68 <U0125> LATIN SMALL LETTER H WITH CIRCUMFLEX
<H/>> /xC3/x48 <U0124> LATIN CAPITAL LETTER H WITH CIRCUMFLEX
<j/>> /xC3/x6A <U0135> LATIN SMALL LETTER J WITH CIRCUMFLEX
<J/>> /xC3/x4A <U0134> LATIN CAPITAL LETTER J WITH CIRCUMFLEX
<s/>> /xC3/x73 <U015D> LATIN SMALL LETTER S WITH CIRCUMFLEX
<S/>> /xC3/x53 <U015C> LATIN CAPITAL LETTER S WITH CIRCUMFLEX
<w/>> /xC3/x77 <U0175> LATIN SMALL LETTER W WITH CIRCUMFLEX
<W/>> /xC3/x57 <U0174> LATIN CAPITAL LETTER W WITH CIRCUMFLEX
<':> /xC8/x20 <U00A8> DIAERESIS
<a:> /xC8/x61 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
<A:> /xC8/x41 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
<e:> /xC8/x65 <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
<E:> /xC8/x45 <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
<i:> /xC8/x69 <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
<I:> /xC8/x49 <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
<o:> /xC8/x6F <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
<O:> /xC8/x4F <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
<u:> /xC8/x75 <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<U:> /xC8/x55 <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<y:> /xC8/x79 <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
<Y:> /xC8/x59 <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
<'.> /xC7/x20 <U02D9> DOT ABOVE (Mandarin Chinese light tone)
<c.> /xC7/x63 <U010B> LATIN SMALL LETTER C WITH DOT ABOVE
<C.> /xC7/x43 <U010A> LATIN CAPITAL LETTER C WITH DOT ABOVE
<e.> /xC7/x65 <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
<E.> /xC7/x45 <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
<g.> /xC7/x67 <U0121> LATIN SMALL LETTER G WITH DOT ABOVE
<G.> /xC7/x47 <U0120> LATIN CAPITAL LETTER G WITH DOT ABOVE
<I.> /xC7/x49 <U0130> LATIN CAPITAL LETTER I WITH DOT ABOVE
<z.> /xC7/x7A <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
<Z.> /xC7/x5A <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
<'"> /xCD/x20 <U02DD> DOUBLE ACUTE ACCENT
<o"> /xCD/x6F <U0151> LATIN SMALL LETTER O WITH DOUBLE ACUTE
<O"> /xCD/x4F <U0150> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
<u"> /xCD/x75 <U0171> LATIN SMALL LETTER U WITH DOUBLE ACUTE
<U"> /xCD/x55 <U0170> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
<a!> /xC1/x61 <U00E0> LATIN SMALL LETTER A WITH GRAVE
<A!> /xC1/x41 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
<e!> /xC1/x65 <U00E8> LATIN SMALL LETTER E WITH GRAVE
<E!> /xC1/x45 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
<i!> /xC1/x69 <U00EC> LATIN SMALL LETTER I WITH GRAVE
<I!> /xC1/x49 <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
<o!> /xC1/x6F <U00F2> LATIN SMALL LETTER O WITH GRAVE
<O!> /xC1/x4F <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
<u!> /xC1/x75 <U00F9> LATIN SMALL LETTER U WITH GRAVE
<U!> /xC1/x55 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
<'m> /xC5/x20 <U00AF> MACRON
<a-> /xC5/x61 <U0101> LATIN SMALL LETTER A WITH MACRON
<A-> /xC5/x41 <U0100> LATIN CAPITAL LETTER A WITH MACRON
<e-> /xC5/x65 <U0113> LATIN SMALL LETTER E WITH MACRON
<E-> /xC5/x45 <U0112> LATIN CAPITAL LETTER E WITH MACRON
<i-> /xC5/x69 <U012B> LATIN SMALL LETTER I WITH MACRON
<I-> /xC5/x49 <U012A> LATIN CAPITAL LETTER I WITH MACRON
<o-> /xC5/x6F <U014D> LATIN SMALL LETTER O WITH MACRON
<O-> /xC5/x4F <U014C> LATIN CAPITAL LETTER O WITH MACRON
<u-> /xC5/x75 <U016B> LATIN SMALL LETTER U WITH MACRON
<U-> /xC5/x55 <U016A> LATIN CAPITAL LETTER U WITH MACRON
<';> /xCE/x20 <U02DB> OGONEK
<a;> /xCE/x61 <U0105> LATIN SMALL LETTER A WITH OGONEK
<A;> /xCE/x41 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
<e;> /xCE/x65 <U0119> LATIN SMALL LETTER E WITH OGONEK
<E;> /xCE/x45 <U0118> LATIN CAPITAL LETTER E WITH OGONEK
<i;> /xCE/x69 <U012F> LATIN SMALL LETTER I WITH OGONEK
<I;> /xCE/x49 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
<u;> /xCE/x75 <U0173> LATIN SMALL LETTER U WITH OGONEK
<U;> /xCE/x55 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
<'0> /xCA/x20 <U02DA> RING ABOVE
<aa> /xCA/x61 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
<AA> /xCA/x41 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
<u0> /xCA/x75 <U016F> LATIN SMALL LETTER U WITH RING ABOVE
<U0> /xCA/x55 <U016E> LATIN CAPITAL LETTER U WITH RING ABOVE
<a?> /xC4/x61 <U00E3> LATIN SMALL LETTER A WITH TILDE
<A?> /xC4/x41 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
<n?> /xC4/x6E <U00F1> LATIN SMALL LETTER N WITH TILDE
<N?> /xC4/x4E <U00D1> LATIN CAPITAL LETTER N WITH TILDE
<i?> /xC4/x69 <U0129> LATIN SMALL LETTER I WITH TILDE
<I?> /xC4/x49 <U0128> LATIN CAPITAL LETTER I WITH TILDE
<o?> /xC4/x6F <U00F5> LATIN SMALL LETTER O WITH TILDE
<O?> /xC4/x4F <U00D5> LATIN CAPITAL LETTER O WITH TILDE
<u?> /xC4/x75 <U0169> LATIN SMALL LETTER U WITH TILDE
<U?> /xC4/x55 <U0168> LATIN CAPITAL LETTER U WITH TILDE
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /xA6 <U0023> NUMBER SIGN
<dollar-sign> /xA4 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+227
View File
@@ -0,0 +1,227 @@
<code_set_name> ANSI_X3.4-1968
<comment_char> %
<escape_char> /
% source: ECMA registry
% alias ISO-IR-6
% alias ANSI_X3.4-1986
% alias ISO_646.IRV:1991
% alias ASCII
% alias ISO646-US
% alias US-ASCII
% alias US
% alias IBM367
% alias CP367
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+213
View File
@@ -0,0 +1,213 @@
<code_set_name> ASMO_449
<comment_char> %
<escape_char> /
% source: ECMA registry
% alias ISO_9036
% alias ARABIC7
% alias ISO-IR-89
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<Cu> /x24 <U00A4> CURRENCY SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,+> /x2C <U060C> ARABIC COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;+> /x3B <U061B> ARABIC SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?+> /x3F <U061F> ARABIC QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<H'> /x41 <U0621> ARABIC LETTER HAMZA
<aM> /x42 <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
<aH> /x43 <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
<wH> /x44 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
<ah> /x45 <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW
<yH> /x46 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
<a+> /x47 <U0627> ARABIC LETTER ALEF
<b+> /x48 <U0628> ARABIC LETTER BEH
<tm> /x49 <U0629> ARABIC LETTER TEH MARBUTA
<t+> /x4A <U062A> ARABIC LETTER TEH
<tk> /x4B <U062B> ARABIC LETTER THEH
<g+> /x4C <U062C> ARABIC LETTER JEEM
<hk> /x4D <U062D> ARABIC LETTER HAH
<x+> /x4E <U062E> ARABIC LETTER KHAH
<d+> /x4F <U062F> ARABIC LETTER DAL
<dk> /x50 <U0630> ARABIC LETTER THAL
<r+> /x51 <U0631> ARABIC LETTER REH
<z+> /x52 <U0632> ARABIC LETTER ZAIN
<s+> /x53 <U0633> ARABIC LETTER SEEN
<sn> /x54 <U0634> ARABIC LETTER SHEEN
<c+> /x55 <U0635> ARABIC LETTER SAD
<dd> /x56 <U0636> ARABIC LETTER DAD
<tj> /x57 <U0637> ARABIC LETTER TAH
<zH> /x58 <U0638> ARABIC LETTER ZAH
<e+> /x59 <U0639> ARABIC LETTER AIN
<i+> /x5A <U063A> ARABIC LETTER GHAIN
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<++> /x60 <U0640> ARABIC TATWEEL
<f+> /x61 <U0641> ARABIC LETTER FEH
<q+> /x62 <U0642> ARABIC LETTER QAF
<k+> /x63 <U0643> ARABIC LETTER KAF
<l+> /x64 <U0644> ARABIC LETTER LAM
<m+> /x65 <U0645> ARABIC LETTER MEEM
<n+> /x66 <U0646> ARABIC LETTER NOON
<h+> /x67 <U0647> ARABIC LETTER HEH
<w+> /x68 <U0648> ARABIC LETTER WAW
<j+> /x69 <U0649> ARABIC LETTER ALEF MAKSURA
<y+> /x6A <U064A> ARABIC LETTER YEH
<:+> /x6B <U064B> ARABIC FATHATAN
<"+> /x6C <U064C> ARABIC DAMMATAN
<=+> /x6D <U064D> ARABIC KASRATAN
<//+> /x6E <U064E> ARABIC FATHA
<'+> /x6F <U064F> ARABIC DAMMA
<1+> /x70 <U0650> ARABIC KASRA
<3+> /x71 <U0651> ARABIC SHADDA
<0+> /x72 <U0652> ARABIC SUKUN
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'-> /x7E <U203E> OVERLINE
<DT> /x7F <U007F> DELETE (DEL)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x00 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x00 <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x00 <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x00 <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x00 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x00 <U007E> TILDE
END CHARMAP
+349
View File
@@ -0,0 +1,349 @@
<code_set_name> BALTIC
<comment_char> %
<escape_char> /
% source: ECMA registry
% &g1esc x2d56 &g2esc x2e56 &g3esc x2f56
% alias ISO-IR-179
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<PA> /x80 <U0080> PADDING CHARACTER (PAD)
<HO> /x81 <U0081> HIGH OCTET PRESET (HOP)
<BH> /x82 <U0082> BREAK PERMITTED HERE (BPH)
<NH> /x83 <U0083> NO BREAK HERE (NBH)
<IN> /x84 <U0084> INDEX (IND)
<NL> /x85 <U0085> NEXT LINE (NEL)
<SA> /x86 <U0086> START OF SELECTED AREA (SSA)
<ES> /x87 <U0087> END OF SELECTED AREA (ESA)
<HS> /x88 <U0088> CHARACTER TABULATION SET (HTS)
<HJ> /x89 <U0089> CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
<VS> /x8A <U008A> LINE TABULATION SET (VTS)
<PD> /x8B <U008B> PARTIAL LINE FORWARD (PLD)
<PU> /x8C <U008C> PARTIAL LINE BACKWARD (PLU)
<RI> /x8D <U008D> REVERSE LINE FEED (RI)
<S2> /x8E <U008E> SINGLE-SHIFT TWO (SS2)
<S3> /x8F <U008F> SINGLE-SHIFT THREE (SS3)
<DC> /x90 <U0090> DEVICE CONTROL STRING (DCS)
<P1> /x91 <U0091> PRIVATE USE ONE (PU1)
<P2> /x92 <U0092> PRIVATE USE TWO (PU2)
<TS> /x93 <U0093> SET TRANSMIT STATE (STS)
<CC> /x94 <U0094> CANCEL CHARACTER (CCH)
<MW> /x95 <U0095> MESSAGE WAITING (MW)
<SG> /x96 <U0096> START OF GUARDED AREA (SPA)
<EG> /x97 <U0097> END OF GUARDED AREA (EPA)
<SS> /x98 <U0098> START OF STRING (SOS)
<GC> /x99 <U0099> SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
<SC> /x9A <U009A> SINGLE CHARACTER INTRODUCER (SCI)
<CI> /x9B <U009B> CONTROL SEQUENCE INTRODUCER (CSI)
<ST> /x9C <U009C> STRING TERMINATOR (ST)
<OC> /x9D <U009D> OPERATING SYSTEM COMMAND (OSC)
<PM> /x9E <U009E> PRIVACY MESSAGE (PM)
<AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC)
<NS> /xA0 <U00A0> NO-BREAK SPACE
<"9> /xA1 <U201D> RIGHT DOUBLE QUOTATION MARK
<Ct> /xA2 <U00A2> CENT SIGN
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<O//> /xA8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<:9> /xAA <U201E> DOUBLE LOW-9 QUOTATION MARK
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<AE> /xAF <U00C6> LATIN CAPITAL LETTER AE
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<''> /xB4 <U00B4> ACUTE ACCENT
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<o//> /xB8 <U00F8> LATIN SMALL LETTER O WITH STROKE
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
<"6> /xBA <U201C> LEFT DOUBLE QUOTATION MARK
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
<ae> /xBF <U00E6> LATIN SMALL LETTER AE
<I;> /xC0 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
<E.> /xC1 <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
<A-> /xC2 <U0100> LATIN CAPITAL LETTER A WITH MACRON
<C'> /xC3 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
<A;> /xC6 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
<C<> /xC7 <U010C> LATIN CAPITAL LETTER C WITH CARON
<G,> /xC8 <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<Z<> /xCA <U017D> LATIN CAPITAL LETTER Z WITH CARON
<E;> /xCB <U0118> LATIN CAPITAL LETTER E WITH OGONEK
<E-> /xCC <U0112> LATIN CAPITAL LETTER E WITH MACRON
<K,> /xCD <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
<I-> /xCE <U012A> LATIN CAPITAL LETTER I WITH MACRON
<L,> /xCF <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
<L//> /xD0 <U0141> LATIN CAPITAL LETTER L WITH STROKE
<N,> /xD1 <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
<N'> /xD2 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
<O-> /xD4 <U014C> LATIN CAPITAL LETTER O WITH MACRON
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
<U;> /xD8 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
<S<> /xD9 <U0160> LATIN CAPITAL LETTER S WITH CARON
<S'> /xDA <U015A> LATIN CAPITAL LETTER S WITH ACUTE
<U-> /xDB <U016A> LATIN CAPITAL LETTER U WITH MACRON
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<Z.> /xDD <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
<Z'> /xDE <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
<i;> /xE0 <U012F> LATIN SMALL LETTER I WITH OGONEK
<e.> /xE1 <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
<a-> /xE2 <U0101> LATIN SMALL LETTER A WITH MACRON
<c'> /xE3 <U0107> LATIN SMALL LETTER C WITH ACUTE
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
<a;> /xE6 <U0105> LATIN SMALL LETTER A WITH OGONEK
<c<> /xE7 <U010D> LATIN SMALL LETTER C WITH CARON
<g,> /xE8 <U0123> LATIN SMALL LETTER G WITH CEDILLA
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<z<> /xEA <U017E> LATIN SMALL LETTER Z WITH CARON
<e;> /xEB <U0119> LATIN SMALL LETTER E WITH OGONEK
<e-> /xEC <U0113> LATIN SMALL LETTER E WITH MACRON
<k,> /xED <U0137> LATIN SMALL LETTER K WITH CEDILLA
<i-> /xEE <U012B> LATIN SMALL LETTER I WITH MACRON
<l,> /xEF <U013C> LATIN SMALL LETTER L WITH CEDILLA
<l//> /xF0 <U0142> LATIN SMALL LETTER L WITH STROKE
<n,> /xF1 <U0146> LATIN SMALL LETTER N WITH CEDILLA
<n'> /xF2 <U0144> LATIN SMALL LETTER N WITH ACUTE
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
<o-> /xF4 <U014D> LATIN SMALL LETTER O WITH MACRON
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
<-:> /xF7 <U00F7> DIVISION SIGN
<u;> /xF8 <U0173> LATIN SMALL LETTER U WITH OGONEK
<s<> /xF9 <U0161> LATIN SMALL LETTER S WITH CARON
<s'> /xFA <U015B> LATIN SMALL LETTER S WITH ACUTE
<u-> /xFB <U016B> LATIN SMALL LETTER U WITH MACRON
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<z.> /xFD <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
<z'> /xFE <U017A> LATIN SMALL LETTER Z WITH ACUTE
<kk> /xFF <U0138> LATIN SMALL LETTER KRA (Greenlandic)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+222
View File
@@ -0,0 +1,222 @@
<code_set_name> BS_4730
<comment_char> %
<escape_char> /
% source: ECMA registry
% alias ISO-IR-4
% alias ISO646-GB
% alias GB
% alias UK
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Pd> /x23 <U00A3> POUND SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'-> /x7E <U203E> OVERLINE
<DT> /x7F <U007F> DELETE (DEL)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x00 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x00 <U007E> TILDE
END CHARMAP
+219
View File
@@ -0,0 +1,219 @@
<code_set_name> BS_VIEWDATA
<comment_char> %
<escape_char> /
% source: ECMA registry
% alias ISO-IR-47
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Pd> /x23 <U00A3> POUND SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<-> /x5B <U2190> LEFTWARDS ARROW
<12> /x5C <U00BD> VULGAR FRACTION ONE HALF
<-/>> /x5D <U2192> RIGHTWARDS ARROW
<-!> /x5E <U2191> UPWARDS ARROW
<OS> /x5F <U25A1> WHITE SQUARE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<14> /x7B <U00BC> VULGAR FRACTION ONE QUARTER
<PP> /x7C <U2225> PARALLEL TO
<34> /x7D <U00BE> VULGAR FRACTION THREE QUARTERS
<-:> /x7E <U00F7> DIVISION SIGN
<DT> /x7F <U007F> DELETE (DEL)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x00 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x00 <U005B> LEFT SQUARE BRACKET
<backslash> /x00 <U005C> REVERSE SOLIDUS
<reverse-solidus> /x00 <U005C> REVERSE SOLIDUS
<right-square-bracket> /x00 <U005D> RIGHT SQUARE BRACKET
<circumflex> /x00 <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x00 <U005E> CIRCUMFLEX ACCENT
<underscore> /x00 <U005F> LOW LINE
<low-line> /x00 <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x00 <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x00 <U007B> LEFT CURLY BRACKET
<vertical-line> /x00 <U007C> VERTICAL LINE
<right-brace> /x00 <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x00 <U007D> RIGHT CURLY BRACKET
<tilde> /x00 <U007E> TILDE
END CHARMAP
+341
View File
@@ -0,0 +1,341 @@
<code_set_name> CP1250
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-EE
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<%0> /x89 <U2030> PER MILLE SIGN
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<S'> /x8C <U015A> LATIN CAPITAL LETTER S WITH ACUTE
<T<> /x8D <U0164> LATIN CAPITAL LETTER T WITH CARON
<Z<> /x8E <U017D> LATIN CAPITAL LETTER Z WITH CARON
<Z'> /x8F <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<TM> /x99 <U2122> TRADE MARK SIGN
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<s'> /x9C <U015B> LATIN SMALL LETTER S WITH ACUTE
<t<> /x9D <U0165> LATIN SMALL LETTER T WITH CARON
<z<> /x9E <U017E> LATIN SMALL LETTER Z WITH CARON
<z'> /x9F <U017A> LATIN SMALL LETTER Z WITH ACUTE
<NS> /xA0 <U00A0> NO-BREAK SPACE
<'<> /xA1 <U02C7> CARON (Mandarin Chinese third tone)
<'(> /xA2 <U02D8> BREVE
<L//> /xA3 <U0141> LATIN CAPITAL LETTER L WITH STROKE
<Cu> /xA4 <U00A4> CURRENCY SIGN
<A;> /xA5 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<':> /xA8 <U00A8> DIAERESIS
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<S,> /xAA <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<Z.> /xAF <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<';> /xB2 <U02DB> OGONEK
<l//> /xB3 <U0142> LATIN SMALL LETTER L WITH STROKE
<''> /xB4 <U00B4> ACUTE ACCENT
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<',> /xB8 <U00B8> CEDILLA
<a;> /xB9 <U0105> LATIN SMALL LETTER A WITH OGONEK
<s,> /xBA <U015F> LATIN SMALL LETTER S WITH CEDILLA
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<L<> /xBC <U013D> LATIN CAPITAL LETTER L WITH CARON
<'"> /xBD <U02DD> DOUBLE ACUTE ACCENT
<l<> /xBE <U013E> LATIN SMALL LETTER L WITH CARON
<z.> /xBF <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
<R'> /xC0 <U0154> LATIN CAPITAL LETTER R WITH ACUTE
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<A(> /xC3 <U0102> LATIN CAPITAL LETTER A WITH BREVE
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
<L'> /xC5 <U0139> LATIN CAPITAL LETTER L WITH ACUTE
<C'> /xC6 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
<C<> /xC8 <U010C> LATIN CAPITAL LETTER C WITH CARON
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<E;> /xCA <U0118> LATIN CAPITAL LETTER E WITH OGONEK
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
<E<> /xCC <U011A> LATIN CAPITAL LETTER E WITH CARON
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<D<> /xCF <U010E> LATIN CAPITAL LETTER D WITH CARON
<D//> /xD0 <U0110> LATIN CAPITAL LETTER D WITH STROKE
<N'> /xD1 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
<N<> /xD2 <U0147> LATIN CAPITAL LETTER N WITH CARON
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<O"> /xD5 <U0150> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
<R<> /xD8 <U0158> LATIN CAPITAL LETTER R WITH CARON
<U0> /xD9 <U016E> LATIN CAPITAL LETTER U WITH RING ABOVE
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
<U"> /xDB <U0170> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<Y'> /xDD <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
<T,> /xDE <U0162> LATIN CAPITAL LETTER T WITH CEDILLA
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
<r'> /xE0 <U0155> LATIN SMALL LETTER R WITH ACUTE
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
<a(> /xE3 <U0103> LATIN SMALL LETTER A WITH BREVE
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
<l'> /xE5 <U013A> LATIN SMALL LETTER L WITH ACUTE
<c'> /xE6 <U0107> LATIN SMALL LETTER C WITH ACUTE
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
<c<> /xE8 <U010D> LATIN SMALL LETTER C WITH CARON
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<e;> /xEA <U0119> LATIN SMALL LETTER E WITH OGONEK
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
<e<> /xEC <U011B> LATIN SMALL LETTER E WITH CARON
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
<d<> /xEF <U010F> LATIN SMALL LETTER D WITH CARON
<d//> /xF0 <U0111> LATIN SMALL LETTER D WITH STROKE
<n'> /xF1 <U0144> LATIN SMALL LETTER N WITH ACUTE
<n<> /xF2 <U0148> LATIN SMALL LETTER N WITH CARON
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
<o"> /xF5 <U0151> LATIN SMALL LETTER O WITH DOUBLE ACUTE
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
<-:> /xF7 <U00F7> DIVISION SIGN
<r<> /xF8 <U0159> LATIN SMALL LETTER R WITH CARON
<u0> /xF9 <U016F> LATIN SMALL LETTER U WITH RING ABOVE
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
<u"> /xFB <U0171> LATIN SMALL LETTER U WITH DOUBLE ACUTE
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<y'> /xFD <U00FD> LATIN SMALL LETTER Y WITH ACUTE
<t,> /xFE <U0163> LATIN SMALL LETTER T WITH CEDILLA
<'.> /xFF <U02D9> DOT ABOVE (Mandarin Chinese light tone)
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+345
View File
@@ -0,0 +1,345 @@
<code_set_name> CP1251
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-CYRL
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<D%> /x80 <U0402> CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
<G%> /x81 <U0403> CYRILLIC CAPITAL LETTER GJE
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<g%> /x83 <U0453> CYRILLIC SMALL LETTER GJE
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<%0> /x89 <U2030> PER MILLE SIGN
<LJ> /x8A <U0409> CYRILLIC CAPITAL LETTER LJE
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<NJ> /x8C <U040A> CYRILLIC CAPITAL LETTER NJE
<KJ> /x8D <U040C> CYRILLIC CAPITAL LETTER KJE
<Ts> /x8E <U040B> CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
<DZ> /x8F <U040F> CYRILLIC CAPITAL LETTER DZHE
<d%> /x90 <U0452> CYRILLIC SMALL LETTER DJE (Serbocroatian)
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<TM> /x99 <U2122> TRADE MARK SIGN
<lj> /x9A <U0459> CYRILLIC SMALL LETTER LJE
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<nj> /x9C <U045A> CYRILLIC SMALL LETTER NJE
<kj> /x9D <U045C> CYRILLIC SMALL LETTER KJE
<ts> /x9E <U045B> CYRILLIC SMALL LETTER TSHE (Serbocroatian)
<dz> /x9F <U045F> CYRILLIC SMALL LETTER DZHE
<NS> /xA0 <U00A0> NO-BREAK SPACE
<V%> /xA1 <U040E> CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
<v%> /xA2 <U045E> CYRILLIC SMALL LETTER SHORT U (Byelorussian)
<J%> /xA3 <U0408> CYRILLIC CAPITAL LETTER JE
<Cu> /xA4 <U00A4> CURRENCY SIGN
<G3> /xA5 <U0490> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<IO> /xA8 <U0401> CYRILLIC CAPITAL LETTER IO
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<IE> /xAA <U0404> CYRILLIC CAPITAL LETTER UKRAINIAN IE
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<YI> /xAF <U0407> CYRILLIC CAPITAL LETTER YI (Ukrainian)
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<II> /xB2 <U0406> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
<ii> /xB3 <U0456> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
<g3> /xB4 <U0491> CYRILLIC SMALL LETTER GHE WITH UPTURN
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<io> /xB8 <U0451> CYRILLIC SMALL LETTER IO
<N0> /xB9 <U2116> NUMERO SIGN
<ie> /xBA <U0454> CYRILLIC SMALL LETTER UKRAINIAN IE
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<j%> /xBC <U0458> CYRILLIC SMALL LETTER JE
<DS> /xBD <U0405> CYRILLIC CAPITAL LETTER DZE
<ds> /xBE <U0455> CYRILLIC SMALL LETTER DZE
<yi> /xBF <U0457> CYRILLIC SMALL LETTER YI (Ukrainian)
<A=> /xC0 <U0410> CYRILLIC CAPITAL LETTER A
<B=> /xC1 <U0411> CYRILLIC CAPITAL LETTER BE
<V=> /xC2 <U0412> CYRILLIC CAPITAL LETTER VE
<G=> /xC3 <U0413> CYRILLIC CAPITAL LETTER GHE
<D=> /xC4 <U0414> CYRILLIC CAPITAL LETTER DE
<E=> /xC5 <U0415> CYRILLIC CAPITAL LETTER IE
<Z%> /xC6 <U0416> CYRILLIC CAPITAL LETTER ZHE
<Z=> /xC7 <U0417> CYRILLIC CAPITAL LETTER ZE
<I=> /xC8 <U0418> CYRILLIC CAPITAL LETTER I
<J=> /xC9 <U0419> CYRILLIC CAPITAL LETTER SHORT I
<K=> /xCA <U041A> CYRILLIC CAPITAL LETTER KA
<L=> /xCB <U041B> CYRILLIC CAPITAL LETTER EL
<M=> /xCC <U041C> CYRILLIC CAPITAL LETTER EM
<N=> /xCD <U041D> CYRILLIC CAPITAL LETTER EN
<O=> /xCE <U041E> CYRILLIC CAPITAL LETTER O
<P=> /xCF <U041F> CYRILLIC CAPITAL LETTER PE
<R=> /xD0 <U0420> CYRILLIC CAPITAL LETTER ER
<S=> /xD1 <U0421> CYRILLIC CAPITAL LETTER ES
<T=> /xD2 <U0422> CYRILLIC CAPITAL LETTER TE
<U=> /xD3 <U0423> CYRILLIC CAPITAL LETTER U
<F=> /xD4 <U0424> CYRILLIC CAPITAL LETTER EF
<H=> /xD5 <U0425> CYRILLIC CAPITAL LETTER HA
<C=> /xD6 <U0426> CYRILLIC CAPITAL LETTER TSE
<C%> /xD7 <U0427> CYRILLIC CAPITAL LETTER CHE
<S%> /xD8 <U0428> CYRILLIC CAPITAL LETTER SHA
<Sc> /xD9 <U0429> CYRILLIC CAPITAL LETTER SHCHA
<="> /xDA <U042A> CYRILLIC CAPITAL LETTER HARD SIGN
<Y=> /xDB <U042B> CYRILLIC CAPITAL LETTER YERU
<%"> /xDC <U042C> CYRILLIC CAPITAL LETTER SOFT SIGN
<JE> /xDD <U042D> CYRILLIC CAPITAL LETTER E
<JU> /xDE <U042E> CYRILLIC CAPITAL LETTER YU
<JA> /xDF <U042F> CYRILLIC CAPITAL LETTER YA
<a=> /xE0 <U0430> CYRILLIC SMALL LETTER A
<b=> /xE1 <U0431> CYRILLIC SMALL LETTER BE
<v=> /xE2 <U0432> CYRILLIC SMALL LETTER VE
<g=> /xE3 <U0433> CYRILLIC SMALL LETTER GHE
<d=> /xE4 <U0434> CYRILLIC SMALL LETTER DE
<e=> /xE5 <U0435> CYRILLIC SMALL LETTER IE
<z%> /xE6 <U0436> CYRILLIC SMALL LETTER ZHE
<z=> /xE7 <U0437> CYRILLIC SMALL LETTER ZE
<i=> /xE8 <U0438> CYRILLIC SMALL LETTER I
<j=> /xE9 <U0439> CYRILLIC SMALL LETTER SHORT I
<k=> /xEA <U043A> CYRILLIC SMALL LETTER KA
<l=> /xEB <U043B> CYRILLIC SMALL LETTER EL
<m=> /xEC <U043C> CYRILLIC SMALL LETTER EM
<n=> /xED <U043D> CYRILLIC SMALL LETTER EN
<o=> /xEE <U043E> CYRILLIC SMALL LETTER O
<p=> /xEF <U043F> CYRILLIC SMALL LETTER PE
<r=> /xF0 <U0440> CYRILLIC SMALL LETTER ER
<s=> /xF1 <U0441> CYRILLIC SMALL LETTER ES
<t=> /xF2 <U0442> CYRILLIC SMALL LETTER TE
<u=> /xF3 <U0443> CYRILLIC SMALL LETTER U
<f=> /xF4 <U0444> CYRILLIC SMALL LETTER EF
<h=> /xF5 <U0445> CYRILLIC SMALL LETTER HA
<c=> /xF6 <U0446> CYRILLIC SMALL LETTER TSE
<c%> /xF7 <U0447> CYRILLIC SMALL LETTER CHE
<s%> /xF8 <U0448> CYRILLIC SMALL LETTER SHA
<sc> /xF9 <U0449> CYRILLIC SMALL LETTER SHCHA
<='> /xFA <U044A> CYRILLIC SMALL LETTER HARD SIGN
<y=> /xFB <U044B> CYRILLIC SMALL LETTER YERU
<%'> /xFC <U044C> CYRILLIC SMALL LETTER SOFT SIGN
<je> /xFD <U044D> CYRILLIC SMALL LETTER E
<ju> /xFE <U044E> CYRILLIC SMALL LETTER YU
<ja> /xFF <U044F> CYRILLIC SMALL LETTER YA
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+339
View File
@@ -0,0 +1,339 @@
<code_set_name> CP1252
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-ANSI
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<1/>> /x88 <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT
<%0> /x89 <U2030> PER MILLE SIGN
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<OE> /x8C <U0152> LATIN CAPITAL LIGATURE OE
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<1?> /x98 <U02DC> SMALL TILDE
<TM> /x99 <U2122> TRADE MARK SIGN
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<oe> /x9C <U0153> LATIN SMALL LIGATURE OE
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
<NS> /xA0 <U00A0> NO-BREAK SPACE
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
<Ct> /xA2 <U00A2> CENT SIGN
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<':> /xA8 <U00A8> DIAERESIS
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<-a> /xAA <U00AA> FEMININE ORDINAL INDICATOR
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<'m> /xAF <U00AF> MACRON
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<''> /xB4 <U00B4> ACUTE ACCENT
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<',> /xB8 <U00B8> CEDILLA
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
<-o> /xBA <U00BA> MASCULINE ORDINAL INDICATOR
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
<?I> /xBF <U00BF> INVERTED QUESTION MARK
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<A?> /xC3 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
<AE> /xC6 <U00C6> LATIN CAPITAL LETTER AE
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
<I!> /xCC <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
<D-> /xD0 <U00D0> LATIN CAPITAL LETTER ETH (Icelandic)
<N?> /xD1 <U00D1> LATIN CAPITAL LETTER N WITH TILDE
<O!> /xD2 <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
<O//> /xD8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<Y'> /xDD <U00DD> LATIN CAPITAL LETTER Y WITH ACUTE
<TH> /xDE <U00DE> LATIN CAPITAL LETTER THORN (Icelandic)
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
<a?> /xE3 <U00E3> LATIN SMALL LETTER A WITH TILDE
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
<ae> /xE6 <U00E6> LATIN SMALL LETTER AE
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
<i!> /xEC <U00EC> LATIN SMALL LETTER I WITH GRAVE
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
<i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
<d-> /xF0 <U00F0> LATIN SMALL LETTER ETH (Icelandic)
<n?> /xF1 <U00F1> LATIN SMALL LETTER N WITH TILDE
<o!> /xF2 <U00F2> LATIN SMALL LETTER O WITH GRAVE
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
<-:> /xF7 <U00F7> DIVISION SIGN
<o//> /xF8 <U00F8> LATIN SMALL LETTER O WITH STROKE
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<y'> /xFD <U00FD> LATIN SMALL LETTER Y WITH ACUTE
<th> /xFE <U00FE> LATIN SMALL LETTER THORN (Icelandic)
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+329
View File
@@ -0,0 +1,329 @@
<code_set_name> CP1253
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-GREEK
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<%0> /x89 <U2030> PER MILLE SIGN
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<TM> /x99 <U2122> TRADE MARK SIGN
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<NS> /xA0 <U00A0> NO-BREAK SPACE
<'%> /xA1 <U0385> GREEK DIALYTIKA TONOS
<A%> /xA2 <U0386> GREEK CAPITAL LETTER ALPHA WITH TONOS
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<':> /xA8 <U00A8> DIAERESIS
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<-3> /xAF <U2015> HORIZONTAL BAR
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<'*> /xB4 <U0384> GREEK TONOS
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<E%> /xB8 <U0388> GREEK CAPITAL LETTER EPSILON WITH TONOS
<Y%> /xB9 <U0389> GREEK CAPITAL LETTER ETA WITH TONOS
<I%> /xBA <U038A> GREEK CAPITAL LETTER IOTA WITH TONOS
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<O%> /xBC <U038C> GREEK CAPITAL LETTER OMICRON WITH TONOS
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<U%> /xBE <U038E> GREEK CAPITAL LETTER UPSILON WITH TONOS
<W%> /xBF <U038F> GREEK CAPITAL LETTER OMEGA WITH TONOS
<i3> /xC0 <U0390> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
<A*> /xC1 <U0391> GREEK CAPITAL LETTER ALPHA
<B*> /xC2 <U0392> GREEK CAPITAL LETTER BETA
<G*> /xC3 <U0393> GREEK CAPITAL LETTER GAMMA
<D*> /xC4 <U0394> GREEK CAPITAL LETTER DELTA
<E*> /xC5 <U0395> GREEK CAPITAL LETTER EPSILON
<Z*> /xC6 <U0396> GREEK CAPITAL LETTER ZETA
<Y*> /xC7 <U0397> GREEK CAPITAL LETTER ETA
<H*> /xC8 <U0398> GREEK CAPITAL LETTER THETA
<I*> /xC9 <U0399> GREEK CAPITAL LETTER IOTA
<K*> /xCA <U039A> GREEK CAPITAL LETTER KAPPA
<L*> /xCB <U039B> GREEK CAPITAL LETTER LAMDA
<M*> /xCC <U039C> GREEK CAPITAL LETTER MU
<N*> /xCD <U039D> GREEK CAPITAL LETTER NU
<C*> /xCE <U039E> GREEK CAPITAL LETTER XI
<O*> /xCF <U039F> GREEK CAPITAL LETTER OMICRON
<P*> /xD0 <U03A0> GREEK CAPITAL LETTER PI
<R*> /xD1 <U03A1> GREEK CAPITAL LETTER RHO
<S*> /xD3 <U03A3> GREEK CAPITAL LETTER SIGMA
<T*> /xD4 <U03A4> GREEK CAPITAL LETTER TAU
<U*> /xD5 <U03A5> GREEK CAPITAL LETTER UPSILON
<F*> /xD6 <U03A6> GREEK CAPITAL LETTER PHI
<X*> /xD7 <U03A7> GREEK CAPITAL LETTER CHI
<Q*> /xD8 <U03A8> GREEK CAPITAL LETTER PSI
<W*> /xD9 <U03A9> GREEK CAPITAL LETTER OMEGA
<J*> /xDA <U03AA> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
<V*> /xDB <U03AB> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
<a%> /xDC <U03AC> GREEK SMALL LETTER ALPHA WITH TONOS
<e%> /xDD <U03AD> GREEK SMALL LETTER EPSILON WITH TONOS
<y%> /xDE <U03AE> GREEK SMALL LETTER ETA WITH TONOS
<i%> /xDF <U03AF> GREEK SMALL LETTER IOTA WITH TONOS
<u3> /xE0 <U03B0> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
<a*> /xE1 <U03B1> GREEK SMALL LETTER ALPHA
<b*> /xE2 <U03B2> GREEK SMALL LETTER BETA
<g*> /xE3 <U03B3> GREEK SMALL LETTER GAMMA
<d*> /xE4 <U03B4> GREEK SMALL LETTER DELTA
<e*> /xE5 <U03B5> GREEK SMALL LETTER EPSILON
<z*> /xE6 <U03B6> GREEK SMALL LETTER ZETA
<y*> /xE7 <U03B7> GREEK SMALL LETTER ETA
<h*> /xE8 <U03B8> GREEK SMALL LETTER THETA
<i*> /xE9 <U03B9> GREEK SMALL LETTER IOTA
<k*> /xEA <U03BA> GREEK SMALL LETTER KAPPA
<l*> /xEB <U03BB> GREEK SMALL LETTER LAMDA
<m*> /xEC <U03BC> GREEK SMALL LETTER MU
<n*> /xED <U03BD> GREEK SMALL LETTER NU
<c*> /xEE <U03BE> GREEK SMALL LETTER XI
<o*> /xEF <U03BF> GREEK SMALL LETTER OMICRON
<p*> /xF0 <U03C0> GREEK SMALL LETTER PI
<r*> /xF1 <U03C1> GREEK SMALL LETTER RHO
<*s> /xF2 <U03C2> GREEK SMALL LETTER FINAL SIGMA
<s*> /xF3 <U03C3> GREEK SMALL LETTER SIGMA
<t*> /xF4 <U03C4> GREEK SMALL LETTER TAU
<u*> /xF5 <U03C5> GREEK SMALL LETTER UPSILON
<f*> /xF6 <U03C6> GREEK SMALL LETTER PHI
<x*> /xF7 <U03C7> GREEK SMALL LETTER CHI
<q*> /xF8 <U03C8> GREEK SMALL LETTER PSI
<w*> /xF9 <U03C9> GREEK SMALL LETTER OMEGA
<j*> /xFA <U03CA> GREEK SMALL LETTER IOTA WITH DIALYTIKA
<v*> /xFB <U03CB> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
<o%> /xFC <U03CC> GREEK SMALL LETTER OMICRON WITH TONOS
<u%> /xFD <U03CD> GREEK SMALL LETTER UPSILON WITH TONOS
<w%> /xFE <U03CE> GREEK SMALL LETTER OMEGA WITH TONOS
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+339
View File
@@ -0,0 +1,339 @@
<code_set_name> CP1254
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-TURK
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<1/>> /x88 <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT
<%0> /x89 <U2030> PER MILLE SIGN
<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<OE> /x8C <U0152> LATIN CAPITAL LIGATURE OE
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<1?> /x98 <U02DC> SMALL TILDE
<TM> /x99 <U2122> TRADE MARK SIGN
<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<oe> /x9C <U0153> LATIN SMALL LIGATURE OE
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
<NS> /xA0 <U00A0> NO-BREAK SPACE
<!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
<Ct> /xA2 <U00A2> CENT SIGN
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<':> /xA8 <U00A8> DIAERESIS
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<-a> /xAA <U00AA> FEMININE ORDINAL INDICATOR
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<'m> /xAF <U00AF> MACRON
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<''> /xB4 <U00B4> ACUTE ACCENT
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<',> /xB8 <U00B8> CEDILLA
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
<-o> /xBA <U00BA> MASCULINE ORDINAL INDICATOR
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
<?I> /xBF <U00BF> INVERTED QUESTION MARK
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<A?> /xC3 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
<AE> /xC6 <U00C6> LATIN CAPITAL LETTER AE
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
<I!> /xCC <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
<G(> /xD0 <U011E> LATIN CAPITAL LETTER G WITH BREVE
<N?> /xD1 <U00D1> LATIN CAPITAL LETTER N WITH TILDE
<O!> /xD2 <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
<O//> /xD8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<I.> /xDD <U0130> LATIN CAPITAL LETTER I WITH DOT ABOVE
<S,> /xDE <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
<a?> /xE3 <U00E3> LATIN SMALL LETTER A WITH TILDE
<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
<ae> /xE6 <U00E6> LATIN SMALL LETTER AE
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<e;> /xEA <U0119> LATIN SMALL LETTER E WITH OGONEK
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
<e.> /xEC <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
<i-> /xEF <U012B> LATIN SMALL LETTER I WITH MACRON
<g(> /xF0 <U011F> LATIN SMALL LETTER G WITH BREVE
<n?> /xF1 <U00F1> LATIN SMALL LETTER N WITH TILDE
<o!> /xF2 <U00F2> LATIN SMALL LETTER O WITH GRAVE
<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
<-:> /xF7 <U00F7> DIVISION SIGN
<o//> /xF8 <U00F8> LATIN SMALL LETTER O WITH STROKE
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<i.> /xFD <U0131> LATIN SMALL LETTER DOTLESS I
<s,> /xFE <U015F> LATIN SMALL LETTER S WITH CEDILLA
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+296
View File
@@ -0,0 +1,296 @@
<code_set_name> CP1255
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-HEBR
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<%0> /x89 <U2030> PER MILLE SIGN
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<TM> /x99 <U2122> TRADE MARK SIGN
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<NS> /xA0 <U00A0> NO-BREAK SPACE
<Ct> /xA2 <U00A2> CENT SIGN
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<Ye> /xA5 <U00A5> YEN SIGN
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<':> /xA8 <U00A8> DIAERESIS
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<*X> /xAA <U00D7> MULTIPLICATION SIGN
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<'-> /xAF <U203E> OVERLINE
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<2S> /xB2 <U00B2> SUPERSCRIPT TWO
<3S> /xB3 <U00B3> SUPERSCRIPT THREE
<''> /xB4 <U00B4> ACUTE ACCENT
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<',> /xB8 <U00B8> CEDILLA
<1S> /xB9 <U00B9> SUPERSCRIPT ONE
<-:> /xBA <U00F7> DIVISION SIGN
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
<=2> /xDF <U2017> DOUBLE LOW LINE
<A+> /xE0 <U05D0> HEBREW LETTER ALEF
<B+> /xE1 <U05D1> HEBREW LETTER BET
<G+> /xE2 <U05D2> HEBREW LETTER GIMEL
<D+> /xE3 <U05D3> HEBREW LETTER DALET
<H+> /xE4 <U05D4> HEBREW LETTER HE
<W+> /xE5 <U05D5> HEBREW LETTER VAV
<Z+> /xE6 <U05D6> HEBREW LETTER ZAYIN
<X+> /xE7 <U05D7> HEBREW LETTER HET
<Tj> /xE8 <U05D8> HEBREW LETTER TET
<J+> /xE9 <U05D9> HEBREW LETTER YOD
<K%> /xEA <U05DA> HEBREW LETTER FINAL KAF
<K+> /xEB <U05DB> HEBREW LETTER KAF
<L+> /xEC <U05DC> HEBREW LETTER LAMED
<M%> /xED <U05DD> HEBREW LETTER FINAL MEM
<M+> /xEE <U05DE> HEBREW LETTER MEM
<N%> /xEF <U05DF> HEBREW LETTER FINAL NUN
<N+> /xF0 <U05E0> HEBREW LETTER NUN
<S+> /xF1 <U05E1> HEBREW LETTER SAMEKH
<E+> /xF2 <U05E2> HEBREW LETTER AYIN
<P%> /xF3 <U05E3> HEBREW LETTER FINAL PE
<P+> /xF4 <U05E4> HEBREW LETTER PE
<Zj> /xF5 <U05E5> HEBREW LETTER FINAL TSADI
<ZJ> /xF6 <U05E6> HEBREW LETTER TSADI
<Q+> /xF7 <U05E7> HEBREW LETTER QOF
<R+> /xF8 <U05E8> HEBREW LETTER RESH
<Sh> /xF9 <U05E9> HEBREW LETTER SHIN
<T+> /xFA <U05EA> HEBREW LETTER TAV
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP
+345
View File
@@ -0,0 +1,345 @@
<code_set_name> CP1256
<comment_char> %
<escape_char> /
% source: UNICODE 1.0
% alias MS-ARAB
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<,+> /x80 <U060C> ARABIC COMMA
<0a> /x81 <U0660> ARABIC-INDIC DIGIT ZERO
<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
<1a> /x83 <U0661> ARABIC-INDIC DIGIT ONE
<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
<//-> /x86 <U2020> DAGGER
<//=> /x87 <U2021> DOUBLE DAGGER
<2a> /x88 <U0662> ARABIC-INDIC DIGIT TWO
<3a> /x89 <U0663> ARABIC-INDIC DIGIT THREE
<4a> /x8A <U0664> ARABIC-INDIC DIGIT FOUR
<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<5a> /x8C <U0665> ARABIC-INDIC DIGIT FIVE
<6a> /x8D <U0666> ARABIC-INDIC DIGIT SIX
<7a> /x8E <U0667> ARABIC-INDIC DIGIT SEVEN
<8a> /x8F <U0668> ARABIC-INDIC DIGIT EIGHT
<9a> /x90 <U0669> ARABIC-INDIC DIGIT NINE
<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
<"6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
<"9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
<sb> /x95 <U2022> BULLET
<-N> /x96 <U2013> EN DASH
<-M> /x97 <U2014> EM DASH
<;+> /x98 <U061B> ARABIC SEMICOLON
<TM> /x99 <U2122> TRADE MARK SIGN
<?+> /x9A <U061F> ARABIC QUESTION MARK
</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
<H'> /x9C <U0621> ARABIC LETTER HAMZA
<aM> /x9D <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE
<aH> /x9E <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE
<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
<NS> /xA0 <U00A0> NO-BREAK SPACE
<wH> /xA1 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE
<ah> /xA2 <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW
<Pd> /xA3 <U00A3> POUND SIGN
<Cu> /xA4 <U00A4> CURRENCY SIGN
<yH> /xA5 <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE
<BB> /xA6 <U00A6> BROKEN BAR
<SE> /xA7 <U00A7> SECTION SIGN
<a+> /xA8 <U0627> ARABIC LETTER ALEF
<Co> /xA9 <U00A9> COPYRIGHT SIGN
<b+> /xAA <U0628> ARABIC LETTER BEH
<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<NO> /xAC <U00AC> NOT SIGN
<--> /xAD <U00AD> SOFT HYPHEN
<Rg> /xAE <U00AE> REGISTERED SIGN
<p+> /xAF <U067E> ARABIC LETTER PEH
<DG> /xB0 <U00B0> DEGREE SIGN
<+-> /xB1 <U00B1> PLUS-MINUS SIGN
<tm> /xB2 <U0629> ARABIC LETTER TEH MARBUTA
<t+> /xB3 <U062A> ARABIC LETTER TEH
<tk> /xB4 <U062B> ARABIC LETTER THEH
<My> /xB5 <U00B5> MICRO SIGN
<PI> /xB6 <U00B6> PILCROW SIGN
<.M> /xB7 <U00B7> MIDDLE DOT
<g+> /xB8 <U062C> ARABIC LETTER JEEM
<tc> /xB9 <U0686> ARABIC LETTER TCHEH
<hk> /xBA <U062D> ARABIC LETTER HAH
</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<x+> /xBC <U062E> ARABIC LETTER KHAH
<d+> /xBD <U062F> ARABIC LETTER DAL
<dk> /xBE <U0630> ARABIC LETTER THAL
<r+> /xBF <U0631> ARABIC LETTER REH
<A!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
<z+> /xC1 <U0632> ARABIC LETTER ZAIN
<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
<zj> /xC3 <U0698> ARABIC LETTER JEH
<s+> /xC4 <U0633> ARABIC LETTER SEEN
<sn> /xC5 <U0634> ARABIC LETTER SHEEN
<c+> /xC6 <U0635> ARABIC LETTER SAD
<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
<E!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
<dd> /xCC <U0636> ARABIC LETTER DAD
<tj> /xCD <U0637> ARABIC LETTER TAH
<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
<zh> /xD0 <U3113> BOPOMOFO LETTER ZH
<e+> /xD1 <U0639> ARABIC LETTER AIN
<i+> /xD2 <U063A> ARABIC LETTER GHAIN
<++> /xD3 <U0640> ARABIC TATWEEL
<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
<f+> /xD5 <U0641> ARABIC LETTER FEH
<q+> /xD6 <U0642> ARABIC LETTER QAF
<*X> /xD7 <U00D7> MULTIPLICATION SIGN
<k+> /xD8 <U0643> ARABIC LETTER KAF
<U!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
<gf> /xDA <U06AF> ARABIC LETTER GAF
<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
<l+> /xDD <U0644> ARABIC LETTER LAM
<m+> /xDE <U0645> ARABIC LETTER MEEM
<n+> /xDF <U0646> ARABIC LETTER NOON
<a!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
<h+> /xE1 <U0647> ARABIC LETTER HEH
<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
<hH> /xE3 <U0681> ARABIC LETTER HAH WITH HAMZA ABOVE
<w+> /xE4 <U0648> ARABIC LETTER WAW
<j+> /xE5 <U0649> ARABIC LETTER ALEF MAKSURA
<y+> /xE6 <U064A> ARABIC LETTER YEH
<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
<e!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
<e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX
<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
<:+> /xEC <U064B> ARABIC FATHATAN
<"+> /xED <U064C> ARABIC DAMMATAN
<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
<i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS
<=+> /xF0 <U064D> ARABIC KASRATAN
<//+> /xF1 <U064E> ARABIC FATHA
<'+> /xF2 <U064F> ARABIC DAMMA
<1+> /xF3 <U0650> ARABIC KASRA
<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
<3+> /xF5 <U0651> ARABIC SHADDA
<0+> /xF6 <U0652> ARABIC SUKUN
<-:> /xF7 <U00F7> DIVISION SIGN
<u!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
<LR> /xFD <U200E> LEFT-TO-RIGHT MARK
<RL> /xFE <U200F> RIGHT-TO-LEFT MARK
<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP

Some files were not shown because too many files have changed in this diff Show More