Commit Graph

14 Commits

Author SHA1 Message Date
Roland McGrath
bd6daf3b19 * locale/programs/locarchive.c (add_alias): Change locrec_offset arg
into pointer to locrec_offset.
	(add_locale_to_archive): Adjust callers.  Free normalized_name right
	before returning, not immediately after add_locale, pass it to
	add_alias if not NULL instead of name.  Rename second normalized_name
	occurence to nnormalized_codeset_name.

2002-10-21  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set
	caller to EXTRA instead of execve, since the latter has a
	higher-priority implementation in linuxthreads.
2002-10-22 16:11:43 +00:00
Roland McGrath
5e922099c6 * locale/programs/locarchive.c (enlarge_archive): Make sure
string_size is always a multiple of 4.
	Reported by Andreas Schwab <schwab@suse.de>.
2002-10-22 15:50:12 +00:00
Ulrich Drepper
2e2dc1a558 Update.
2002-10-17  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/locale.c (write_locales): Use 'm' flag in fopen call.
	* locale/programs/linereader.c (lr_open): Likewise.
	* locale/programs/charmap-dir.c (charmap_open): Likewise.
	* locale/programs/locarchive.c (add_locale_to_archive): Likewise.
2002-10-17 18:04:06 +00:00
Ulrich Drepper
1099624912 (open_archive): Replace using label 'again' with a loop to work around gcc 3.2 bug. 2002-08-28 12:00:53 +00:00
Roland McGrath
a3f9038c87 Roland McGrath <roland@redhat.com>
* locale/hashval.h (compute_hashval): Use prototype defn.
	(hashval_t): New macro, defined to unsigned long int
	if not already defined.
	(compute_hashval): Return hashval_t instead of unsigned long int.
	* locale/loadarchive.c (hashval_t): New macro.
	* locale/programs/locarchive.c: Include hashval.h directly instead
	of simple-hash.h.
	(compute_hashval, hashval_t): Define these macros first.
	(insert_name): Use archive_hashval instead of compute_hashval.
	(add_locale, delete_locales_from_archive): Likewise.

2002-08-28  Jakub Jelinek  <jakub@redhat.com>
2002-08-28 07:29:53 +00:00
Roland McGrath
75261665f1 2002-08-28 Jakub Jelinek <jakub@redhat.com>
* locale/programs/locarchive.c (insert_name): Suppress warnings about
  	hash collisions if be_quiet.

	* locale/locale.h (__newlocale, __duplocale, __freelocale,
	__uselocale): Don't declare these any more.
	* include/locale.h (__uselocale): Declare here instead, using __typeof.
2002-08-28 06:59:48 +00:00
Roland McGrath
69f6a804b0 * locale/programs/localedef.c (add_to_readlist): Error about
circular dependencies only if the locale in question hasn't
	been finished.
	* locale/programs/linereader.c (get_string): Pass LC_CTYPE not
	CTYPE_LOCALE to load_locale.
	* locale/programs/locfile.c (locfile_read): Don't include
	unneeded but available locales in locale_mask.

	* locale/programs/locarchive.c (enlarge_archive): If quiet, don't
	print any messages about enlarging archive.
2002-08-20 23:10:34 +00:00
Roland McGrath
31ff2aa3ea 2002-08-14 Roland McGrath <roland@redhat.com>
(oldlocrecentcmp): Compare just on file locations used.
2002-08-15 07:49:22 +00:00
Roland McGrath
ac8f8c53f0 * locale/locarchive.h (struct locale_category_data): Give this name to
the type of locale_data_t's elements.
	* locale/programs/locarchive.c (cmpcategorysize): New static function.
	(add_locale): Use that to sort the categories by size and put all
	those that fit into two pages into the LC_ALL block, instead of
	hard-coding it to do everything but LC_CTYPE and LC_COLLATE.
	(show_archive_content): Detect categories inside LC_ALL block
	directly, instead of hard-coding.

2002-08-14  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (struct oldlocrecent): New.
	(oldlocrecentcmp): New.
	(enlarge_archive): Re-add locales in the order they were added
	to the archive.
	(add_locale): Put all the small locale files together, if the small
	locale file block would occupy less pages if page size aligned, align
	it.
	(show_archive_content): Adjust for locale archives optimized for speed.

2002-08-14  Roland McGrath  <roland@frob.com>

	* configure.in: Use "MISSING" as not-found value for MIG.
	* sysdeps/mach/configure.in: Fatal if mig not found.
	* configure, sysdeps/mach/configure: Regenerated.
2002-08-15 07:02:19 +00:00
Roland McGrath
cb09a2cda2 * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale
name to find codeset name (if any) and normalize it.  If the
	normalized name differs, look up only that in the archive.
	* locale/programs/locarchive.c (add_locale_to_archive): If the name
	contains a codeset, normalize the codeset store only the normalized
	name in the archive.  If not, add an alias containing the locale's
	normalized codeset name.  Apply codeset name normalization when
	matching entries in the alias file.

	* locale/programs/locarchive.c (delete_locales_from_archive): Don't
	decrement HEAD->namehash_used here.
	(add_locale): Only need to insert name string when name_offset != 0.

	* locale/programs/localedef.c (options): Add -A/--alias-file.
	(alias_file): New variable.
	(parse_opt): Grok -A, set that.
	* locale/programs/localedef.h: Declare it.

	* locale/programs/locarchive.c (insert_name): New function, broken out
	of ...
	(add_locale_to_archive): ... here.  Call that.
	(add_alias): New function.
	(add_locale): New static function, add_locale_to_archive renamed.
	(add_locale_to_archive): Call that and use add_alias to add an alias
	for the name with codeset if the given name lacks it.
	(enlarge_archive): Call add_locale instead of add_locale_to_archive.

	* locale/Makefile (routines): Add loadarchive.
	* locale/loadarchive.c: New file, started from code by Ulrich Drepper.
	(_nl_load_locale_from_archive): New function.
	* locale/localeinfo.h: Declare it.
	* locale/findlocale.c (_nl_find_locale): If using default locale path,
	try _nl_load_locale_from_archive first.

	* locale/loadlocale.c (_nl_intern_locale_data): New function,
	broken out of _nl_load_locale.
	(_nl_load_locale): Call that.
	* locale/localeinfo.h: Declare it.
	(struct locale_data): Replace member `mmaped' with `alloc', an enum.
	(struct locale_data): Remove unused member `options'.
	* locale/findlocale.c (_nl_remove_locale): Update uses.
	* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
	* locale/C-collate.c: Update initializer.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-address.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-time.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-messages.c : Likewise.
	* locale/C-ctype.c: Likewise.

	* locale/hashval.h [! LONGBITS]: Include <limits.h> here and
	use CHAR_BIT instead of BITSPERBYTE.

	* locale/localeinfo.h (_nl_find_locale, _nl_load_locale,
	_nl_unload_locale): Add `internal_function attribute_hidden' to decls.
	* locale/findlocale.c (_nl_find_locale): Add internal_function to defn.
	(_nl_remove_locale): Likewise.
	* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.

	* locale/findlocale.c (_nl_default_locale_path): New variable.
	(_nl_find_locale): If LOCALE_PATH is null, default to that.
	* locale/localeinfo.h: Declare it.
	* locale/setlocale.c (setlocale): Use _nl_default_locale_path
	in place of LOCALEDIR.  If no LOCPATH, pass null to _nl_find_locale.
	* locale/newlocale.c (__newlocale): Likewise.

	* misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses.
	* inet/rexec.c (rexec_af): Add libc_hidden_def.
	* sysdeps/generic/morecore.c: Likewise.
	* signal/allocrtsig.c (__libc_current_sigrtmin): Likewise.
	(__libc_current_sigrtmax): Likewise.

2002-08-08  Roland McGrath  <roland@redhat.com>

	* locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT.
	* catgets/open_catalog.c (__open_catalog): Likewise.

	* locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed
	from typo INITIAL_NUM_NANES.
	(create_archive): Update use.
2002-08-10 06:22:37 +00:00
Ulrich Drepper
405550bf78 Update.
2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* locale/hashval.h: Make more self-containedby defining LONG_BITS.
	* locale/programs/simple-hash.c: Remove LONG_BITS definition.

	* locale/programs/locarchive.c (add_locale_to_archive): Correct
	test to detect duplicate locales.

	* libio/fileops.c (_IO_new_file_seekoff): Fail if relative
	position would be before beginning of file.
	(_IO_file_seekoff_mmap): Likewise.
	* libio/Makefile (tests): Add bug-fseek.
	* libio/bug-fseek.c: New file.

	* intl/explodename.c: Remove support for CEN-style locale variables.
	It was never used and shouldn't be since it's not portable.
	* intl/finddomain.c: Likewise.
	* intl/l10nflist.c: Likewise.
	* intl/loadinfo.h: Likewise.
	* locale/findlocale.c: Likewise.
2002-07-24 10:44:53 +00:00
Ulrich Drepper
b2bffca2e3 Update.
2002-05-11  Jakub Jelinek  <jakub@redhat.com>

	* include/netinet/in.h (bindresvport_internal): Add prototype.
	* include/rpc/auth.h  (authunix_create_internal,
	authunix_create_default_internal, authnone_create_internal,
	authdes_pk_create_internal): Add prototypes.
	* include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal,
	clntudp_create_internal, clntudp_bufcreate_internal,
	clntunix_create_internal): Add prototypes.
	* include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal,
	svc_getreq_internal, svc_getreq_common_internal,
	svc_getreqset_internal, svc_getreq_poll_internal,
	svc_register_internal, svc_unregister_internal,
	svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes.
	* include/rpc/svc_auth.h (_authenticate_internal): Add prototype.
	* include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg,
	__setsockopt, __getsockname, __bind, __listen): Add prototypes.
	* inet/rexec.c (rexec_af): Use __listen and __getsockname.
	* inet/rcmd.c (rcmd_af): Use __listen.
	(rresvport_af): Use __bind.
	* sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport,
	authunix_create, authunix_create_default, authnone_create,
	authdes_pk_create, clnt_create, clnttcp_create, clntudp_create,
	clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode,
	svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll,
	svc_register, svc_unregister, svcudp_create, svcudp_bufcreate,
	_authenticate, add INTDEF after such function definitions.
	Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg,
	__setsockopt, __getsockname instead of non-__ variants.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rtime.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/bindrsvprt.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/auth_none.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/clnt_gen.c: Likewise.
	* sunrpc/pm_getmaps.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/pmap_clnt.c: Likewise.
	* sunrpc/svc_run.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/pm_getport.c: Likewise.
	* sunrpc/auth_des.c: Likewise.
	* sunrpc/svc_auth.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases,
	__register_frame_info_table_bases, __deregister_frame_info_bases):
	Add INTDEF.
	(__register_frame_info_bases_internal,
	__register_frame_info_table_bases_internal,
	__deregister_frame_info_bases_internal): Add prototypes.
	(__register_frame_info, __register_frame): Use INTUSE in call to
	__register_frame_info_bases.
	(__register_frame_info_table): Similarly.
	(__deregister_frame_info, __deregister_frame): Similarly.
	* sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add
	sendto as weak alias.
	* sysdeps/mach/hurd/sendto.c: Likewise.
	* sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add
	recvfrom as weak alias.
	* sysdeps/mach/hurd/recvfrom.c: Likewise.
	* sysdeps/unix/sysv/aix/recvfrom.c: Likewise.
	* sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add
	recvmsg as weak alias.
	* sysdeps/unix/sysv/aix/recvmsg.c: Likewise.
	* sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add
	sendmsg as weak alias.
	* sysdeps/unix/sysv/aix/sendmsg.c: Likewise.
	* sysdeps/generic/setsockopt.c (__setsockopt): Renamed from
	setsockopt, add setsockopt as weak alias.
	* sysdeps/mach/hurd/setsockopt.c: Likewise.
	* sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as
	weak alias.
	* sysdeps/mach/hurd/bind.c: Likewise.
	* sysdeps/generic/listen.c (__listen): Renamed from listen, add listen
	as weak alias.
	* sysdeps/mach/hurd/listen.c: Likewise.
	* sysdeps/generic/getsockname.c (__getsockname): Renamed from
	getsockname, add getsockname as weak alias.
	* sysdeps/mach/hurd/getsockname.c: Likewise.
	* sysdeps/unix/sysv/aix/getsockname.c: Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias.
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias.
	* sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg,
	__recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg):
	Add aliases.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias.
	* sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise.
	* sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise.
	* sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise.
	* sysdeps/unix/sysv/linux/bind.S (__bind): Likewise.
	* sysdeps/unix/sysv/linux/listen.S (__listen): Likewise.
	* sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise.

2002-05-10  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/localedef.h (show_archive_content): Add verbose
	argument.
	* locale/programs/localedef.c (main): Adjust caller.
	* locale/programs/locarchive.c (struct nameent, struct dataent): New.
	(nameentcmp, dataentcmp): New functions.
	(xstrcmp): Remove.
	(show_archive_content): Print verbose listing with --list-archive -v.

	* locale/programs/locarchive.c (open_archive): Take extra argument
	readonly.  If true open file with O_RDONLY and don't create the
	archive if it doesn't exist.
	Adapt all callers.
	(close_archive): Don't do anything if fd element is -1.
	* locale/programs/localedef.h (open_archive): Adjust prototype.
	* locale/programs/locfile.c (write_all_categories): Adjust open_archive
	call.

	* malloc/malloc.c (__posix_memalign): Correct check for size of
	alignment value [PR libc/3444].
2002-05-15 00:22:23 +00:00
Ulrich Drepper
531bafd8a6 Update.
2002-04-30  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (create_archive): Add archivefname
	argument, create fname from it.
	(enlarge_archive): Honour output_prefix.
	(open_archive): Likewise.

2002-04-30  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (add_locales_to_archive): Don't nest
	too many stpcpy macros.

2002-04-26  Bruno Haible  <bruno@clisp.org>

	* locale/programs/ld-collate.c (collate_read): Cast first argument
	for "%.*s" to int.

2002-04-26  Bruno Haible  <bruno@clisp.org>

	* include/libintl.h (__ngettext, __dngettext, __dcngettext,
	__dcngettext_internal): New declarations.
	(__gettext, __dgettext, __dcgettext, __dcgettext_internal): Add
	attribute declarations.
2002-05-01 17:09:58 +00:00
Ulrich Drepper
a7b65cdc9a Update.
2002-04-18  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/locfile.c (to_archive): New variable.  To collect
	data which has to be added to the locale archive.
	(write_all_categories): Take new third parameter with locale name.
	Unless no_archive flag set add new locale data to the archive
	(write_locale_data): Unless no-archive flag set store generated data
	in to_archive data structure instead of generation output file.
	Add new parameter with locale category index.
	* locale/programs/locfile.h: Add new parameters in declaractions of
	write_all_categories and write_locale_data.
	* locale/programs/localedef.c: Recognize --no-archive, --list-archive,
	--add-to-archive, and --delete-from-archive options.  Pass extra
	parameter to write_all_categories.
	* locale/programs/localedef.h: Add prototypes for functions in
	locarchive.c.
	* locale/locarchive.h: New file.
	* locale/programs/locarchive.c: New file.
	* locale/Makefile (distribute): Add programs/locarchive.c and
	locarchive.h.
	(localedef-modules): Add md5 and locarchive.
	Add vpath to crypt subdir for md5.c.

	* locale/programs/ld-address.c: Pass locale category ID as new second
	parameter to write_locale_data.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.

	* locale/simple-hash.c: Move compute_hashval function from here...
	* locale/hashval.h: ...to here.  New file.
	* locale/simple-hash.h: Add prototype for compute_hashval.

	* include/libintl.h: Minor cleanups.

	* elf/reldep7.c: New file.
	* elf/reldep7mod1.c: New file.
	* elf/reldep7mod2.c: New file.
	* elf/Makefile: Add rules to build and run reldep7.
2002-04-18 08:08:23 +00:00