Commit Graph

264 Commits

Author SHA1 Message Date
Ulrich Drepper
52de761a93 * intl/dcigettext.c (DCIGETTEXT): Avoid some code duplication. 2009-02-05 19:59:54 +00:00
Ulrich Drepper
9a69db292a [BZ #5443]
2008-03-30  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5443]
	* intl/dcigettext.c (__dcigettext): Get reader lock for locale data
	before looking for translation.
	* locale/duplocale.c: Transform __libc_setlocale_lock into rwlock.
	* locale/freelocale.c: Likewise.
	* locale/newlocale.c: Likewise.
	* locale/setlocale.c: Likewise.
	Based partially on a patch by ryo@np.css.fujitsu.com.
2008-03-31 00:38:06 +00:00
Ulrich Drepper
2ecc7d93b8 * intl/dcigettext.c (_nl_find_msg): Reread nconversions after
acquiring wrlock.  Do conv_tab allocation while holding lock.
	* intl/Makefile: Add rules to build and run tst-gettext6.
	* intl/tst-gettext6.c: New test.
	* intl/tst-gettext6.sh: New file.
2008-03-30 23:40:18 +00:00
Ulrich Drepper
72e6cdfa2c Remove useless "if" before "free". 2008-03-19 06:43:34 +00:00
Ulrich Drepper
80b286ed6e (struct known_translation_t): Turn msgid into a union. (transcmp): Use the appropriate part of s1->msgid and s2->msgid. (DCIGETTEXT): Change the allocation of the 'search' variable so that it needs only fixed stack space. Delay the initialization of msgid_len until it is needed. 2007-11-17 07:37:30 +00:00
Ulrich Drepper
88197030d5 [BZ #5222]
2007-10-28  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5222]
	* elf/dl-load.c (_dl_rtld_di_serinfo): Correct handling of short
	path elements in counting mode.
2007-10-28 08:24:07 +00:00
Ulrich Drepper
656f02ce5b * intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
when we cannot recode the message.
2007-10-13 17:06:29 +00:00
Ulrich Drepper
408cfca0c4 [BZ #5058]
2007-09-24  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5058]
	* intl/gettextP.h (struct loaded_domain): Add conversions_lock member.
	* intl/loadmsgcat.c (_nl_load_domain): Initialize conversions_lock.
	(_nl_unload_domain): Finalize conversions_lock.
	* intl/dcigettext.c (_nl_find_msg): Take conversions_lock before
	handling table of known conversions.

	* posix/regcomp.c (lookup_collation_sequence_value): Check that
2007-09-24 16:09:09 +00:00
Ulrich Drepper
a389bcaa40 (struct loaded_domain): Add conversions_lock member. 2007-09-24 16:04:57 +00:00
Ulrich Drepper
ce31a3b1c5 * intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open
failed.
	* intl/finddomain.c (_nl_find_domain): Free normalized_codeset
	on failure.

	* elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
	allocated.

2007-08-03  Jakub Jelinek  <jakub@redhat.com>
2007-08-03 15:50:30 +00:00
Ulrich Drepper
701666b77d * nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to
void **.
	* nss/nsswitch.h (service_user): Use void * type for KNOWN field.

	* nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
	char * to avoid warning.
	* nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.

	* timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.

	* locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
	allocate_arrays): Cast second argument to charmap_find_symbol
	to char * to avoid warnings.

	* locale/programs/repertoire.c (repertoire_new_char): Change
	from_nr, to_nr and cnt to unsigned long, adjust printf format
	string.

	* locale/programs/ld-collate.c (insert_value, handle_ellipsis):
	Cast second argument to new_element to char * to avoid warnings.

	* locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.

	* intl/gettextP.h (struct loaded_domain): Change plural to const
	struct expression *.
	* intl/plural-eval.c (plural_eval): Change first argument to
	const struct expression *.
	* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
	argument to const struct expression **.
	* intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
	prototypes.
	* intl/loadmsgcat (_nl_unload_domain): Cast away const
	in call to __gettext_free_exp.

	* posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
	unitialized wstring/wpattern var warnings.

	* posix/runtests.c (struct a_test): Make data field const char *.

	* stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
	vars if not LDBL_MANT_DIG >= 106.

	* stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.

	* stdio-common/vfprintf.c (vfprintf): Cast first arugment to
	__find_specmb to avoid warning.

	* rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.

	* debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
	to avoid warnings.

	* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
	initializer.

	* sysdeps/unix/clock_gettime.c (clock_gettime): Only define
	tv var when it will be actually used.

	* sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
	to avoid warnings.
2007-07-28 20:36:21 +00:00
Ulrich Drepper
7b503bcc13 * iconv/gconv_int.h (__GCONV_NULCONV): New internal only error code.
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
	if from and to charsets are the same.
	* iconv/gconv_db.c (__gconv_find_transform): Likewise.
	* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
	returns __GCONV_NOCONV, but not for __GCONV_NULCONV.

2007-07-17  Jakub Jelinek  <jakub@redhat.com>

	* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
	Don't define wint_t when __need_mbstate_t unless it
	is necessary.
	(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
	in the typedef if possible.
	* wctype/wctype.h (wint_t): Define by including
	wchar.h with __need_wint_t instead of including stddef.h
	with __need_wint_t and as fallback definining it ourselves.
	* iconv/gconv.h (__need_wint_t): Define before including
	wchar.h.
	* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
	or _GLIBCPP_USE_WCHAR_T.
	(__need_wchar_t): Don't define
	if not _LIBC or _GLIBCPP_USE_WCHAR_T.
	(__need_wint_t): Don't define before including stddef.h,
	define before including wchar.h only if _LIBC or
	_GLIBCPP_USE_WCHAR_T.
	(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
	* sysdeps/mach/hurd/_G_config.h: Likewise.
	* sysdeps/generic/_G_config.h: Likewise.
	* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
	prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
	(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
	if _LIBC or _GLIBCPP_USE_WCHAR_T.
2007-07-28 19:02:07 +00:00
Ulrich Drepper
1c298d0887 [BZ #4775, BZ #4776]
2007-07-12  Jakub Jelinek  <jakub@redhat.com>
	[BZ #4775]
	* math/tgmath.h (__tgmath_real_type_sub): Formatting.
	(__tgmath_real_type): Fix if expr is const int or other const
	qualified integral type.
	(__TGMATH_UNARY_REAL_ONLY): Rewritten to avoid using statement
	expressions and handle const qualified arguments.
	(__TGMATH_BINARY_FIRST_REAL_ONLY, __TGMATH_UNARY_REAL_IMAG,
	__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
	(__TGMATH_UNARY_REAL_RET_ONLY): Rewritten to avoid using
	statement expressions.
	(__TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY,
	__TGMATH_TERNARY_REAL_ONLY, __TGMATH_BINARY_REAL_IMAG): Likewise.
	(__TGMATH_UNARY_IMAG): Define.
	(conj, cproj): Use __TGMATH_UNARY_IMAG macro.
	* math/Makefile (tests): Add test-tgmath2.
	(CFLAGS-test-tgmath2.c): Add.
	* math/test-tgmath.c (fy, dy, ly, fz, dz, lz, count_cdouble,
	count_cfloat, count_cldouble): New variables.
	(NCCALLS): Define.
	(main): Check number of complex calls as well.
	(F(compile_test)): Add complex tests and tests with const qualified
	arguments.
	(y, z, ccount): Define.
	(F(cacos), F(casin), F(catan), F(ccos), F(csin), F(ctan), F(cacosh),
	F(casinh), F(catanh), F(ccosh), F(csinh), F(ctanh), F(cexp), F(clog),
	F(csqrt), F(cpow), F(cabs), F(carg), F(creal), F(cimag), F(conj),
	F(cproj)): New functions.
	* math/test-tgmath2.c: New test.

2007-07-11  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4776]
	* elf/dl-load.c (_dl_rtld_di_serinfo): Output / in LD_LIBRARY_PATH,
	RPATH etc. as "/" rather than "", don't segfault on empty paths,
	instead output ".".
	* dlfcn/Makefile (distribute): Add glreflib3.c.
	(module-names): Add glreflib3.
	($(objpfx)tst-dlinfo.out): Depend on glreflib3.so rather than
	glreflib1.so.
	(LDFLAGS_glreflib3.so): New.
	* dlfcn/tst-dlinfo.c (do_test): Load glreflib3.so instead of
	glreflib1.so.
	* dlfcn/glreflib3.c: New file.

	* intl/finddomain.c (_nl_find_domain): If _nl_explode_name
	returned -1, return NULL.
	* intl/explodename.c (_nl_explode_name): Return -1 if
	_nl_normalize_codeset failed.
2007-07-12 18:17:11 +00:00
Ulrich Drepper
4259230fd1 * intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
look further, return original strings.
	(_nl_find_msg): Do not return found translation if the conversion
	failed.  Either signal the string is unusable or that something went
	wrong and the original should be used.

2006-06-21  Ulrich Drepper  <drepper@redhat.com>

	* string/_strerror.c (__strerror_r): Add __builtin_expect.
2006-06-22 23:59:32 +00:00
Ulrich Drepper
9446614c28 * locale/setlocale.c: Change _nl_category_names into a string.
Add new _nl_category_name_idxs.  Change all users.
	* locale/localeinfo.h: Adjust declaration of _nl_category_names.
	Declare _nl_category_name_idxs.
	* locale/findlocale.c: Adjust for _nl_category_names change.
	* locale/loadlocale.c: Likewise.
	* locale/newlocale.c: Likewise.
	* intl/dcigettext.c: Likewise.
2006-05-15 18:36:28 +00:00
Ulrich Drepper
616d91335a * elf/ldconfig.c (main): Use rawmemchr instead of strchr.
* nis/nis_call.c (rec_dirsearch): Likewise.
	* nis/nis_local_names.c (nis_local_host): Likewise.
	(nis_local_directory): Likewise.
	* intl/explodename.c (_nl_explode_name): Likewise.

	* sysdeps/generic/unwind-dw2.c (execute_cfa_program): Don't handle
	DW_CFA_GNU_windiw_save if it obviously cannot work [Coverity CID 102].

	* locale/programs/ld-address.c (address_finish): Fix conditions
	for error messages [Coverity CID 104].
2006-04-07 07:02:20 +00:00
Ulrich Drepper
0292b0dd6c * libio/fmemopen.c (fmemopen): Free stream memory in case of
invalid length [Coverity CID 106].

	* nss/nss_files/files-key.c (search): Close stream before
	successful return [Coverity CID 107].

	* io/fts.c (fts_open): Don't allocate parent if *argv==NULL
	[Coverity CID 108].

	* sunrpc/rpc_cout.c (inline_struct): Free sizestr after use
	[Coverity CID 110, 109].

	* sunrpc/rpc_scan.c (docppline): Free file string if it is not
	going to be used [Coverity CID 111].

	* sysdeps/unix/sysv/linux/getsourcefilter.c (getsourcefilter): Free
	memory if socket level value cannot be retrieved [Coverity CID 112].

	* nis/nis_clone_dir.c (nis_clone_directory): Free all memory in
	error case [Coverity CID 114].

	* nis/nis_clone_res.c (nis_clone_result): Free all memory in the
	error cases [Coverity CID 115].

	* sunrpc/rpc_parse.c (get_definition): Free defp if tok ==
	TOK_EOF [Coverity CID 116].

	* sysdeps/unix/sysv/linux/setsourcefilter.c (setsourcefilter): Free
	memory if socket level value cannot be retrieved [Coverity CID 117].

	* elf/cache.c (save_cache): Initialize pad to avoid writing
	uninitialized data to disk.

	* elf/cache.c (save_cache): Free file_entries_new [Coverity CID 118].

	* intl/finddomain.c (_nl_find_domain): Avoid strdup of expand
	locale name, use strdupa.  Remove free call [Coverity CID 119].

	* sunrpc/rpc_main.c (generate_guard): Avoid extra allocation and
	the resulting leak [Coverity CID 121].

	* sunrpc/rpc_main.c (mkfile_output): Free all allocated memory
	[Coverity CID 122].

	* sunrpc/rpc_main.c (h_output): Free guard after we are done
	[Coverity CID 123].

	* sunrpc/svc_udp.c (cache_set): Free victim if newbuf allocation
	fails [Coverity CID 126].

	* sunrpc/svc_udp.c (svcudp_enablecache): Free memory in error
	cases [Coverity CID 127].

	* nis/nis_table.c (__create_ib_request): Free ibreq in case strdup
	fails [Coverity CID 128].

	* nis/nis_getservlist.c (nis_getservlist): Free all memory in case
	of an error [Coverity CID 130, 129].

	* nis/nis_print_group_entry.c (nis_print_group_entry): If
	nis_lookup call failed, return.  Free lookup result in error
	cases [Coverity CID 131].

	* nis/nis_removemember.c (nis_removemember): Free all memory in
	error cases [Coverity CID 132].

	* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
	Always free lookup result [Coverity CID 134].

	* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r):
	Always free lookup result [Coverity CID 135].

	* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
	Always free lookup result [Coverity CID 136].

	* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
	Before retrying, free old result [Coverity CID 137].

	* nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
	Free res in case UID is zero [Coverity CID 138].

	* nis/ypclnt.c (yp_update): Always free master string
	[Coverity CID 140].

	* nis/nis_creategroup.c (nis_creategroup): Free all memory in
	error cases [Coverity CID 143, 142, 141].

	* nis/nss_nis/nis-publickey.c (_nss_nis_getpublickey): Free result
	if yp_match call succeeded [Coverity CID 155].

	* nis/nss_nis/nis-publickey.c (_nss_nis_getsecretkey): Free string
	allocated in yp_match at all times [Coverity CID 157, 156].

	* nscd/nscd.c (write_pid): Close stream also if writing failed
	[Coverity CID 165].

	* nis/nis_table.c (nis_add_entry): Move test for NULL parameter
	ahead of first use [Coverity CID 167].

	* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Move test
	for NULL parameter ahead of first use [Coverity CID 168].

	* intl/finddomain.c (_nl_find_domain): We never return NULL if we
	found the locale [Coverity CID 169].

	* inet/getnameinfo.c (getnameinfo): __getservbyport_r does not set
	herrno [Coverity CID 178].

	* nis/nis_checkpoint.c (nis_checkpoint): Don't access and returned
	freed object [Coverity CID 182].
2006-04-07 04:29:25 +00:00
Roland McGrath
c6813ffea9 [BZ #2066]
2005-12-21  Roland McGrath  <roland@redhat.com>
	[BZ #2066]
	* intl/l10nflist.c (_nl_make_l10nflist): Free ABS_FILENAME when later
	malloc fails.
2005-12-22 01:03:50 +00:00
Ulrich Drepper
72005a5d0d * intl/plural-exp.c (GERMANIC_PLURAL): Mark as const.
* intl/plural-exp.h: Adjust declaration of
	__gettext_germanic_plural.
2005-12-21 04:23:34 +00:00
Ulrich Drepper
d6c7294ed6 * sysdeps/ia64/fpu/libm_error.c (__libm_error_support): Don't abort.
2005-08-17  Robert Love  <rml@novell.com>

	* sysdeps/unix/sysv/linux/sys/inotify.h: Add IN_MOVE_SELF event.

2005-08-19  Bruno Haible  <bruno@clisp.org>

	* intl/localealias.c (read_alias_file): In case of failure, close the
	file descriptor and sort the array before returning.

2005-08-19  Ulrich Drepper  <drepper@redhat.com>

	* malloc/Makefile: Link libmemusage.so with ld.so.
	* malloc/memusage.c: Use atomic operations for all counter and size
	 computations.  Handle thread stacks.
	* sysdeps/generic/memusage.h: Define memusage_cntr_t and
	memusage_size_t.
	* sysdeps/i386/i686/memusage.h: New file.
	* include/atomic.h: Define atomic_max and atomic_min.

	* debug/tst-chk1.c: Add tests for mbstowcs and wcstombs.
2005-08-20 01:22:05 +00:00
Ulrich Drepper
0e66ade5ad * debug/pread64_chk.c: Use __libc_pread64 instead of __pread64.
* sysdeps/posix/posix_fallocate64.c: Likewise.
	* include/string.h: Use libc_hidden_proto for strnlen.
	* sysdeps/generic/strnlen.c: Add libc_hidden_def.
	* include/libintl.h: Use libc_hidden_proto for __dcgettext.
	* intl/dcgettext.c: Add libc_hidden_def.
	* include/execinfo.h: Add libc_hidden_proto for __backtrace and
	__backtrace_symbols_fd.
	* sysdeps/generic/backtrace.c: Add libc_hidden_def.
	* sysdeps/generic/backtracesymsfd.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* sysdeps/i386/backtrace.c: Likewise.
	* sysdeps/ia64/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc32/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc64/backtrace.c: Likewise.
	* sysdeps/s390/s390-32/backtrace.c: Likewise.
	* sysdeps/s390/s390-64/backtrace.c: Likewise.
2005-06-14 15:55:44 +00:00
Ulrich Drepper
83c0f41ff0 * intl/libintl.h: Always use __attribute_format_arg__ for gettext
functions since gcc sometimes forgets the attribute for the
	standard functions.
2005-05-07 20:36:13 +00:00
Ulrich Drepper
fee732e531 * intl/Makefile (tst-gettext[45].out): Pass also $(run-program-prefix)
as argument to the scripts.
	* intl/tst-gettext2.sh: Use mkdir -p instead of test -d + mkdir.
	* intl/tst-gettext4.sh: Likewise.  Use run_program_prefix argument.
	* intl/tst-gettext5.sh: Likewise.

	* intl/tst-translit.sh: Add mkdir -p.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Use
	.ifndef/.endif to allow use of this macro more than once per .S
	file.
	(LOAD_PIC_REG): New macro.
	* sysdeps/unix/sysv/linux/i386/makecontext.S: Add call frame
	information.
	* sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
	* sysdeps/i386/fpu/s_asinh.S: Use LOAD_PIC_REG macro.  Add call frame
	information.
	* sysdeps/i386/fpu/e_log10f.S: Likewise.
	* sysdeps/i386/fpu/s_expm1.S: Likewise.
	* sysdeps/i386/fpu/e_acoshf.S: Likewise.
	* sysdeps/i386/fpu/e_log2l.S: Likewise.
	* sysdeps/i386/fpu/s_log1pf.S: Likewise.
	* sysdeps/i386/fpu/s_lrint.S: Likewise.
	* sysdeps/i386/fpu/s_llrint.S: Likewise.
	* sysdeps/i386/fpu/s_ilogbf.S: Likewise.
	* sysdeps/i386/fpu/s_cbrtl.S: Likewise.
	* sysdeps/i386/fpu/s_asinhf.S: Likewise.
	* sysdeps/i386/fpu/e_log.S: Likewise.
	* sysdeps/i386/fpu/e_atanhf.S: Likewise.
	* sysdeps/i386/fpu/s_lrintl.S: Likewise.
	* sysdeps/i386/fpu/e_atanhl.S: Likewise.
	* sysdeps/i386/fpu/e_scalb.S: Likewise.
	* sysdeps/i386/fpu/s_log1p.S: Likewise.
	* sysdeps/i386/fpu/s_nearbyintl.S: Likewise.
	* sysdeps/i386/fpu/s_frexpl.S: Likewise.
	* sysdeps/i386/fpu/s_log1pl.S: Likewise.
	* sysdeps/i386/fpu/s_nearbyintf.S: Likewise.
	* sysdeps/i386/fpu/s_cbrt.S: Likewise.
	* sysdeps/i386/fpu/s_expm1l.S: Likewise.
	* sysdeps/i386/fpu/s_lrintf.S: Likewise.
	* sysdeps/i386/fpu/e_acosh.S: Likewise.
	* sysdeps/i386/fpu/s_cexp.S: Likewise.
	* sysdeps/i386/fpu/s_ilogbl.S: Likewise.
	* sysdeps/i386/fpu/s_expm1f.S: Likewise.
	* sysdeps/i386/fpu/e_powl.S: Likewise.
	* sysdeps/i386/fpu/e_powf.S: Likewise.
	* sysdeps/i386/fpu/e_scalbf.S: Likewise.
	* sysdeps/i386/fpu/e_logl.S: Likewise.
	* sysdeps/i386/fpu/e_acoshl.S: Likewise.
	* sysdeps/i386/fpu/s_frexp.S: Likewise.
	* sysdeps/i386/fpu/e_pow.S: Likewise.
	* sysdeps/i386/fpu/e_logf.S: Likewise.
	* sysdeps/i386/fpu/e_log2.S: Likewise.
	* sysdeps/i386/fpu/s_frexpf.S: Likewise.
	* sysdeps/i386/fpu/s_cexpl.S: Likewise.
	* sysdeps/i386/fpu/s_llrintf.S: Likewise.
	* sysdeps/i386/fpu/s_ilogb.S: Likewise.
	* sysdeps/i386/fpu/e_scalbl.S: Likewise.
	* sysdeps/i386/fpu/e_atanh.S: Likewise.
	* sysdeps/i386/fpu/e_log10.S: Likewise.
	* sysdeps/i386/fpu/s_cbrtf.S: Likewise.
	* sysdeps/i386/fpu/s_cexpf.S: Likewise.
	* sysdeps/i386/fpu/s_llrintl.S: Likewise.
	* sysdeps/i386/fpu/e_log10l.S: Likewise.
	* sysdeps/i386/fpu/s_nearbyint.S: Likewise.
	* sysdeps/i386/fpu/s_asinhl.S: Likewise.
	* sysdeps/i386/fpu/e_log2f.S: Likewise.
	* sysdeps/i386/addmul_1.S: Various fixes to cfi handling.
	* sysdeps/i386/mul_1.S: Likewise.
	* sysdeps/i386/strtok.S: Likewise.
	* sysdeps/i386/sub_n.S: Likewise.
	* sysdeps/i386/submul_1.S: Likewise.
	* sysdeps/i386/i586/addmul_1.S: Likewise.
	* sysdeps/i386/i586/memcpy.S: Likewise.
	* sysdeps/i386/i586/mul_1.S: Likewise.
	* sysdeps/i386/i586/rshift.S: Likewise.
	* sysdeps/i386/i586/sub_n.S: Likewise.
	* sysdeps/i386/i586/submul_1.S: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/i386/i686/memmove.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
2005-05-04 17:58:13 +00:00
Ulrich Drepper
8406a53a25 * sysdeps/i386/i686/memcmp.S: Move misplaced END.
2005-03-27  Bruno Haible  <bruno@clisp.org>

	Make it possible for multiple threads to use gettext() in different
	locales.
	* intl/dcigettext.c (HAVE_PER_THREAD_LOCALE): New macro.
	(struct known_translation_t): If HAVE_PER_THREAD_LOCALE, add localename
	field.
	(transcmp): If HAVE_PER_THREAD_LOCALE, compare localename fields.
	(DCIGETTEXT): If HAVE_PER_THREAD_LOCALE, fill the localename field in
	search and newp.

	* intl/tst-gettext4.c: New file.
	* intl/tst-gettext4.sh: New file.
	* intl/tst-gettext4-de.po: New file.
	* intl/tst-gettext4-fr.po: New file.
	* intl/tst-gettext5.c: New file.
	* intl/tst-gettext5.sh: New file.
	* intl/Makefile (distribute): Add tst-gettext4.sh, tst-gettext4-de.po,
	tst-gettext4-fr.po, tst-gettext5.sh.
	(multithread-test-srcs): New variable.
	(test-srcs): Add its contents.
	(tests): Depend on tst-gettext4.out, tst-gettext5.out.
	(tst-gettext4.out, tst-gettext5.out): New rules.
	(CFLAGS-tst-gettext4.c, CFLAGS-tst-gettext5.c): New variables.
	Add rule for linking the multithread-test-srcs with the appropriate
	thread-library.

2005-04-28  Ulrich Drepper  <drepper@redhat.com>

	* po/rw.po: New file.  From translation team.
2005-04-28 18:21:03 +00:00
Roland McGrath
5cc59727ee [BZ #592, BZ #821, BZ #822, BZ #825]
* intl/tst-codeset.sh: Use mkdir -p.  Put msgfmt output in temporary
	file and mv it into place.
	* intl/tst-gettext3.sh: Likewise.

	* Makefile (glibc-%.tar rule): Use make -q to ensure configure scripts
	are up to date in srcdir.  Touch all configure scripts after export.

	[BZ #592]
	[BZ #825]
	[BZ #825]
	[BZ #592]
	[BZ #592]
	[BZ #592]
	[BZ #592]
	[BZ #822]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
	[BZ #821]
2005-04-06 02:18:44 +00:00
Ulrich Drepper
9a79284e48 (distribute): Add tst-gettext3.sh. (test-srcs): Add tst-gettext3. (tests): Depend on tst-gettext3.out. (tst-gettext3.out): New rule. (CFLAGS-tst-gettext3.c): New variable. 2005-04-05 14:05:38 +00:00
Ulrich Drepper
4e82c61025 * intl/tst-gettext3.c: New file.
* intl/tst-gettext3.sh: New file.
	* intl/Makefile (distribute): Add tst-gettext3.sh.
	(test-srcs): Add tst-gettext3.
	(tests): Depend on tst-gettext3.out.
	(tst-gettext3.out): New rule.
	(CFLAGS-tst-gettext3.c): New variable.

	Fix bug exposed by tst-gettext3.
	* intl/gettextP.h (struct converted_domain): New type.
	(struct loaded_domain): Remove the conv, conv_tab fields. Add
	conversions, nconversions fields.
	(_nl_init_domain_conv): Remove declaration.
	(_nl_free_domain_conv): Remove declaration.
	(_nl_find_msg): Add convert argument.
	* intl/dcigettext.c (DCIGETTEXT): Call _nl_find_msg with convert=1.
	(_nl_find_msg): Add convert argument. When a conversion to a different
	charset is needed, create a new converted_domain element, instead of
	throwing away the old converted translations.
	(get_output_charset): New function.
	* intl/loadmsgcat.c (_nl_init_domain_conv): Remove function.
	(_nl_free_domain_conv): Remove function.
	(_nl_load_domain): Initialize the conversions array to empty. Use
	_nl_find_msg instead of _nl_init_domain_conv to retrieve the header
	entry.
	(_nl_unload_domain): Free the conversions array and its contents.

	* intl/gettextP.h (struct loaded_domain): Remove codeset_cntr field.
	(struct binding): Likewise.
	* intl/bindtextdom.c (set_binding_values): Drop codeset_cntr
	modifications.
2005-04-04 22:37:38 +00:00
Roland McGrath
edac424073 [BZ #661]
2005-03-19  Bruno Haible  <bruno@clisp.org>
	* intl/dcigettext.c (struct known_translation_t): Change type of
	domainname field to 'const char *'.
	(DCIGETTEXT): Remove const-cast.

	[BZ #661]
	* grp/initgroups.c (internal_getgrouplist): Check if we have
	enough space before adding the primary group to the list.
2005-03-29 23:41:03 +00:00
Roland McGrath
9cfe5381a1 [BZ #284, BZ #721]
* intl/dcigettext.c (_nl_find_msg): Add a cast.
	* nis/nis_clone_dir.c (nis_clone_directory): Use char * for ADDR.
	* nis/nis_clone_obj.c (nis_clone_object): Likewise.
	* nis/nis_clone_res.c (nis_clone_result): Likewise.

	* resolv/nss_dns/dns-network.c (getanswer_r): Use const unsigned char *
	for END_OF_MESSAGE and CP.

	* resolv/res_send.c (send_dg): Add else branch for case impossible
	unless `poll' is buggy.

	* crypt/crypt_util.c (__setkey_r): Add a cast.

	* locale/programs/linereader.c (get_toplvl_escape): Use size_t for
	NBYTES, and unsigned char * for BYTES.

	* locale/programs/charmap.c (charmap_new_char): Use size_t and
	unsighed char * for NBYTES, BYTES parameters.

	* sysdeps/generic/dl-hash.h (_dl_elf_hash): Take const char * argument
	and cast it.
	* sysdeps/i386/i686/dl-hash.h (_dl_elf_hash): Likewise.

	* sunrpc/create_xid.c (_create_xid): Don't use unsigned long for RES.

	* sunrpc/svcauth_des.c (_svcauth_des): Fix cast type.

	* sunrpc/auth_des.c (authdes_create): Don't use u_char for PKEY_DATA.
	(authdes_marshal): Don't use unsigned int for LEN.
	* sunrpc/xdr.c (xdr_hyper): Don't use unsigned long for T2.
	(xdr_u_hyper): Likewise.
	(xdr_u_short): Don't use u_long for L.
	* sunrpc/xdr_intXX_t.c (xdr_int64_t): Don't use uint32_t for T2.

	* inet/rexec.c (rexec_af): Use socklen_t.
	* sunrpc/key_call.c (getkeyserv_handle): Likewise.
	* sunrpc/rtime.c (rtime): Likewise.
	* resolv/res_send.c (send_vc, send_dg): Likewise.
	* nis/nis_callback.c (__nis_create_callback): Likewise.

	* sysdeps/generic/libc-start.c: Use unsigned int for nthreads ptr.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.

	* libio/libio.h (_IO_BE): Add parenthesis around EXPR.

	* intl/dcigettext.c (INTVARDEF, INTUSE): Macros removed.
	(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
	(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
	* intl/bindtextdom.c (INTUSE): Macro removed.
	(_nl_default_dirname): Use libc_hidden_proto.
	(set_binding_values): Don't use INTUSE.
	* include/libintl.h (_libc_intl_domainname_internal): Decl removed.
	(_libc_intl_domainname): Use libc_hidden_proto.
	* posix/regex_internal.h (gettext): Remove INTUSE on it.
	* locale/SYS_libc.c (_libc_intl_domainname): Use libc_hidden_data_def
	rather than INTDEF.
	* include/libintl.h (_): Don't use *_internal name.

	* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Use int32_t,
	not uint32_t.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise for assignments.

	* iconv/gconv_open.c (__gconv_open): Remove useless cast.

	[BZ #721]
	* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
	of [RESOLVE_MAP].
	* sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(elf_machine_rel, elf_machine_rel_relative): Removed.

2005-02-03  Alexandre Oliva  <aoliva@redhat.com>

	[BZ #721]
	* elf/dynamic-link.h: Don't declare nested auto functions that are
	not going to be defined.

2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #284]
	* include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
	if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.

2005-02-16  Roland McGrath  <roland@redhat.com>
2005-02-17 01:19:55 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper
ac5e137cd9 Update. 2004-09-26 05:07:13 +00:00
Ulrich Drepper
ce7265c743 [BZ #322]
Update.
	* intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
	* intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
	decided < 0.
	* intl/finddomain.c (_nl_find_domain): Likewise.
	* intl/l10nflist.c (_nl_make_l10nflist): Initialize lock.
	* intl/loadinfo.h (struct loaded_l10nfile): Add lock element.
	* intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
	are done.  First set to -1 to signal initialization is ongoing.
	Protect against concurrent callers with recursive lock.
	duplicate address recognition does not copy junk.  [BZ #322]
2004-09-26 04:45:24 +00:00
Ulrich Drepper
f6b90f4299 Update.
* intl/finddomain.c (_nl_find_domain): Protect calls to
	_nl_make_l10nflist.
2004-09-26 03:40:38 +00:00
Ulrich Drepper
1e6d2101ea Update.
* intl/tst-gettext.sh: Adjust for change for de.po file to UTF-8.
	* intl/tst-gettext.c: Likewise.
2004-08-15 19:28:54 +00:00
Ulrich Drepper
f58dc02246 [BZ #33]
Update.
	* intl/tst-gettext.c (main): Improve some messages. [BZ #33]
2004-08-08 22:39:46 +00:00
Ulrich Drepper
9e365fe710 Update.
2004-08-06  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
	Reported by Paolo Bonzini.

2004-08-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
	always_inline.
	* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
	elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.

	* sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
	before including linux/atalk.h.

	* resolv/res_libc.c: Include atomic.h.

	* intl/finddomain.c (free_mem): Rename to...
	(_nl_finddomain_subfreeres): ... this.  Add
	__libc_freeres_fn_section.
	* intl/loadmsgcat.c (_nl_unload_domain): Add
	__libc_freeres_fn_section.
	* intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
	Add attribute_hidden.
	(_nl_findomain_subfreeres): New prototype.
	* iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.
2004-08-06 18:32:16 +00:00
Ulrich Drepper
84b5ba7ecf [BZ #276]
Update.
2004-07-21  Ulrich Drepper  <drepper@redhat.com>

	* intl/libintl.h: Don't define macros for C++.
	Patch by Goto Masanori.

2004-07-22  GOTO Masanori  <gotom@debian.or.jp>

	[BZ #276]
	* include/arpa/inet.h: Change inet_aton type from in_addr_t to int.
	* inet/arpa/inet.h: Likewise.
	* resolv/inet_addr.c: Likewise.

	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop.
2004-07-21 16:35:30 +00:00
Roland McGrath
db2f05ba83 * Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed
substitutions; the semicolon terminators are enough for ld anyway.

	* elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
	dynamically sized auto array in function already using alloca.
	* locale/programs/ld-ctype.c (ctype_output): Likewise.
	* locale/programs/ld-time.c (time_output): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
	IOV array size.
	* locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
	when also using dynamically-sized auto array.
	* locale/programs/locfile.c (locfile_read): Likewise.
	* locale/programs/repertoire.c (repertoire_read): Likewise.
	* nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
	* locale/programs/locarchive.c (enlarge_archive): Likewise.
	* posix/annexc.c (check_header): Likewise.

	* iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
	strlen ("") gets optimized away just as well.
	* intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
2004-03-25 03:54:03 +00:00
Ulrich Drepper
083dc54a01 Update.
2004-01-09  Bruno Haible  <bruno@clisp.org>

	* intl/gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition.
	* intl/loadmsgcat.c (get_sysdep_segment_value): Handle "I".
	(_nl_load_domain): Treat major revision 1 like major revision 0.

2004-01-11  Bruno Haible  <bruno@clisp.org>

	* stdio-common/vfprintf.c (vfprintf): Disallow the 'I' flag after
	width or precision has been seen.

2004-01-08  Bruno Haible  <bruno@clisp.org>

	* intl/loadmsgcat.c (_nl_load_domain): When a string pair uses a system
	dependent segment not known to this version of the library, ignore
	the string pair instead of crashing.
2004-01-14 05:38:11 +00:00
Ulrich Drepper
6c805a2b9d Update.
2003-12-03  Jakub Jelinek  <jakub@redhat.com>

	* posix/Makefile (distribute): Add BOOST.tests.
	(tests): Add tst-boost, depend on tst-boost-mem.
	(generated): Add tst-boost-mem and tst-boost.mtrace.
	(tst-boost-ARGS, tst-boost-ENV): Set.
	($(objpfx)tst-boost-mem): New.
	* posix/tst-boost.c: New test.
	* posix/BOOST.tests: New file.

	* posix/Makefile (distribute): Add PCRE.tests.
	(tests): Add tst-pcre, depend on tst-pcre-mem.
	(generated): Add tst-pcre-mem and tst-pcre.mtrace.
	(tst-pcre-ARGS, tst-pcre-ENV): Set.
	($(objpfx)tst-pcre-mem): New.
	* posix/tst-pcre.c: New test.
	* posix/PCRE.tests: New file.

2003-12-02  Jakub Jelinek  <jakub@redhat.com>

	* intl/locale.alias: Use nb_NO instead of no_NO for bokm.l.

	* sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
	* sysdeps/s390/fpu/libm-test-ulps: Regenerated.
2003-12-04 08:04:57 +00:00
Ulrich Drepper
f0c76a28fd Update.
* intl/locale.alias: nb_NO is now the correct name, not no_NO.
2003-11-04 07:57:51 +00:00
Ulrich Drepper
d0f1175e94 (__hash_string): Zero-extend each char from the string; the old code did a sign-extend on some platforms. 2003-10-24 03:22:26 +00:00
Ulrich Drepper
d0501a245c Update.
2003-09-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Dist: Remove internal_statvfs.c.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add internal_statvfs.
	* sysdeps/unix/sysv/linux/fstatvfs.c: Call __internal_statvfs
	instead of including "internal_statvfs.c".
	* sysdeps/unix/sysv/linux/statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Make it a real function.
	Add code to avoid the stat calls on all the reported mount points
	when we can determine mismatch in advance.
	* sysdeps/unix/sysv/linux/linux_fsinfo.h: Add AUTOFS_SUPER_MAGIC and
	USBDEVFS_SUPER_MAGIC.

2003-09-16  Jakub Jelinek  <jakub@redhat.com>

	* posix/Versions (sched_getaffinity, sched_setaffinity): Change
	from GLIBC_2.3.2 to GLIBC_2.3.3 symbol version.

2003-09-16  Bruno Haible  <bruno@clisp.org>

	* intl/tst-gettext2.sh: Set GCONV_PATH and LOCPATH only after
	invoking msgfmt, not before.
2003-09-17 00:49:19 +00:00
Ulrich Drepper
ee8449f729 Update.
2003-09-04  Ulrich Drepper  <drepper@redhat.com>

	* libio/libio.h: Define _IO_FLAGS2_NOTCANCEL.
	* libio/fileops.c [_LIBC]: Remove close macro.
	(_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel.
	(_IO_new_file_open): Recognize 'c' flag in mode string.
	(_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel.
	(_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use
	write_not_cancel.
	* iconv/gconv_conf.c: Use fopen with 'c' mode flag.
	* inet/rcmd.c: Likewise.
	* inet/ruserpass.c: Likewise.
	* intl/localealias.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getpass.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/mntent_r.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* resolv/res_init.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
	* time/getdate.c: Likewise.
	* time/tzfile.c: Likewise.
	* misc/fstab.h: Undo last change.
	* misc/mntent.h: Likewise.
	* misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and
	CFLAGS-fstab.c definition.

2003-09-04  Jakub Jelinek  <jakub@redhat.com>
2003-09-03  Ulrich Drepper  <drepper@redhat.com>
2003-09-04 08:27:37 +00:00
Ulrich Drepper
9c42bc3b9e Update.
2003-09-03  Jakub Jelinek  <jakub@redhat.com>

	* intl/loadmsgcat.c (open, close, read, mmap, munmap): Define as
	function-like macros.
2003-09-03 17:45:50 +00:00
Ulrich Drepper
6df4dd6808 For _LIBC, call not cancelable versions of open, close, and read. 2003-09-03 00:14:18 +00:00
Ulrich Drepper
f6c93bd9c8 Update.
2003-06-18  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_destroy.c (__pthread_mutex_destroy): For
	error-checking mutex detect busy mutexes.
2003-06-18 18:10:57 +00:00
Ulrich Drepper
fae49c6287 Update.
2003-06-18  Ulrich Drepper  <drepper@redhat.com>

	* intl/localealias.c (read_alias_file): Determine whether line is
	read incompletely early, before we modify the line.
2003-06-18 16:28:03 +00:00
Ulrich Drepper
dd9423a67a Update.
2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (queue_stack): Always inline.
	* ptreadhP.h (__do_cancel): Likewise.
2003-06-11 21:57:23 +00:00