aboutsummaryrefslogtreecommitdiff
path: root/locale
AgeCommit message (Collapse)AuthorFilesLines
2002-12-052002-12-04 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+1
* locale/localeinfo.h [NL_CURRENT_INDIRECT]: Use attribute_tls_model_ie on _nl_current_LC_* variables.
2002-11-22* sysdeps/mach/hurd/i386/init-first.c (posixland_init): SetRoland McGrath1-5/+1
__libc_multiple_libcs here. Call __setfpucw. * locale/localeinfo.h (struct locale_data): Revert last change.
2002-11-21* scripts/abilist.awk: Grok function descriptor symbols.Roland McGrath1-3/+7
* intl/tst-gettext.c (main): Check return values from setlocale. Add necessary unsetenv's to make LANG=existing-locale check work. * intl/tst-gettext.sh: Use mkdir -p. Copy test files unconditionally, so aborted prior runs don't confuse things. * locale/localeinfo.h (struct locale_data: union locale_data_value): Use uintptr_t instead of unsigned int for `word' member. (_NL_CURRENT_WORD): Cast to uint32_t. * posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES value.
2002-11-05Update.Ulrich Drepper1-2/+7
2002-11-05 Jakub Jelinek <jakub@redhat.com> * iconv/gconv_dl.c (free_mem): Clear loaded. * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's cleanup if any. * sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
2002-11-01* include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):Roland McGrath2-4/+2
New macros. * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove text_set_element. * elf/dl-libc.c (free_mem): Likewise. * iconv/gconv_conf.c (free_mem): Likewise. * iconv/gconv_db.c (free_mem): Likewise. * iconv/gconv_dl.c (free_mem): Likewise. * iconv/gconv_cache.c (free_mem): Likewise. * intl/finddomain.c (free_mem): Likewise. * intl/dcigettext.c (free_mem): Likewise. * locale/setlocale.c (free_mem): Likewise. * misc/fstab.c (fstab_free): Likewise. * nss/nsswitch.c (free_mem): Likewise. * posix/regcomp.c (free_mem): Likewise. * resolv/gai_misc.c (free_res): Likewise. * stdlib/fmtmsg.c (free_mem): Likewise. * sunrpc/clnt_perr.c (free_mem): Likewise. * sysdeps/generic/setenv.c (free_mem): Likewise. * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise. * sysdeps/pthread/aio_misc.c (free_res): Likewise. * time/tzset.c (free_mem): Likewise. * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section. * locale/loadarchive.c (_nl_archive_subfreeres): Likewise. * malloc/set-freeres.c (__libc_freeres): Likewise. * login/getutent.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutent): Allocate buffer the first time it is run. * login/getutid.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutid): Allocate buffer the first time it is run. * login/getutline.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutline): Allocate buffer the first time it is run. * malloc/mtrace.c (malloc_trace_buffer): Change into char *. (mtrace): Allocate malloc_trace_buffer. * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf. * resolv/ns_print.c (ns_sprintrrf): Decrease size of t. * string/strerror.c: Include libintl.h and errno.h. (buf): New variable. (strerror): Only allocate buffer if actually needed (unknown error). * time/tzfile.c (transitions): Add libc_freeres_ptr. (freeres): Remove. 2002-10-25 Jakub Jelinek <jakub@redhat.com> * include/libc-symbols.h (libc_freeres_ptr): New macro. * malloc/set-freeres.c (__libc_freeres_ptrs): Define using symbol_set_define. (__libc_freeres): Free all pointers in that section. * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed commands when creating .lds script. (LDSEDCMD-c.so): New variable. * inet/rcmd.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rcmd_af): Use strdup to allocate ahostbuf. * inet/rexec.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rexec_af): Use strdup to allocate ahostbuf. * stdio-common/reg-printf.c (printf_funcs): Remove. (__printf_arginfo_table): Change into printf_arginfo_function **. Add libc_freeres_ptr. (__register_printf_function): Allocate __printf_arginfo_table and __printf_function_table the first time it is called. * stdio-common/printf-parse.h (__printf_arginfo_table): Change into printf_arginfo_function **. (parse_one_spec): Add __builtin_expect. * grp/fgetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * inet/getnetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC. (string_space, map): Add libc_freeres_ptr. (free_mem): Remove. * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr. (free_mem): Remove. * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr. (free_mem): Remove. * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC. (buffer): Add libc_freeres_ptr. (free_mem): Remove for _LIBC. * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * nss/getXXent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr. (free_mem): Remove. * shadow/fgetspent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add libc_freeres_ptr. (free_mem): Remove. 2002-10-30 Jakub Jelinek <jakub@redhat.com> * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias instead of duplicating the whole function in libc.
2002-10-22* locale/programs/locarchive.c (add_alias): Change locrec_offset argRoland McGrath1-8/+13
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* locale/programs/locarchive.c (enlarge_archive): Make sureRoland McGrath1-1/+4
string_size is always a multiple of 4. Reported by Andreas Schwab <schwab@suse.de>.
2002-10-17Update.Ulrich Drepper4-4/+4
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-16* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.Roland McGrath1-1/+1
instead of += to append, to be sure $(lib) gets expanded at defn time. (libof-$(cpp-src)): New variable, define this instead. * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup. (lib): Don't use override. (CPPFLAGS-$(lib)): New variable, put -D's here. * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename. Also add $(CPPFLAGS-LIB) before the file-specific flags, for each LIB found by $(libof-*) for basename, target, or source. * Makerules (CPPFLAGS-nonlib): New variable. * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk. * locale/Makefile (lib): Likewise. * sunrpc/Makefile (lib): Likewise. * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ... * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here. * sysdeps/unix/sysv/linux/pathconf.h: New file. (statfs_link_max): New function, guts from fpathconf.c. * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that. * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten to use the linux/pathconf.c code by #include rather than duplication. * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise. 2002-10-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno only for libc itself.
2002-10-11* locale/newlocale.c (__newlocale): If setting all categories to "C",Roland McGrath3-0/+19
just return &_nl_C_locobj instead of copying it. * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj. * locale/duplocale.c (__duplocale): Likewise. 2002-10-07 Roland McGrath <roland@frob.com> * config.h.in (HAVE_I386_SET_GDT): New #undef. * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt. * sysdeps/mach/configure: Regenerated. 2002-10-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): Add all necessary register outputs for syscall-clobbered registers. 2002-10-02 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for Itanium 2 (and Itanium). Fix unwind directives and make it fit in 80 columns. * sysdeps/ia64/memset.S: Ditto. * sysdeps/ia64/memcpy.S: Ditto. Move jump table to .rodata section. 2002-10-03 Roland McGrath <roland@frob.com> * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add clobbers to asm.
2002-09-18* locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls forRoland McGrath1-0/+17
the __ctype_* compat symbols, so the relocs generated bind to the right versioned global symbol in the shared object. * elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag) from the value taken from the DT_VERSYM table. * elf/dl-runtime.c (fixup, profile_fixup): Likewise. * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise. (RESOLVE_GOTSYM): Likewise.
2002-09-05* ctype/ctype-info.c: Renamed __ctype_old_* symbols to __ctype_*.Roland McGrath1-12/+15
* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
2002-09-03Update.Ulrich Drepper1-1/+1
2002-09-03 Jakub Jelinek <jakub@redhat.com> * locale/tst-C_locale.c (run_test): Pass LC_ALL_MASK not LC_ALL to newlocale.
2002-09-032002-09-02 Roland McGrath <roland@redhat.com>Roland McGrath1-2/+2
* locale/localeconv.c (__localeconv): Cast -1 to char to avoid warnings on platorms where char is unsigned.
2002-09-02* locale/localeinfo.h (struct locale_data): Add private.ctype.Roland McGrath1-0/+1
* wcsmbs/wcsmbsload.h (__wcsmbs_gconv_fcts, __wcsmbs_last_locale, __wcsmbs_to_wc, update_conversion_ptrs): Removed. (__wcsmbs_gconv_fcts_c, _nl_C_LC_CTYPE): New externs. (__wcsmbs_load_conv): Remove const from argument. (_nl_cleanup_ctype): New proto. (get_gconv_fcts): New function. * wcsmbs/wcsmbsload.c (__wcsmbs_last_locale): Removed. (__wcsmbs_to_wc): Rename back to... (to_wc): ... this. (__wcsmbs_gconv_fcts): Rename to... (__wcsmbs_gconv_fcts_c): ... this. Make const. Use to_wc. (lock): Removed. (__libc_setlocale_lock): New extern. (__wcsmbs_load_conv): Remove const from argument. Initialize new_category->private.ctype instead of a global variable. (__wcsmbs_clone_conv): Use get_gconv_fcts instead of update_function_ptrs. No locking is necessary. (_nl_cleanup_ctype): New function. * wcsmbs/btowc.c (__btowc): Use get_gconv_fcts instead of update_function_ptrs and a global __wcsmbs_gconv_fcts variable. * wcsmbs/mbrtowc.c (__mbrtowc): Likewise. * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. * wcsmbs/wcrtomb.c (__wcrtomb): Likewise. * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. * wcsmbs/wctob.c (wctob): Likewise. * stdlib/mblen.c (mblen): Likewise. * stdlib/mbtowc.c (mbtowc): Likewise. * stdlib/wctomb.c (wctomb): Likewise. * wcsmbs/mbsrtowcs.c (__mbsrtowcs): Likewise. Remove calls to wcsmbs_get_towc_func and wcsmbs_free_funcs. * wcsmbs/mbsrtowcs_l.c (wcsmbs_get_towc_func, wcsmbs_free_funcs): Removed.
2002-09-02* ctype/ctype.h (__ctype_b, __ctype_toupper, __ctype_tolower):Roland McGrath2-37/+45
Variable declarations removed. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Declare these functions to replace them. (__isctype, tolower, toupper, _tolower, _toupper): Use those accessor functions plus an indirection rather than the old global variables. * include/ctype.h (__isctype, tolower, _tolower, toupper, _toupper): Macros removed. (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): New extern inline functions. * ctype/ctype-info.c: Revert last reversion back the other way. Define tsd vars CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER. Define real function versions of include/ctype.h inlines here. * ctype/Versions (libc: GLIBC_2.3): Add __ctype_b_loc, __ctype_tolower_loc, __ctype_toupper_loc. * locale/lc-ctype.c: Revert last reversion back the other way. (_nl_postload_ctype): If current thread uses the global locale, update its tsd vars. * locale/uselocale.c (__uselocale): Update tsd vars from new locale. * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER. * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_address): New macro. * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_address): Renamed from __libc_tsd_threadvar_location. (__libc_tsd_set, __libc_tsd_get): Update uses.
2002-09-01Update.Ulrich Drepper1-28/+26
* ctype/ctype.h: Undo the patch before the last one. Put back the macro definitions for the standard functions to access the classification and mapping arrays. * include/ctype.h: Partly revert last patch. Move the macro definitions for the exported functions back to the public header. #undef all the macros defined here before redefining. * ctype/ctype-info.c: Revert last patch. * locale/lc-ctype.c: Revert last patch.
2002-09-01* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): PassRoland McGrath4-70/+57
TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1. * include/getopt.h: Include <features.h> before <posix/getopt.h>. * locale/findlocale.c (_nl_remove_locale): Don't search in _nl_locale_file_list if DATA->alloc is ld_archive. Use _nl_unload_locale to do the rest of the work. * locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count of new structure to UNDELETABLE. * wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank, towlower, towupper): Macros removed. * ctype/ctype.h (__tobody): Put parens around macro argument. (__isctype): Macro removed. (__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed. (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Macros and inlines removed. * include/ctype.h [! NOT_IN_libc] (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Define here instead, using _NL_CURRENT. * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros using _NL_CURRENT. * ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise. * ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper): Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT. (__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise. (__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed. * locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables, conditional on SHLIB_COMPAT. Don't set removed variables at all. * wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals. * wcsmbs/wcwidth.h (internal_wcwidth): Likewise. * resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars. (ISSORTMASK): Update use. * intl/localealias.c [__GNUC__]: #undef alloca before #define. * nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'. (_nss_files_getENTNAME_r): Likewise. * nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r): Likewise. * Makerules (all-nonlib): Renamed from all-tests. Include $(others) here too. * locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef, CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric, CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification, CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader, CPPFLAGS-charmap-dir): Variables removed. Instead, catch all the program modules via cppflags-iterator.mk. * sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed. Instead, catch all rpcgen-objs via cppflags-iterator.mk. * posix/tst-getconf.sh: If no third arg, work with static linking.
2002-08-31* locale/categories.def (LC_TIME): No more _nl_postload_time.Roland McGrath1-1/+7
* locale/setlocale.c (_nl_category_postload): Use weak refs only under [_NL_CURRENT_INDIRECT].
2002-08-312002-08-31 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+1
* locale/categories.def (LC_TIME): No more _nl_postload_time.
2002-08-31* locale/newlocale.c (__newlocale): Don't use strdup for names.Roland McGrath4-93/+99
Instead, make the single allocation of the structure larger to hold the name strings. * locale/duplocale.c (__duplocale): Don't strdup names individually. Instead, calculate size for a single allocation and copy into it. * locale/freelocale.c (__freelocale): Don't free names individually.
2002-08-312002-08-31 Roland McGrath <roland@redhat.com>Roland McGrath1-23/+27
* locale/newlocale.c (__newlocale): Don't leak old data or names.
2002-08-31* locale/duplocale.c (__duplocale): Free names from the right array.Roland McGrath2-9/+6
* locale/uselocale.c (__uselocale): Return previous locale when setting a new one. * locale/newlocale.c: Commit changes from 2002-08-30 batch where I failed to commit this file: (__newlocale): Fill in __names array.
2002-08-312002-08-31 Roland McGrath <roland@redhat.com>Roland McGrath1-3/+55
* locale/newlocale.c: Commit changes from 2002-08-30 batch where I failed to commit this file.
2002-08-31Update.Ulrich Drepper1-2/+2
* stdio-common/Makefile (generated): Add errlist-compat.c. * locale/Makefile (extra-objs): Add $(localedef-aux:=.o).
2002-08-31Update.Ulrich Drepper1-1/+2
2002-08-31 Ulrich Drepper <drepper@redhat.com> * locale/localeinfo.h: Pretty printing. * stdio-common/vfprintf.c (vfprintf): Remove duplicate ifs in form_number handling. (__aux_init_cache): New function. (__aux_init_cache): New function. * locale/programs/locarchive.c (struct oldlocrecent): New type. (oldlocrecentcmp): New function. * sysdeps/x86_64/fpu/bits/mathinline.h: New file. * sysdeps/x86_64/fpu/s_copysign.S: New file. * sysdeps/x86_64/fpu/s_copysignf.S: New file. * sysdeps/x86_64/fpu/s_copysignl.S: New file. * sysdeps/x86_64/fpu/s_finitel.S: New file. * sysdeps/x86_64/fpu/s_fmax.S: New file. * sysdeps/x86_64/fpu/s_fmaxf.S: New file. * sysdeps/x86_64/fpu/s_fmaxl.S: New file. * sysdeps/x86_64/fpu/s_fmin.S: New file. * sysdeps/x86_64/fpu/s_fminf.S: New file. * sysdeps/x86_64/fpu/s_fminl.S: New file. * locale/programs/locarchive.c (struct nameent, struct dataent): New types. * sysdeps/unix/sysv/linux/x86_64/sys/io.h: New file. * sysdeps/x86_64/fpu/s_llrint.S: New file. * sysdeps/x86_64/fpu/s_llrintf.S: New file. * sysdeps/x86_64/fpu/s_llrintl.S: New file. * sysdeps/x86_64/fpu/s_lrint.S: New file. * sysdeps/x86_64/fpu/s_lrintf.S: New file. * sysdeps/x86_64/fpu/s_lrintl.S: New file. * sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New macro. (CAUSE_SHIFT): New macro. * sysdeps/sparc/sparc64/configure.in: New file. * sysdeps/unix/sysv/linux/x86_64/readelflib.c: New file. * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New file. * sysdeps/x86_64/bits/setjmp.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New file. * elf/tst-tls1.c: Move #include "tls-macros.h" inside #ifdef USE_TLS. * sysdeps/unix/sysv/linux/mips/sys/user.h: New file. * config.h.in (HAVE_BUILTIN_MEMSET): New macro. * elf/dl-deps.c (_dl_build_local_scope): New function. * elf/dl-lookup.c (_dl_debug_bindings): New function. (elf_machine_rela, elf_machine_rela_relative): New functions. (elf_machine_rela, elf_machine_rela_relative): New functions. * elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New functions.
2002-08-30* locale/duplocale.c: Include <string.h>.Roland McGrath1-0/+1
2002-08-30* locale/xlocale.h (struct __locale_struct): New member `__names'.Roland McGrath8-35/+64
* locale/xlocale.c (_nl_C_locobj): Update initializer. * locale/global-locale.c (_nl_global_locale): Likewise. * locale/duplocale.c (__duplocale): strdup __names elements. * locale/freelocale.c (__freelocale): Free __names elements. * locale/localename.c (_nl_current_names): Variable removed. (__current_locale_name): Use _NL_CURRENT_LOCALE->__names instead. * locale/localeinfo.h (_nl_current_names): Removed decl. * locale/setlocale.c: Use _nl_global_locale->__names in place of _nl_current_names throughout. * locale/setlocale.c (setlocale): strdup -> __strdup (not ISO C). * sysdeps/gnu/errlist-compat.awk: Emit link_warnings for sys_errlist and sys_nerr in the output file. * sunrpc/Makefile (rpcgen-cmd): Pass CPP in rpcgen's environment. * scripts/cpp: Just use the environment variable. * libio/tst-mmap-setvbuf.c (main): Use 'm' fopen flag. * libio/tst-mmap-offend.c (do_test): Likewise. * libio/tst-mmap-fflushsync.c (do_test): Likewise. * libio/tst-mmap-eofsync.c (do_test): Likewise. * libio/tst-mmap2-eofsync.c (do_test): Likewise.
2002-08-30* locale/localename.c: If the current locale is the global locale, useRoland McGrath1-5/+3
_nl_current_names; otherwise use the locale object. 2002-08-29 Roland McGrath <roland@frob.com> * sysdeps/mach/hurd/bits/local_lim.h (NAME_MAX): New macro. 2002-08-29 Roland McGrath <roland@redhat.com>
2002-08-30* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit):Roland McGrath1-1/+5
Change argument type from int to intptr_t. * locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the initializer on [! _HURD_THREADVAR_H] (bad kludge). * sysdeps/mach/hurd/i386/init-first.c (init): Initialize _HURD_THREADVAR_LOCALE slot to &_nl_global_locale. * hurd/hurdsig.c (_hurdsig_init): Likewise. Zero other slots.
2002-08-29* locale/findlocale.c [NL_CURRENT_INDIRECT] (_nl_C): New variable.Roland McGrath2-4/+24
* locale/setlocale.c (setlocale) [NL_CURRENT_INDIRECT]: Null return from _nl_find_locale ok if for _nl_C_name.
2002-08-29* locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.defRoland McGrath1-0/+12
iterator to refer to each category's _nl_current_LC_FOO symbol, so we know they are all linked in.
2002-08-28* locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry,Roland McGrath15-317/+74
_nl_select_era_entry): Moved to ... * time/era.c: ... here, new file. (_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry): Add internal_function to definitions. Take an additional argument giving the `struct locale_data *' to use. * locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Moved to ... * time/alt_digit.c: ... here, new file. * time/lc-time-cleanup.c: New file. * locale/lc-time.c (_nl_postload_time, free_mem): Functions removed. * locale/localeinfo.h (_nl_postload_time): Remove decl. (_nl_cleanup_time): Declare it. (_nl_get_era_entry, _nl_select_era_entry): Update decls. (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise. * time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup. * time/strftime.c: Pass locale data to helper functions. * time/strptime.c: Likewise. * locale/localeinfo.h (struct locale_data): New member `private' * locale/loadlocale.c (_nl_intern_locale_data): Initialize it. (_nl_unload_locale): Call LOCALE->private.cleanup if it is set. * 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. * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD): Redefine this too.
2002-08-28Update.Ulrich Drepper1-9/+15
2002-08-28 Jakub Jelinek <jakub@redhat.com> * sysdeps/ia64/elf/configure.in (PI_STATIC_AND_HIDDEN): Define unconditionally. * sysdeps/alpha/elf/configure.in (libc_cv_alpha_hidden_gprel): New check. (PI_STATIC_AND_HIDDEN): Define if check succeeded. 2002-08-28 Jakub Jelinek <jakub@redhat.com> * locale/loadarchive.c (_nl_load_locale_from_archive): Add fd >= 0 check to close_and_out close. Replace return NULL statements where fd might be >= 0 with goto close_and_out. Close the file descriptor when it is no longer needed.
2002-08-28(open_archive): Replace using label 'again' with a loop to work around gcc ↵Ulrich Drepper1-46/+51
3.2 bug.
2002-08-28* Makeconfig (run-program-prefix): Fix bogus use of $(findstring ...)Roland McGrath1-1/+1
to use $(filter ...) instead. Same bug fixed in aix conditionals. * locale/setlocale.c: Declare postload functions weak.
2002-08-28Make uselocale support static linking.Roland McGrath6-145/+225
* locale/xlocale.c: Revert changes putting _nl_global_locale here. This file again just defines _nl_C_locobj. (_nl_C_locobj): Use a categories.def iterator in the initializer. * locale/global-locale.c: New file. Define _nl_global_locale here, using all weak references in the initializer. * locale/Makefile (aux): Add global-locale. * locale/localeinfo.h (_nl_global_locale, _NL_CURRENT_LOCALE): Make these unconditional, along with the tsd decl. [!SHARED && HAVE___THREAD && HAVE_WEAK_SYMBOLS] (NL_CURRENT_INDIRECT): Define it under these conditions. [NL_CURRENT_INDIRECT]: Test this instead of [! SHARED]. Don't declare _nl_current. Declare _nl_current_LC_FOO as `extern __thread struct locale_data *const *'. [NL_CURRENT_INDIRECT] (_NL_CURRENT_DATA, _NL_CURRENT, _NL_CURRENT_WSTR): Add indirection. [NL_CURRENT_INDIRECT] (_NL_CURRENT_DEFINE): Rewritten. Define the thread variable _nl_current_LC_FOO and also a special absolute symbol _nl_current_LC_FOO_used. * locale/uselocale.c (__uselocale) [NL_CURRENT_INDIRECT]: Set each _nl_current_LC_FOO symbol to point into the new locale, using weak references to test if _nl_current_LC_FOO_used was linked in. * locale/setlocale.c [! SHARED]: Replace this conditional ... [NL_CURRENT_INDIRECT]: ... with this one. (_nl_current, _nl_C): Variables removed. [NL_CURRENT_INDIRECT] (_nl_current_used): New variable, table of weak references to _nl_current_LC_FOO_used. [NL_CURRENT_INDIRECT] (CATEGORY_USED): Define using that table. (free_category): New function, broken out of ... (free_mem): ... here. Call that. (free_mem) [NL_CURRENT_INDIRECT]: Use a categories.def iterator instead of a loop. __USING_NAMESPACE_C99 depending on _GLIBCPP_USE_NAMESPACES.
2002-08-28* locale/tst-C-locale.c (run_test): Remove __ from function names.Roland McGrath1-18/+18
2002-08-28Add i386/dl-brk.S, mips/dl-brk.S, and sparc/dl-brk.S.Ulrich Drepper1-1/+1
2002-08-28Prepare headers for use in ISO C++ compliant implementations.Ulrich Drepper1-0/+5
2002-08-28 Roland McGrath <roland@redhat.com>Roland McGrath3-18/+21
* 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-282002-08-28 Jakub Jelinek <jakub@redhat.com>Roland McGrath1-2/+1
* 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-282002-08-27 Roland McGrath <roland@redhat.com>Roland McGrath1-5/+0
* locale/locale.h (__newlocale, __duplocale, __freelocale, __uselocale): Don't declare these any more. * include/locale.h (__uselocale): Declare here instead, using __typeof.
2002-08-27* ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts.Roland McGrath1-1/+0
* ctype/ctype-extn.c (isblank_l): Add weak alias. * sysdeps/generic/strtol_l.c (strtol_l): Likewise. * sysdeps/generic/strtoll_l.c (strtoll_l): Likewise. * sysdeps/generic/strtoul_l.c (strtoul_l): Likewise. * sysdeps/generic/strtoull_l.c (strtoull_l): Likewise. * wctype/iswctype_l.c (iswctype_l): Likewise. * time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def. * ctype/ctype.h (__exctype_l): Don't declare __ name. * stdlib/stdlib.h: Don't declare __*_l names. * include/stdlib.h: Declare them here instead. * include/string.h: Don't declare __*_l names. * string/string.h: Declare them here instead. * time/time.h: Don't declare __*_l names. * include/time.h: Declare them here instead. * wcsmbs/wchar.h: Don't declare __*_l names. * include/wchar.h: Declare them here instead. * wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l. Don't declare __*_l names. * include/wctype.h: Declare them here instead. * stdlib/monetary.h: Declare strfmon_l, not __strfmon_l. * stdlib/strfmon_l.c (strfmon_l): Define as weak alias. * locale/langinfo.h: Don't declare __nl_langinfo_l. * include/langinfo.h: Declare it here with __typeof.
2002-08-272002-08-27 Roland McGrath <roland@redhat.com>Roland McGrath1-3/+4
* locale/Versions (libc: GLIBC_PRIVATE): Move __uselocale to ... (libc: GLIBC_2.3): ... here.
2002-08-27Update.Ulrich Drepper1-1/+3
2002-08-27 Ulrich Drepper <drepper@redhat.com> * sysdeps/arm/Dist: Add bits/link.h. * sunrpc/Makefile: Distribute thrsvc. * stdio-common/Makefile: Remove more left-overs from old stdio. * include/linewrap.h: Removed. * libio/bug-mmap-fflush.c: Rewrite to not touch source directory. * intl/Makefile (distribute): Add plural-eval.c. * stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This file isn't distributed. Add special rules to install bits/stdio_lim.h. * Make-dist: Remove traces of old stdio. * Makeconfig: Likewise. * locale/Makefile (localedef-aux): New variable. Only md5 assigned to it. These files are not ddistributed in this directory. * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h.
2002-08-27Update.Ulrich Drepper1-1/+1
2002-08-26 Ulrich Drepper <drepper@redhat.com> * libio/Makefile (tests): Add bug-fopena+. * libio/bug-fopena+.c: New file. * stdio-common/tst-swprintf.c (main): Add casts to avoid warnings. * locale/xlocale.c: Fix the last change. The variable still has to end in _data. * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)] (__libc_tsd_set): Add _data prefix to variable name.
2002-08-27Fix the last change. The variable still has to end in _data.Ulrich Drepper1-1/+1
2002-08-26* locale/programs/ld-ctype.c (ctype_read): When given a repertoireRoland McGrath1-1/+3
name of "", store a null pointer instead. * configure.in (elf): Set to yes for freebsd*, netbsd*. * configure: Regenerated. * locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE): Initialize this instead of __libc_tsd_LOCALE_data. * sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from ptsname_r to EINVAL. * sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0. * rt/Makefile: Revert last change, it was inappropriate to presume aio implementations depend on pthreads. * rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS. * rt/tst-aio64.c (do_test): Likewise. * rt/tst-aio2.c (do_test): Likewise. * rt/tst-aio3.c (do_test): Likewise. * rt/tst-aio4.c (do_test): Likewise. * rt/tst-aio5.c (do_test): Likewise. * rt/tst-aio6.c (do_test): Likewise. * rt/tst-aio7.c (do_test): Likewise. * sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to void so as to avoid compiler warnings. * libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define _IO_wide_data_FD, which is never used here. * libio/iofread.c [! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn. * libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise. * libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise. * include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl. * include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern. * misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT]. (closelog): Likewise. 2002-07-06 Bruno Haible <bruno@clisp.org> * sysdeps/alpha/fpu/fpu_control.h: Comment fix. * sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ... * sysdeps/unix/alpha/pipe.S: ... here. * sysdeps/unix/bsd/osf/alpha/pipe.S: File removed. * sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF. * sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation. * sysdeps/unix/i386/fork.S: Likewise. * sysdeps/unix/i386/pipe.S: Likewise. * sysdeps/unix/i386/wait.S: Likewise. * sysdeps/unix/fork.S: Fix PSEUDO_END argument. * sysdeps/unix/arm/fork.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL arguments. (DO_CALL): Swap argument order. * sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error. (L): Define right for ELF. * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition. Now defined in sysdeps/i386/sysdep.h. * sysdeps/posix/readv.c: Ansify function definition. * sysdeps/posix/writev.c: Likewise. * stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t have the same size. Avoid direct cast from size_t to off_t. * login/tst-utmp.c (simulate_login): Don't leave garbage after the nul byte in entry[n].ut_user. (simulate_logout): Likewise. * login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE, _HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the existence of corresponding members of 'struct utmp'. * login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and !_HAVE_UT_TYPE. * sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small, allocate a buffer of at least BUFSIZ bytes, not just of sizeof (struct dirent). * sysdeps/generic/glob.c: Include <limits.h>. (NAME_MAX): Define a fallback. (glob_in_dir): Allocate enough room for a 'struct dirent64' on the stack. * posix/tst-dir.c: Include <stddef.h>, for offsetof. (main): Allocate enough room for a 'struct dirent64' on the stack. * posix/tst-gnuglob.c (my_DIR): Allocate enough room for a 'struct dirent'. * sysdeps/unix/sysv/linux/init-first.c: Don't include kernel-features.h. * inet/htontest.c: Include <sys/types.h>. * sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS. * include/sys/sysctl.h: Comment fix. * elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize _dl_load_lock. * libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO. * sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias. * sysdeps/unix/inet/syscalls.list (__connect_internal): New alias. (__getpeername): New alias. (__getsockname): New alias. (__socket): New alias. * sysdeps/unix/common/syscalls.list (getpgid): Remove. * sysdeps/unix/syscalls.list (__chown_internal): New alias. (__fcntl_internal): New alias. (__profil): New alias.
2002-08-262002-08-26 Roland McGrath <roland@redhat.com>Roland McGrath1-0/+3
* locale/programs/ld-ctype.c (ctype_read): When given a repertoire name of "", store a null pointer instead.