Ulrich Drepper [Wed, 19 Nov 2003 19:37:31 +0000 (19:37 +0000)]
Update.
2003-11-19 Jakub Jelinek <jakub@redhat.com>
* posix/regexec.c (extend_buffers): Don't allocate
twice as big state_log as needed. Don't modify pstr->valid_len
for mb_cur_max == 1 !icase !trans.
* posix/regcomp.c (free_bin_tree): Removed.
(create_tree): Add dfa argument. Don't call re_malloc for
each tree, instead allocate from str_tree_storage.
(re_dfa_add_tree_node): New function.
(free_dfa_content): Handle freeing if dfa->nodes == NULL
or dfa->state_table == NULL.
(re_compile_internal): Call free_dfa_content if init_dfa
fails. Call free_workarea_compile, re_string_destruct
and free_dfa_content for most of the other failure paths.
(init_dfa): Initialize str_tree_storage_idx.
Don't clear any fields on allocation failure.
(free_workarea_compile): Free str_tree_storage chunks
instead of free_bin_tree (dfa->str_tree).
(parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
followed by create_tree. Add dfa argument to remaining
create_tree calls. Remove new_idx variable. Remove calls
to free_bin_tree.
(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
(duplicate_tree): Remove calls to free_bin_tree, add dfa
argument to create_tree.
* posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define.
(bin_tree_storage_t): New type.
(re_dfa_t): Add str_tree_storage and str_tree_storage_idx
fields.
* posix/Makefile (tests): Add bug-regex21.
(generated): Add bug-regex21-mem, bug-regex21.mtrace,
tst-rxspencer-mem and tst-rxspencer.mtrace.
(tests): Depend on $(objpfx)bug-regex21-mem
and $(objpfx)tst-rxspencer-mem.
(bug-regex21-ENV, tst-rxspencer-ENV): Set.
($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New.
* posix/tst-rxspencer.c (main): Add call to mtrace.
Free line at the end.
* posix/bug-regex21.c: New test.
* posix/regexec.c (get_subexp): After calling get_subexp_sub
Ulrich Drepper [Wed, 19 Nov 2003 06:12:51 +0000 (06:12 +0000)]
Update.
2003-11-14 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h
(GAS_ALIGN_BREAKS_UNWIND_INFO): Define this macro to indicate
that all existing GAS versions have a problem with .align inside
a function.
* sysdeps/ia64/memccpy.S: Work around GAS_ALIGN_BREAKS_UNWIND_INFO bug.
* sysdeps/ia64/memcpy.S: Likewise.
* sysdeps/ia64/memset.S: Likewise.
* sysdeps/ia64/memmove.S: Likewise. Also move the jump-table to
out of .text into .rodata, where it belongs.
* sysdeps/unix/sysv/linux/ia64/pipe.S: There is no need to
save/restore input-arguments, because they're necessarily
preserved by the kernel to support syscall-restart.
Ulrich Drepper [Tue, 18 Nov 2003 23:40:59 +0000 (23:40 +0000)]
Update.
* posix/regex_internal.h (re_token_type_t): Remove unused ALT,
END_OF_RE_TOKEN_T and SUBEXP. Reorder values. Add OP_UTF8_PERIOD
and EPSILON_BIT.
(IS_EPSILON_NODE): Just test if EPSILON_BIT is set.
(ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well.
* posix/regex_internal.c (create_ci_newstate, create_cd_newstate):
Handle OP_UTF8_PERIOD.
(re_string_reconstruct): Set valid_len for single byte char searching
with no translation and case sensitivity.
* posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle
OP_UTF8_PERIOD.
(re_compile_internal): Don't call optimize_utf8 if preg->translate
!= NULL.
(optimize_utf8): Remove BACK_SLASH case.
Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be
optimized.
(parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have
any bits set and COMPLEX_BRACKET is used.
* posix/regexec.c (transit_state_mb): Fix comment typo.
(group_nodes_into_DFAstates, check_node_accept): Handle
OP_UTF8_PERIOD.
(check_node_accept_bytes): Likewise. Reorder slightly so that
re_string_char_size_at and re_string_elem_size_at are called
only when needed.
* posix/bug-regex20.c (BRE, ERE): Define.
(tests): Use them to make lines shorter. Expect . to be
optimized. Add lots of new tests.
(main): Run (ATM just case sensitive) test with backwards searching
as well.
Ulrich Drepper [Tue, 18 Nov 2003 07:25:02 +0000 (07:25 +0000)]
Update.
2003-11-17 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as
well.
* posix/bug-regex20.c (tests): Add new tests. Multi-byte char
followed by dup operator is expected to be optimized.
* posix/regexec.c (check_node_accept_bytes): Move nrules and j
variables to the block where they are only used, initialize
nrules only immediately before using it.
2003-11-15 Andreas Jaeger <aj@suse.de>
* sysdeps/x86_64/fpu/s_scalbnl.S: New file.
* sysdeps/x86_64/fpu/s_truncl.S: New file.
* sysdeps/x86_64/fpu/s_nearbyintl.S: New file.
* sysdeps/x86_64/fpu/s_floorl.S: New file.
* sysdeps/x86_64/fpu/s_ilogbl.S: New file.
* sysdeps/x86_64/fpu/e_remainderl.S: New file.
* math/libm-test.inc (floor_test): Test also ±0.25.
(ceil_test): Test -0.25.
Ulrich Drepper [Sun, 16 Nov 2003 07:14:28 +0000 (07:14 +0000)]
Update.
* posix/regex_internal.h: Add forward declaration of re_dfa_t.
Replace last two parameters of re_string_allocate and
re_string_construct with pointer to DFA.
(re_dfa_t): Add map_notascii field.
* posix/regcomp.c (re_compile_internal): Add call of
re_string_construct.
(init_dfa): Initialize mpa_notascii.
* posix/regex_internal.c: Adjust definitions of re_string_allocate
and re_string_construct.
Pass DFA to re_string_construct. Adjust definition. Initialize
map_notascii field.
(build_wcs_upper_buffer): If map_notascii is zero use simplfied
method to map ASCII values to upper case.
* posix/regex.c: Include localeinfo.h.
* posix/regexec.c: Adjust call of re_string_allocate.
* locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII.
* locale/localeinfo.h (LIMAGIC): Change value.
* locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII.
* locale/C-ctype.h: Likewise.
* locale/programs/ld-ctype.c: Compute whether any mapping maps from
ASCII to non-ASCII value. Write out that value.
Ulrich Drepper [Thu, 13 Nov 2003 21:23:11 +0000 (21:23 +0000)]
Update.
2003-11-13 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (optimize_utf8): Optimize even if SIMPLE_BRACKET
with no bits set for >= 0x80 chars is seen.
* posix/bug-regex20.c (tests): Add new tests. Expect [ABC] to be
optimized.
(main): Run all tests with RE_ICASE as well.
Ulrich Drepper [Thu, 13 Nov 2003 20:52:55 +0000 (20:52 +0000)]
Update.
* posix/Makefile: Add rules to build and run tst-rxspencer.
(distribute): Add rxspencer/tests and rxspencer/COPYRIGHT.
* posix/tst-rxspencer.c: New file.
* posix/rxspencer/tests: New file.
* posix/rxspencer/COPYRIGHT: New file.
Patch mostly by Jakub Jelinek.
Ulrich Drepper [Thu, 13 Nov 2003 20:04:16 +0000 (20:04 +0000)]
Update.
* posix/regcomp.c (parse_bracket_exp): Don't check for range if
this is no option given the first token.
* posix/regcomp.c (parse_bracket_exp): Fix test for EOS after
hyphen in range expression. Return EBRACK in this case.
* posix/regcomp.c (parse_bracket_element): Reject hyphens unless
we expect them or it's the last element in the bracket expression.
Indicated by new parameter. Adjust all callers.
Ulrich Drepper [Thu, 13 Nov 2003 06:01:46 +0000 (06:01 +0000)]
Update.
* posix/regcomp.c (parse_expression): If token is OP_OPEN_DUP_NUM
and RE_CONTEXT_INVALID_DUP syntax flag is set, fail.
* posix/regex.h (RE_CONTEXT_INVALUD_OPS): New macro.
(RE_SYNTAX_POSIX_BASIC): Use RE_CONTEXT_INVALUD_OPS.
* posix/regcomp.c (parse_sub_exp): In case of not-matching ( )
return REG_EPAREN.
Ulrich Drepper [Wed, 12 Nov 2003 19:09:20 +0000 (19:09 +0000)]
Update.
* posix/regcomp.c (optimize_utf8): New function.
(re_compile_fastmap_iter): Use dfa->mb_cur_max > 1 instead
of !icase.
(re_compile_internal): Call optimize_utf8 if not case insensitive
and in UTF-8 locale.
* posix/regex_internal.h: Ifdef out some prototypes if
RE_NO_INTERNAL_PROTOTYPES is defined to shut up warnings.
* posix/Makefile (tests): Add bug-regex20.
(bug-regex20-ENV): Add LOCPATH.
* posix/bug-regex20.c: New test.
* posix/tst-regex.c (umemlen): New variable.
(test_expr): Add expectedicase argument. Test case insensitive
searches as well as backwards searches (case sensitive and
insensitive) too.
(run_test): Add icase argument. Use it to compute regcomp flags.
(run_test_backwards): New function.
(main): Cast read to size_t to avoid warning. Set umemlen.
Add expectedicase arguments to test_expr.
* posix/regex_internal.c (re_string_reconstruct): If is_utf8,
find previous character by walking back instead of converting
all chars from beginning.
2003-11-12 Jakub Jelinek <jakub@redhat.com>
* posix/regex_internal.h (struct re_string_t): Add is_utf8
and mb_cur_max fields.
(struct re_dfa_t): Likewise. Reorder fields to make structure
smaller on 64-bit arches.
(re_string_allocate, re_string_construct): Add mb_cur_max and
is_utf8 arguments.
(re_string_char_size_at, re_string_wchar_at): Use pstr->mb_cur_max
instead of MB_CUR_MAX.
* posix/regcomp.c (re_compile_fastmap_iter): Use dfa->mb_cur_max
instead of MB_CUR_MAX.
(re_compile_internal): Pass new arguments to re_string_construct.
(init_dfa): Initialize mb_cur_max and is_utf8 fields.
(peek_token, peek_token_bracket): Use input->mb_cur_max instead
of MB_CUR_MAX.
(parse_expression, parse_bracket_exp, parse_charclass_op): Use
dfa->mb_cur_max instead of MB_CUR_MAX.
* posix/regex_internal.c (re_string_construct_common): Add
mb_cur_max and is_utf8 arguments. Initialize fields with them.
(re_string_allocate, re_string_construct): Add mb_cur_max and
is_utf8 arguments, pass them to re_string_construct_common.
Use mb_cur_max instead of MB_CUR_MAX.
(re_string_realloc_buffers): Use pstr->mb_cur_max instead of
MB_CUR_MAX.
(re_string_reconstruct): Likewise.
(re_string_context_at): Use input->mb_cur_max instead of
MB_CUR_MAX.
(create_ci_newstate, create_cd_newstate): Use dfa->mb_cur_max
instead of MB_CUR_MAX.
* posix/regexec.c (re_search_internal): Likewise.
Pass new arguments to re_string_allocate.
(check_matching, transit_state_sb): Use dfa->mb_cur_max instead of
MB_CUR_MAX.
(extend_buffers): Use pstr->mb_cur_max instead of MB_CUR_MAX.
Ulrich Drepper [Sat, 8 Nov 2003 17:36:31 +0000 (17:36 +0000)]
Update.
2003-11-08 Ulrich Drepper <drepper@redhat.com>
* locales/ne_NP: New file.
* locales/gu_IN: New file.
* locales/kn_IN: New file.
* locales/pa_IN: New file.
Patch by Gnutupalli Karunakar <karunakar@freedomink.org>.
* SUPPORTED (SUPPORTED-LOCALES): Add ne_NP, gu_IN, kn_IN, and pa_IN.
Ulrich Drepper [Fri, 7 Nov 2003 23:00:00 +0000 (23:00 +0000)]
Update.
2003-11-07 Jakub Jelinek <jakub@redhat.com>
* io/ftw.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define.
(ftw_dir, ftw_startup): Add __attribute ((noinline)).
(NFTW_OLD_NAME, NFTW_NEW_NAME): New functions.
(NFTW_NAME): Only define if !_LIBC, add versioned_symbol
and compat_symbol.
* io/ftw64.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define.
* io/Versions (libc): Export nftw@@GLIBC_2.3.3
and nftw64@@GLIBC_2.3.3.
* io/ftw.h (FTW_ACTIONRETVAL): New flag.
(FTW_CONTINUE, FTW_STOP, FTW_SKIP_SUBTREE, FTW_SKIP_SIBLINGS): New.
* io/ftw.c (ftw_dir): Add old_dir argument.
Clear result if it was FTW_SKIP_SIBLINGS after processing all
dir entries. Change cwd back if old_dir != NULL.
(process_entry): Adjust caller. Don't change cwd back here.
Change FTW_SKIP_SUBTREE result to 0.
(ftw_startup): Adjust ftw_dir caller.
Clear result if it was FTW_SKIP_SUBTREE or FTW_SKIP_SIBLINGS.
* io/ftwtest.c (skip_subtree, skip_siblings): New variables.
(options, main): Add --skip-subtree and --skip-siblings options.
(cb): Use return FTW_CONTINUE instead of return 0.
Handle --skip-subtree and --skip-siblings.
* io/ftwtest-sh: Add tests for FTW_ACTIONRETVAL.
* manual/filesys.texi: Document FTW_ACTIONRETVAL.
Ulrich Drepper [Tue, 4 Nov 2003 04:58:50 +0000 (04:58 +0000)]
Update.
* locales/aa_DJ: New file.
* locales/aa_ER: New file.
* locales/aa_ER@saaho: New file.
* locales/aa_ET: New file.
* locales/byn_ER: New file.
* locales/gez_ER: New file.
* locales/gez_ER@abegede: New file.
* locales/gez_ET: New file.
* locales/gez_ET@abegede: New file.
* locales/om_ET: New file.
* locales/om_KE: New file.
* locales/sid_ET: New file.
* locales/so_DJ: New file.
* locales/so_ET: New file.
* locales/so_KE: New file.
* locales/so_SO: New file.
* locales/tig_ER: New file.
Ulrich Drepper [Mon, 27 Oct 2003 04:05:04 +0000 (04:05 +0000)]
Update.
* sysdeps/unix/sysv/linux/internal_statvfs.c (__internal_statvfs):
Avoid infinite loops in case the mounts file is hosed.
* io/Makefile: Add rules to build and run tst-statvfs.
* io/tst-statvfs.c: New file.
Ulrich Drepper [Mon, 27 Oct 2003 01:36:12 +0000 (01:36 +0000)]
Update.
* include/dlfcn.h (__RTLD_OPENEXEC): Define.
* elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading
executables unless __RTLD_OPENEXEC flag is present.
* elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to
_dl_map_object when loading the executable.
reverse lookup format for IPv6 addresses is using bitstring and
* resolv/ns_name.c: Implement encoding and decoding bitstring in
Ulrich Drepper [Sun, 26 Oct 2003 08:34:38 +0000 (08:34 +0000)]
Update.
2003-10-26 Ulrich Drepper <drepper@redhat.com>
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Default
reverse lookup format for IPv6 addresses is using bitfields and
.ip6.arpa suffix.
* resolv/ns_name.c: Implement encoding and decoding bitfields in
hex format.
Ulrich Drepper [Wed, 15 Oct 2003 05:47:36 +0000 (05:47 +0000)]
Update.
2003-10-12 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/hppa/sysdep.h: Undef JUMPTARGET before use.
* sysdeps/unix/sysv/linux/hppa/sysdep.h: Define PSEUDO_ERRVAL,
SYSCALL_ERROR_LABEL under all conditions, INTERNAL_SYSCALL_DECL,
INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO, INTERNAL_SYSCALL,
and undef JUMPTARGET before use.
[PIC]: Save pic register around syscall.
* sysdeps/unix/sysv/linux/hppa/sysdep.c (syscall):
Cleanup asm statment.
2003-10-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep.h (DO_CALL): Add SYSCALL_INST_PAD
after trapa instruction.
Ulrich Drepper [Mon, 6 Oct 2003 23:44:15 +0000 (23:44 +0000)]
Update.
* posix/bug-regex11.c: Add some more tests which fail so far.
Disable them. Patch by Paolo Bonzini <bonzini@gnu.org>.
2003-10-05 Paolo Bonzini <bonzini@gnu.org>
* posix/bug-regex11.c: Add more backreference-related test cases.
(main): Show the failing regex in the error messages.
* posix/regexec.c (check_dst_limits_calc_pos):
Simplify some nested conditionals. Replace if's with a switch
statement.
(check_dst_limits_calc_pos <TYPE_BKREF>): Rename parameter NODE to
FROM_NODE, it shadows a local variable; don't recurse if FROM_NODE
does not change in the recursive invocation, fixing an infinite loop
in the ()\1*\1* regex.
(sift_states_backward): Fix function comment.
* posix/regcomp.c (calc_epsdest): Add an assertion.
Ulrich Drepper [Sun, 5 Oct 2003 19:33:05 +0000 (19:33 +0000)]
Update.
2003-10-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/backtrace.c: New file.
* sysdeps/x86_64/backtrace.c: New file.
* sysdeps/generic/unwind.h (_Unwind_Trace_Fn): New type.
(_Unwind_Backtrace): New prototype.