Commit Graph

922 Commits

Author SHA1 Message Date
Ulrich Drepper
dc4bb1c2be * posix/bits/unistd.h (confstr, getgroups, ttyname_r, gethostname,
getdomainname): Add __NTH.
	* stdlib/bits/stdlib.h (ptsname_r, wctomb, mbstowcs, wcstombs):
	Likewise.
	(realpath): Likewise.  Use __const instead of const.  Add __restrict
	keywords.
	* socket/bits/socket2.h (recvfrom): Add __restrict keyword to __buf.
	* wcsmbs/bits/wchar2.h (wmemcpy, wmemmove, wmempcpy, wmemset,
	wcscpy, wcpcpy, wcsncpy, wcpncpy, wcscat, wcsncat, vswprintf, wcrtomb,
	mbsrtowcs, wcsrtombs, mbsnrtowcs, wcsnrtombs): Add __NTH.
	* string/bits/string3.h (__memset_ichk): Likewise.
	(__memcpy_ichk, __memmove_ichk, __mempcpy_ichk, __strcpy_ichk,
	__stpcpy_ichk, __strncpy_ichk, stpncpy, __strcat_ichk,
	__strncat_ichk): Likewise.  Use __const instead of const.
	(__stpncpy_chk): Use __const instead of const.
	(__stpncpy_alias): Use __REDIRECT_NTH instead of __REDIRECT.

2005-08-08  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* nscd/mem.c (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): Move
	definitions to...
	* nscd/nscd.h (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): ...here.
	* nscd/connections.c (usekey): New enum.
	(check_use, verify_persistent_db): New functions.
	(nscd_init): If persistent database is corrupted, unlink it and
	recreate rather than falling back to non-persistent database.
	Call verify_persistent_db.  Avoid overflows in total computation.

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

	* iconvdata/utf-16.c (PREPARE_LOOP): Minor cleanups to make code
	better readable.  Avoid passing var to loop function, it's not
	necessary at all.
2005-08-08 19:04:11 +00:00
Ulrich Drepper
0fee522db1 [BZ #1125]
* posix/Makefile (tests): Add tst-execvp4.
	* posix/tst-execvp4.c: New file.

2005-07-24  Jakub Jelinek  <jakub@redhat.com>

	[BZ #1125]
	* posix/execvp.c (execvp): Change path_malloc to
	char *, free that pointer on failure.

-2005-07-24  Ulrich Drepper  <drepper@redhat.com>
2005-07-24 21:41:49 +00:00
Ulrich Drepper
8a259a2310 * include/stdio.h (__fxprintf): Remove wfmt argument.
* stdio-common/fxprintf.c: Include assert.h, ctype.h and wchar.h.
	(__fxprintf): Remove wfmt argument, create wfmt format string on
	the fly from fmt.
	* argp/argp-fmtstream.c: Adjust all __fxprintf callers.
	* argp/argp-help.c: Likewise.
	* assert/assert-perr.c: Likewise.
	* assert/assert.c: Likewise.
	* gmon/gmon.c: Likewise.
	* inet/rcmd.c: Likewise.
	* malloc/obstack.c: Likewise.
	* misc/error.c: Likewise.
	* misc/getpass.c: Likewise.
	* posix/getopt.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* stdio-common/perror.c: Likewise.
	* stdio-common/psignal.c: Likewise.
	* stdlib/fmtmsg.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sysdeps/generic/wordexp.c: Likewise.
2005-07-20 17:51:14 +00:00
Ulrich Drepper
df6f89692f * wcsmbs/bits/wchar2.h: Add definitions for wcrtomb, mbsrtowcs,
wcsrtombs, mbsnrtowcs, and wcsnrtombs.
	* debug/Makefile (routines): Add wcrtomb_chk, mbsrtowcs_chk,
	wcsrtombs_chk, mbsnrtowcs_chk, and wcsnrtombs_chk.
	* debug/Versions: Add __wcrtomb_chk, __mbsrtowcs_chk,
	__wcsrtombs_chk, __mbsnrtowcs_chk, and __wcsnrtombs_chk.
	* debug/tst-chk1.c: Add tests for new functions.
	* debug/mbsnrtowcs_chk.c: New file.
	* debug/mbsrtowcs_chk.c: New file.
	* debug/wcrtomb_chk.c: New file.
	* debug/wcsnrtombs_chk.c: New file.
	* debug/wcsrtombs_chk.c: New file.

	* include/stdio.h: Add declaration for __fxprintf.
2005-07-20 07:43:27 +00:00
Ulrich Drepper
9f3731cf7f * nscd/grpcache.c (cache_addgr): Use correct maximum for group ID
length.  Patch by Ivan Gyurdiev <ivg2@cornell.edu>.

	* debug/confstr_chk.c: New file.
	* debug/getdomainname_chk.c: New file.
	* debug/getgroups_chk.c: New file.
	* debug/gethostname_chk.c: New file.
	* debug/getlogin_r_chk.c: New file.
	* debug/ttyname_r_chk.c: New file.
	* posix/bits/unistd.h: Add definitions for new debug versions.
	* debug/tst-chk1.c: Add tests for new functions.
	* debug/Versions: Export new functions.
	* debug/Makefile (routines): Add new files.

	* stdlib/bits/stdlib.h: Fix typo.

	* manual/Makefile (libc/index.html): Depend on dir-add.texi.
2005-07-18 21:07:28 +00:00
Ulrich Drepper
96c91d1cfe 2005-06-27 Carlos O'Donell <carlos@systemhalted.org>
* posix/regcomp.c (re_compile_internal): __libc_lock_init
	after init_dfa.
2005-07-10 22:02:15 +00:00
Ulrich Drepper
ec73fd87da * posix/regex_internal.c (build_wcs_buffer): Use MB_LEN_MAX not
MB_CUR_MAX.
	(build_wcs_upper_buffer): Likewise.
2005-07-05 22:01:42 +00:00
Roland McGrath
654fdda1e4 [BZ #959]
2005-06-01  Roland McGrath  <roland@redhat.com>
	[BZ #959]
	* posix/tst-mmap.c (main): Fill the test file with enough data for the
	page size.
2005-06-03 20:37:25 +00:00
Ulrich Drepper
7b91899345 [BZ #934]
2005-05-06  Jakub Jelinek  <jakub@redhat.com>
	[BZ #934]
	* posix/regex_internal.h: Include bits/libc-lock.h or define dummy
	__libc_lock_* macros if not _LIBC.
	(struct re_dfa_t): Add lock.
	* posix/regcomp.c (re_compile_internal): Add __libc_lock_init.
	* posix/regexec.c (regexec, re_search_stub): Add locking.
2005-05-06 23:34:44 +00:00
Ulrich Drepper
e699dda3ae Include bits/libc-lock.h or define dummy __libc_lock_* macros if not _LIBC. (struct re_dfa_t): Add lock. 2005-05-06 23:31:06 +00:00
Roland McGrath
fb1887c7f9 [BZ #877]
2005-04-27  Roland McGrath  <roland@redhat.com>
	[BZ #877]
	* posix/unistd.h: Remove __nonnull from acct decl.
2005-04-27 09:49:39 +00:00
Ulrich Drepper
506cbf1f43 * posix/execvp.c (execvp): Use file name including path when
trying to run it with shell.
	* posix/Makefile: Add rules to build and run tst-execvp3.
	* posix/tst-execvp3.c: New file.
2005-04-14 21:20:51 +00:00
Ulrich Drepper
7a409a1a7c (fnmatch): For short patterns or strings attempt to avoid calling mbsrtowcs twice. 2005-03-30 04:17:47 +00:00
Roland McGrath
56abfa6be5 2005-03-29 Thorsten Kukuk <kukuk@suse.de>
* posix/tst-execle1.c (do_test): Fix execle arguments.
	* posix/tst-execle2.c (do_test): Likewise.
2005-03-29 23:27:01 +00:00
Ulrich Drepper
65fb0d2189 * posix/bits/unistd.h (pread) [__USE_FILE_OFFSET64]: Use __off64_t
instead of __off_t for last argument.
	* debug/Makefile (tests): Add tst-lfschk{1,2,3}.
	* debug/tst-lfschk1.c: New test.
	* debug/tst-lfschk2.c: New test.
	* debug/tst-lfschk3.c: New test.

2005-02-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/termios.h (CMSPAR): Define.
	* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Add __USE_MISC
	and __USE_XOPEN guards to match linux/bits/termios.h.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	(CMSPAR): Define.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
2005-03-20 16:51:05 +00:00
Ulrich Drepper
88764ae26a [BZ #779]
2005-03-10  Jakub Jelinek  <jakub@redhat.com>
	* math/test-misc.c (main): Add some more tests.

2005-03-17  Jakub Jelinek  <jakub@redhat.com>

	* posix/regcomp.c (re_compile_fastmap_iter): Fix check for failed
	__wcrtomb.  Check return values of other __wcrtomb calls.
	* posix/regex_internal.c (build_wcs_buffer, re_string_skip_chars):
	Change mbclen type to size_t.
	(build_wcs_upper_buffer): Change mbclen and mbcdlen type to size_t.
	Handle mb chars whose upper case doesn't have multibyte representation
	in locale's charset.

2005-03-15  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (_int_icalloc, _int_icomalloc, iALLOc,
	public_iCALLOc, public_iCALLOc, public_iCOMALLOc): Protect with
	#ifndef _LIBC.

	[BZ #779]
	* malloc/malloc.c (public_mTRIm): Initialize malloc if not yet
	initialized.

2005-03-10  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__always_inline): Define.
	* posix/bits/unistd.h (read, pread, pread64, readlink, getcwd, getwd):
	Use __always_inline instead of __inline.
	* socket/bits/socket2.h (recv, recvfrom): Likewise.
	* libio/bits/stdio2.h (gets, fgets, fgets_unlocked): Likewise.
	* string/bits/string3.h (__memcpy_ichk, __memmove_ichk, __mempcpy_ichk,
	__memset_ichk, __strcpy_ichk, __stpcpy_ichk, __strncpy_ichk,
	__strcat_ichk, __strncat_ichk): Use __always_inline instead of
	__inline__ __attribute__ ((__always_inline__)).

2005-03-09  Jakub Jelinek  <jakub@redhat.com>

	* debug/tst-chk1.c: Include sys/socket.h and sys/un.h.
	(do_test): Add new tests for recv, recvfrom, getcwd, getwd and
	readlink.  Add some more tests for read, pread, pread64, fgets and
	fgets_unlocked.

	* posix/bits/unistd.h (read, pread, pread64, readlink,
	getcwd, getwd): Change macros into extern inline functions.
	(__read_alias, __pread_alias, __pread64_alias, __readlink_alias,
	__getcwd_alias, __getwd_alias): New prototypes.
	* socket/bits/socket2.h (recv, recvfrom): Change macros into
	extern inline functions.
	(__recv_alias, __recvfrom_alias): New prototypes.
	* libio/bits/stdio2.h (gets, fgets, fgets_unlocked): Change macros
	into extern inline functions.
	(__gets_alias, __fgets_alias, __fgets_unlocked_alias): New prototypes.

	* debug/pread_chk.c (__pread_chk): Fix order of arguments passed
	to __pread.
	* debug/pread64_chk.c (__pread64_chk): Fix order of arguments passed
	to __pread64.
2005-03-19 00:28:51 +00:00
Ulrich Drepper
60bd9f7c41 (read, pread, pread64, readlink, getcwd, getwd): Change macros into extern inline functions. (__read_alias, __pread_alias, __pread64_alias, __readlink_alias, __getcwd_alias, __getwd_alias): New prototypes. 2005-03-19 00:06:22 +00:00
Ulrich Drepper
20981676ad * posix/bits/unistd.h (pread): Fix typo in __USE_FILE_OFFSET64 code. 2005-03-07 00:02:03 +00:00
Ulrich Drepper
1c99f950d1 * posix/regexec.c (check_node_accept_bytes): Correct cast to avoid
warning.
	* posix/regex_internal.c (re_string_reconstruct): Add cast to
	avoid warning.
	(build_wcs_upper_buffer): Change type of bug to plain char.
	* locale/weightwc.h (findidx): Add casts to avoid warnings.
	* time/mktime.c (ranged_convert): Initialize tm to make the
	compiler happy.
	* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add casts to avoid warnings.
	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Add casts to avoid warnings.
	* wcsmbs/mbsnrtowcs.c: Add casts to avoid warnings.
	* wcsmbs/wcsrtombs.c (__wcsrtombs): Add casts to avoid warnings.
	* wcsmbs/wcrtomb.c (__wcrtomb): Add casts to avoid warnings.
	* wcsmbs/mbrtowc.c (__mbrtowc): Use unsigned char for outbuf.
	* posix/regex_internal.c [_LIBC] (build_wcs_buffer): Avoid using
	dynamically sized array.
	(build_wcs_upper_buffer): Likewise.
2005-03-06 07:27:56 +00:00
Ulrich Drepper
05510ae659 * posix/bits/unistd.h (pread, pread64): Don't swap function arguments. 2005-03-03 17:08:56 +00:00
Roland McGrath
95ca9dd3fc * posix/bits/unistd.h (read, pread, pread64): Use __bos0 instead
of __bos.
	* socket/bits/socket2.h (recv, recvfrom): Likewise.
2005-03-01 21:33:48 +00:00
Ulrich Drepper
61062f5630 * posix/bits/unistd.h: Avoid calling __*_chk variants if we can
determine the call will never trigger a failure.

	* sysdeps/i386/i686/memset_chk.S: Remove alias and warning.
	* sysdeps/x86_64/memset_chk.S: Likewise.

2005-02-24  Roland McGrath  <roland@redhat.com>

	* debug/Versions (libc: GLIBC_2.4): Remove
	__memset_zero_constant_len_parameter.
	* sysdeps/generic/memset_chk.c: Remove alias and warning.
	* misc/sys/cdefs.h (__warndecl): New macro.
	* debug/warning-nop.c: New file.
	* string/bits/string3.h (memset): Call __warn_memset_zero_len with no
	arguments, instead of calling __memset_zero_constant_len_parameter.
	Use __warndecl for __warn_memset_zero_len.
	* debug/Makefile (routines): Add $(static-only-routines).
	(static-only-routines): New variable.
2005-03-01 00:35:23 +00:00
Ulrich Drepper
f9ab9ba9ab * posix/Makefile (tests): Add tst-execvp1, tst-execvp2, tst-execlp1,
tst-execlp2, tst-execv1, tst-execv2, tst-execl1, tst-execl2,
	tst-execve1, tst-execve2, tst-execle1, and tst-execle2.
	* posix/tst-execl1.c: New file.
	* posix/tst-execl2.c: New file.
	* posix/tst-execle1.c: New file.
	* posix/tst-execle2.c: New file.
	* posix/tst-execlp1.c: New file.
	* posix/tst-execlp2.c: New file.
	* posix/tst-execv1.c: New file.
	* posix/tst-execv2.c: New file.
	* posix/tst-execve1.c: New file.
	* posix/tst-execve2.c: New file.
	* posix/tst-execvp1.c: New file.
	* posix/tst-execvp2.c: New file.
2005-02-23 02:46:08 +00:00
Ulrich Drepper
53e5696b30 Test for exec function. 2005-02-23 02:42:55 +00:00
Ulrich Drepper
79164473b2 (execvp): Fix invalid free. 2005-02-22 15:36:13 +00:00
Ulrich Drepper
744eb12b7b * posix/regcomp.c (lower_subexp): Do not optimize empty
subexpressions even with REG_NOSUB.
	* posix/rxspencer/tests: Add a previously failing testcase.
2005-02-22 05:07:20 +00:00
Ulrich Drepper
553cc5f9ad * sysdeps/unix/sysv/linux/libc_fatal.c: Print backtrace and memory
map if requested.
	* debug/chk_fail.c: Request backtrace and memory map dump.

	* Versions.def: Add GLIBC_2.4 for libc.
	* debug/fgets_chk.c: New file.
	* debug/fgets_u_chk.c: New file.
	* debug/getcwd_chk.c: New file.
	* debug/getwd_chk.c: New file.
	* debug/readlink_chk.c: New file.
	* debug/read_chk.c: New file.
	* debug/pread_chk.c: New file.
	* debug/pread64_chk.c: New file.
	* debug/recv_chk.c: New file.
	* debug/recvfrom_chk.c: New file.
	* debug/Versions: Add all new functions with version GLIBC_2.4.
	* debug/Makefile (routines): Add fgets_chk, fgets_u_chk, read_chk,
	pread_chk, pread64_chk, recv_chk, recvfrom_chk, readlink_chk,
	getwd_chk, and getcwd_chk.  Plus appropriate CFLAGS definitions.
	* debug/tst-chk1.c: Add more tests.
	* libio/bits/stdio2.h: Add macros for fgets and fgets_unlocked.
	* include/stdio.h: Declare __fgets_chk and __fgets_unlocked_chk.
	* posix/unistd.h: Include <bits/unistd.h> for fortification.
	* posix/bits/unistd.h: New file.
	* posix/Makefile (headers): Add bits/unistd.h.
	* socket/sys/socket.h: Include <bits/socket2.h> for fortification.
	* socket/bits/socket2.h: New file.
	* socket/Makefile (headers): Add bits/socket2.h.

	* string/bits/string3.h: Extend memset macro to check for zero 3rd
	parameter and use __memset_zero_constant_len_parameter in that case.
	* sysdeps/generic/memset_chk.c: Add
	__memset_zero_constant_len_parameter alias and linker warning.
	* debug/Versions: Add __memset_zero_constant_len_parameter to libc
	with version GLIBC_2.4.

	* sysdeps/generic/bits/types.h: Don't unnecessarily use __extension__
	in __STD_TYPE definition.

2005-02-21  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (malloc_printerr): If MALLOC_CHECK_={5,7}, print
	the error message rather than program name.

2005-02-21  Ulrich Drepper  <drepper@redhat.com>
2005-02-21 23:14:10 +00:00
Ulrich Drepper
f2b0dc4404 symlink and readlink are unconditionally available in the 2001 spec. 2005-02-21 10:22:29 +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
963d8d782f [BZ #558]
Update.
2005-01-27  Paolo Bonzini  <bonzini@gnu.org>

	[BZ #558]
	* posix/regcomp.c (calc_inveclosure): Return reg_errcode_t.
	Initialize the node sets in dfa->inveclosures.
	(analyze): Initialize inveclosures only if it is needed.
	Check errors from calc_inveclosure.
	* posix/regex_internal.c (re_dfa_add_node): Do not initialize
	the inveclosure node set.
	* posix/regexec.c (re_search_internal): If nmatch includes unused
	subexpressions, reset them to { rm_so: -1, rm_eo: -1 } here.

	* posix/regcomp.c (parse_bracket_exp) [!RE_ENABLE_I18N]:
	Do build a SIMPLE_BRACKET token.

	* posix/regexec.c (transit_state_mb): Do not examine nodes
	where ACCEPT_MB is not set.
2005-01-27 19:08:10 +00:00
Ulrich Drepper
717ecb1fe5 Update.
2005-01-27  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/tst-fmtmsg.c: Include stdlib.h.
	* stdio-common/tst-fmemopen2.c: Include string.h.
	* posix/execvp.c: Include stdbool.h.
2005-01-27 18:49:47 +00:00
Ulrich Drepper
02f3550c8b [BZ #605, BZ #611]
Update.
2004-12-13  Paolo Bonzini  <bonzini@gnu.org>

	Separate parsing and creation of the NFA.  Avoided recursion on
	the (very unbalanced) parse tree.
	[BZ #611]
	* posix/regcomp.c (struct subexp_optimize, analyze_tree, calc_epsdest,
	re_dfa_add_tree_node, mark_opt_subexp_iter): Removed.
	(optimize_subexps, duplicate_tree, calc_first, calc_next,
	mark_opt_subexp): Rewritten.
	(preorder, postorder, lower_subexps, lower_subexp, link_nfa_nodes,
	create_token_tree, free_tree, free_token): New.
	(analyze): Accept a regex_t *.  Invoke the passes via the preorder and
	postorder generic visitors.  Do not initialize the fields in the
	re_dfa_t that represent the transitions.
	(free_dfa_content): Use free_token.
	(re_compile_internal): Analyze before UTF-8 optimizations.  Do not
	include optimization of subexpressions.
	(create_initial_state): Fetch the DFA node index from the first node's
	bin_tree_t *.
	(optimize_utf8): Abort on unexpected nodes, including OP_DUP_QUESTION.
	Return on COMPLEX_BRACKET.
	(duplicate_node_closure): Fix comment.
	(duplicate_node): Do not initialize the fields in the
	re_dfa_t that represent the transitions.
	(calc_eclosure, calc_inveclosure): Do not handle OP_DELETED_SUBEXP.
	(create_tree): Remove final argument.  All callers adjusted.  Rewritten
	to use create_token_tree.
	(parse_reg_exp, parse_branch, parse_expression, parse_bracket_exp,
	build_charclass_op): Use create_tree or create_token_tree instead
	of re_dfa_add_tree_node.
	(parse_dup_op): Likewise.  Also free the tree using free_tree for
	"<re>{0}", and lower OP_DUP_QUESTION to OP_ALT: "a?" is equivalent
	to "a|".  Adjust invocation of mark_opt_subexp.
	(parse_sub_exp): Create a single SUBEXP node.
	* posix/regex_internal.c (re_dfa_add_node): Remove last parameter,
	always perform as if it was 1.  Do not initialize OPT_SUBEXP and
	DUPLICATED, and initialize the DFA fields representing the transitions.
	* posix/regex_internal.h (re_dfa_add_node): Adjust prototype.
	(re_token_type_t): Move OP_DUP_PLUS and OP_DUP_QUESTION to the tokens
	section.  Add a tree-only code SUBEXP.  Remove OP_DELETED_SUBEXP.
	(bin_tree_t): Include a full re_token_t for TOKEN.  Turn FIRST and
	NEXT into pointers to trees.  Remove ECLOSURE.

2004-12-28  Paolo Bonzini  <bonzini@gnu.org >

	[BZ #605]
	* posix/regcomp.c (parse_bracket_exp): Do not modify DFA nodes
	that were already created.
	* posix/regex_internal.c (re_dfa_add_node): Set accept_mb field
	in the token if needed.
	(create_ci_newstate, create_cd_newstate): Set accept_mb field
	from the tokens' field.
	* posix/regex_internal.h (re_token_t): Add accept_mb field.
	(ACCEPT_MB_NODE): Removed.
	* posix/regexec.c (proceed_next_node, transit_states_mb,
	build_sifted_states, check_arrival_add_next_nodes): Use
	accept_mb instead of ACCEPT_MB_NODE.
2005-01-26 22:42:49 +00:00
Ulrich Drepper
24992143d8 [BZ #693]
Update.
2005-01-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h
	(SYSCALL_ERROR_HANDLER_TLS_STORE): Remove unnecessary 0 imm.

	[BZ #693]
	* posix/regex_internal.h (DUMMY_CONSTRAINT): Rename to...
	(WORD_DELIM_CONSTRAINT): ...this.
	(NOT_WORD_DELIM_CONSTRAINT): Define.
	(re_context_type): Add INSIDE_NOTWORD and NOT_WORD_DELIM,
	change WORD_DELIM to use WORD_DELIM_CONSTRAINT.
	* posix/regcomp.c (peek_token): For \B create NOT_WORD_DELIM
	anchor instead of INSIDE_WORD.
	(parse_expression): Handle NOT_WORD_DELIM constraint.
	* posix/bug-regex19.c (tests): Adjust tests that relied on \B
	being inside word instead of not word delim.
	* posix/tst-rxspencer.c (mb_frob_pattern): Don't frob escaped
	characters.
	* posix/rxspencer/tests: Add some new tests.
2005-01-26 19:56:03 +00:00
Ulrich Drepper
550aafb9c1 (DUMMY_CONSTRAINT): Rename to... (WORD_DELIM_CONSTRAINT): ...this. (NOT_WORD_DELIM_CONSTRAINT): Define. (re_context_type): Add INSIDE_NOTWORD and NOT_WORD_DELIM, change WORD_DELIM to use WORD_DELIM_CONSTRAINT. 2005-01-26 19:43:44 +00:00
Ulrich Drepper
70fb71fd6a Update.
2005-01-22  Ulrich Drepper  <drepper@redhat.com>

	* posix/Makefile: Use CFLAGS-*.os instead of CFLAGS-*.c for frame
	pointer option.

	* stdlib/Makefile (CFLAGS-system.os): Use this instead of
	CFLAGS-system.c for frame pointer option.
2005-01-23 04:42:14 +00:00
Ulrich Drepper
57b47af94b Update.
2005-01-20  Ulrich Drepper  <drepper@redhat.com>

	* posix/execl.c: Do not allocate potentially large buffers on the
	stack.
	* posix/execle.c: Likewise.
	* posix/execlp.c: Likewise.
	* posix/execlp.c: Likewise.
	(script_execute): Removed.
	(allocate_scripts_argv): New function.  Called at most once to
	allocate memory, not every time a script is run.  Adjust caller.

	* sysdeps/generic/wordexp.c (exec_comm): Add a few
	TEMP_FAILURE_RETRY.  Reorganize code to avoid multiple calls to
	exec_comm_child.
	(exec_comm_child): Can now be inlined.

	* posix/Makefile: Add -fomit-frame-pointer for a few more files.
	* stdlib/Makefile: Likewise.
2005-01-20 20:10:02 +00:00
Ulrich Drepper
ea16166114 Update.
2005-01-14  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c [!_LIBC] (init_dfa): Fix determining of relevant
	LC_* variable.  Patch by Aharon Robbins <arnold@skeeve.com>.

	* stdlib/fmtmsg.c (internal_addseverity): Remove incorrect free call.
	* stdlib/tst-fmtmsg.c (main): Add another addseverity test.
2005-01-14 09:06:25 +00:00
Ulrich Drepper
1b85ed0ce2 * posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
	* nscd/nscd_nischeck.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.
2005-01-12 23:43:44 +00:00
Ulrich Drepper
e2070ca2b4 Update.
2005-01-07  Ulrich Drepper  <drepper@redhat.com>

	* libio/stdio.h: Remove __wur from rename and remove.
	* posix/unistd.h: Remove __wur from dup2.
2005-01-07 19:30:51 +00:00
Ulrich Drepper
f14038f2e2 [BZ #640]
Update.
2005-01-06  Ulrich Drepper  <drepper@redhat.com>

	* posix/unistd.h: Declare ftruncate for POSIX 2003.  [BZ #640]
2005-01-06 22:06:45 +00:00
Ulrich Drepper
4d37c8aa01 Update.
2004-12-22  Steven Munroe  <sjmunroe@us.ibm.com>

	* math/libm-test.inc (rint_test_tonearest): New test.
	(rint_test_towardzero): New test.
	(rint_test_downward): New test.
	(rint_test_upward): New test.
	* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Fix -0.0 case.
	Remove redundant const values.
	* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Fix -0.0 case.
	Remove redundant const values.  Use float const.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S: Fix -0.0 case.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Fix -0.0 case.
	Use float const.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S: Fix -0.0 case.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Fix -0.0 case.
	Use float const.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S: Fix -0.0 case.
	Remove redundant const values.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Fix -0.0 case.
	Remove redundant const values.  Use float const.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Fix -0.0 case.
	Remove redundant const values.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Fix -0.0 case.
	Remove redundant const values.  Use float const.
	* sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Remove redundant const values.
	* sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Remove redundant const values.
	Use float const.
	* sysdeps/powerpc/powerpc64/fpu/s_floor.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.
	* sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Use float const.
	* sysdeps/powerpc/powerpc64/fpu/s_rint.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.
	* sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Use float const.
	* sysdeps/powerpc/powerpc64/fpu/s_round.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Remove redundant const values.
	* sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Remove redundant const values.
	Use float const.
	* sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.
	* sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Use EALIGN for Quadword
	alignment.  Fix -0.0 case.  Remove redundant const values.
	Use float const.
2005-01-06 21:52:35 +00:00
Ulrich Drepper
0476597b28 Update.
* stdlib/stdlib.h: Likewise.
2005-01-06 21:34:02 +00:00
Ulrich Drepper
5cf53cc208 Update.
2005-01-06  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Define __wur.
	* libio/stdio.h: Use __wur for a number of interfaces.
	* posix/unistd.h: Likewise.

	* posix/regex_internal.c (free_state): Free word_trtable.
2005-01-06 21:01:25 +00:00
Ulrich Drepper
ab4b89fe8a Update.
2004-04-27  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regex_internal.h (struct re_dfastate_t): Make
	word_trtable a pointer to the 512-item transition table.
	* posix/regexec.c (build_trtable): Fill in either state->trtable
	or state->word_trtable.  Return a boolean indicating success.
	(transit_state): Expect state->trtable to be a 256-item
	transition table.  Reorganize code to have less tests in
	the common case, and to save an indentation level.
2004-12-27 16:44:39 +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
13d91a6eec Update.
2004-12-13  Jakub Jelinek  <jakub@redhat.com>

	* posix/getconf.c (main): Prepend just $GETCONF_DIR/ instead of
	$GETCONF_DIR/_ to spec.
	* posix/confstr.c (confstr): Remove leading underscores for
	_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS.
2004-12-13 21:29:18 +00:00
Ulrich Drepper
5cf1ec5256 Update.
2004-12-07  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regexec.c (proceed_next_node): Simplify treatment of epsilon
	nodes.  Pass the pushed node to push_fail_stack.
	(push_fail_stack): Accept a single node rather than an array
	of two epsilon destinations.
	(build_sifted_states): Only walk non-epsilon nodes.
	(check_arrival): Don't pass epsilon nodes to
	check_arrival_add_next_nodes.
	(check_arrival_add_next_nodes) [DEBUG]: Abort if an epsilon node is
	found.
	(check_node_accept): Do expensive checks later.
	(add_epsilon_src_nodes): Cache result of merging the inveclosures.
	* posix/regex_internal.h (re_dfastate_t): Add non_eps_nodes and
	inveclosure.
	(re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at,
	re_string_context_at, re_string_peek_byte_case,
	re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
	Declare as pure.
	* posix/regex_internal.c (create_newstate_common): Remove.
	(register_state): Move part of it here.  Initialize non_eps_nodes.
	(free_state): Free inveclosure and non_eps_nodes.
	(create_cd_newstate, create_ci_newstate): Allocate the new
	re_dfastate_t here.
2004-12-10 04:37:58 +00:00
Ulrich Drepper
bf7c04cd5f Update.
2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
	_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
	_SC_ argument.
2004-12-10 00:41:30 +00:00
Ulrich Drepper
d8f73de86a Update.
2004-12-01  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (free_dfa_content, init_dfa): Remove
	references to re_dfa_t's subexps field.
	(parse_sub_exp, parse_expression): Do not use it.  Use
	completed_bkref_map instead.
	(create_initial_state, peek_token): Store a backreference \N
	with opr.idx = N-1.
	* posix/regexec.c (proceed_next_node, check_dst_limits, get_subexp):
	Likewise.
	(check_subexp_limits): Remove useless condition.
	* posix/regex_internal.h (re_subexp_t): Remove.
	(re_dfa_t): Remove subexps and subexps_alloc field, add
	completed_bkref_map.
2004-12-06 03:03:01 +00:00