Roland McGrath [Thu, 10 Feb 2005 09:40:23 +0000 (09:40 +0000)]
[BZ #710]
2005-02-09 Jakub Jelinek <jakub@redhat.com>
[BZ #710]
* stdlib/random_r.c (__initstate_r): Save old state.
* stdlib/Makefile (tests): Add tst-random2.
* stdlib/tst-random2.c: New test.
Reported by Peter Bergner <bergner@vnet.ibm.com>.
(s390-.*-.*, powerpc.*-.*-.*, sparc.*-.*-.*): Add WORDSIZE64 entries
for these mapping back to the above.
Roland McGrath [Thu, 10 Feb 2005 09:18:34 +0000 (09:18 +0000)]
[BZ #632]
2005-02-10 Roland McGrath <roland@redhat.com>
[BZ #632]
* scripts/soversions.awk: Expect cpu, vendor, os as separate variables
from command line.
Grok shlib-versions lines with WORDSIZE* in second column.
Add new leading column to output, DEFAULT for existing output lines.
Also emit lines with WORDSIZE* for alternate configurations.
* Makeconfig ($(common-objpfx)soversions.i): Pass those variables.
($(common-objpfx)soversions.mk): Grok new column, use only DEFAULT.
($(common-objpfx)gnu/lib-names.stmp): Depend on soversions.i instead
of soversions.mk; replace inline shell script with use of ...
* scripts/lib-names.awk: New file. If input has non-DEFAULT lines,
emit multiple sets of macros under #if.
* shlib-versions (x86_64-.*-.*): Add WORDSIZE32 line mapping to i686.
(s390x-.*-.*): Likewise for s390.
(powerpc64-.*-.*): Likewise for powerpc.
(sparc64-.*-.*): Likewise for sparc.
Ulrich Drepper [Mon, 7 Feb 2005 22:56:07 +0000 (22:56 +0000)]
[BZ #677]
* nscd/nscd.c (termination_handler): Avoid segfault if some database
is not enabled.
* nscd/nscd_getai.c (__nscd_getai): If ai_resp->found == -1, set
__nss_not_use_nscd_hosts and return -1.
* nscd/nscd_initgroups.c (__nscd_getgrouplist): If
initgr_resp->found == -1, set __nss_not_use_nscd_group and return -1.
Avoid leaking sockets.
2005-01-28 Andreas Schwab <schwab@suse.de>
H.J. Lu <hongjiu.lu@intel.com>
[BZ #677]
* elf/dl-runtime.c (fixup): Change return type to
DL_FIXUP_VALUE_TYPE. Use DL_FIXUP_VALUE_TYPE,
DL_FIXUP_MAKE_VALUE and DL_FIXUP_VALUE_CODE_ADDR for relocation
values. Use DL_FIXUP_VALUE_ADDR and DL_FIXUP_ADDR_VALUE to
store and retrieve relocation values.
(profile_fixup): Likewise.
* include/link.h (link_map): Use DL_FIXUP_VALUE_TYPE for
l_reloc_result.
* sysdeps/generic/dl-fptr.h (link_map): Forward declaration.
* sysdeps/generic/dl-lookupcfg.h (DL_FIXUP_VALUE_TYPE): New.
(DL_FIXUP_MAKE_VALUE): Likewise.
(DL_FIXUP_VALUE_CODE_ADDR): Likewise.
(DL_FIXUP_VALUE_ADDR): Likewise.
(DL_FIXUP_ADDR_VALUE): Likewise.
* sysdeps/ia64/dl-lookupcfg.h: Include <dl-fptr.h> for "struct fdesc".
(DL_FIXUP_VALUE_TYPE): New.
(DL_FIXUP_MAKE_VALUE): Likewise.
(DL_FIXUP_VALUE_CODE_ADDR): Likewise.
(DL_FIXUP_VALUE_ADDR): Likewise.
(DL_FIXUP_ADDR_VALUE): Likewise.
* sysdeps/ia64/dl-machine.h (elf_machine_profile_fixup_plt): Removed.
(elf_machine_profile_plt): Removed.
(elf_machine_fixup_plt): Change return type and type of value
parameter to struct fdesc.
(elf_machine_plt_value): Likewise.
(elf_machine_rela): Use DL_FIXUP_MAKE_VALUE to construct
argument for elf_machine_fixup_plt.
Ulrich Drepper [Mon, 7 Feb 2005 22:47:00 +0000 (22:47 +0000)]
(fixup): Change return type to DL_FIXUP_VALUE_TYPE. Use DL_FIXUP_VALUE_TYPE, DL_FIXUP_MAKE_VALUE and DL_FIXUP_VALUE_CODE_ADDR for relocation values. Use DL_FIXUP_VALUE_ADDR and DL_FIXUP_ADDR_VALUE to store and retrieve relocation values. (profile_fixup): Likewise.
Ulrich Drepper [Thu, 27 Jan 2005 19:08:10 +0000 (19:08 +0000)]
[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.
Ulrich Drepper [Wed, 26 Jan 2005 22:42:49 +0000 (22:42 +0000)]
[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.
[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.
Roland McGrath [Wed, 26 Jan 2005 02:05:57 +0000 (02:05 +0000)]
* sysdeps/i386/Makefile (defines): If -mno-tls-direct-seg-refs appears
in $(CFLAGS), add -DNO_TLS_DIRECT_SEG_REFS.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]
(SYSCALL_ERROR_HANDLER) [NO_TLS_DIRECT_SEG_REFS]: Load thread pointer
from %gs:0 and add to that value, rather that direct %gs:OFFSET access.
* sysdeps/unix/i386/sysdep.S [NO_TLS_DIRECT_SEG_REFS]: Likewise.
Roland McGrath [Wed, 26 Jan 2005 02:05:49 +0000 (02:05 +0000)]
2005-01-23 Roland McGrath <roland@redhat.com>
* sysdeps/i386/Makefile (defines): If -mno-tls-direct-seg-refs appears
in $(CFLAGS), add -DNO_TLS_DIRECT_SEG_REFS.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]
(SYSCALL_ERROR_HANDLER) [NO_TLS_DIRECT_SEG_REFS]: Load thread pointer
from %gs:0 and add to that value, rather that direct %gs:OFFSET access.
* sysdeps/unix/i386/sysdep.S [NO_TLS_DIRECT_SEG_REFS]: Likewise.
Ulrich Drepper [Sat, 22 Jan 2005 07:55:35 +0000 (07:55 +0000)]
Update.
2005-01-21 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile: Add rules to build and run tst-align2.
* elf/tst-align2.c: New test.
* elf/tst-alignmod2.c: New file.
* sysdeps/powerpc/tst-stack-align.h: New file.
* sysdeps/i386/dl-machine.h (RTLD_START): Align stack and clear frame
pointer before calling _dl_init.
* sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise.
Ulrich Drepper [Thu, 20 Jan 2005 20:10:02 +0000 (20:10 +0000)]
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.
Roland McGrath [Wed, 19 Jan 2005 19:28:21 +0000 (19:28 +0000)]
[BZ #681]
2005-01-19 Roland McGrath <roland@redhat.com>
[BZ #681]
* sunrpc/openchild.c (_openchild): Use NULL instead of 0 for trailing
argument to execlp.
Reported by Marcus Meissner <meissner@suse.de>.
Roland McGrath [Tue, 18 Jan 2005 01:21:47 +0000 (01:21 +0000)]
* nscd/Makefile (LDLIBS-nscd): New variable.
($(objpfx)nscd): Use that instead of selinux-LIBS.
* Makeconfig (link-extra-libs): Define just as $(LDLIBS-$(@F)).
(link-extra-libs-static): Define to $(link-extra-libs).
(link-extra-libs-bounded): Likewise.
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
2005-01-16 Andreas Schwab <schwab@suse.de>
* sysdeps/m68k/dl-machine.h: Remove trampoline code. Define
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
Ulrich Drepper [Sun, 9 Jan 2005 20:13:03 +0000 (20:13 +0000)]
* pthread.c (init_one_static_tls): Adjust initialization of DTV
entry for static tls deallocation fix.
* sysdeps/alpha/tls.h (dtv_t): Change pointer type to be struct which
also contains information whether the memory pointed to is static
TLS or not, include <stdbool.h>.
* sysdeps/i386/tls.h: Likewise.
* sysdeps/ia64/tls.h: Likewise.
* sysdeps/powerpc/tls.h: Likewise.
* sysdeps/s390/tls.h: Likewise.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/sparc/tls.h: Likewise.
* sysdeps/x86_64/tls.h: Likewise.
Ulrich Drepper [Sun, 9 Jan 2005 08:29:25 +0000 (08:29 +0000)]
Update.
2005-01-09 Ulrich Drepper <drepper@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Take extra parameter and
use it to select the r_debug structure for that namespace.
* elf/dl-close.c (_dl_close): Adjust call to _dl_debug_initialize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/dl-open.c (_dl_open): Likewise.
* elf/rtld.c (dl_main): Likewise.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Add _ns_debug
member.
(_dl_debug_initialize): Add new parameter in declaration.
* elf/dl-close.c (_dl_close): Make sure auditing callbacks are not
called for the auditing objects themselves.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
Ulrich Drepper [Sat, 8 Jan 2005 07:10:00 +0000 (07:10 +0000)]
Update.
* sysdeps/powerpc/powerpc64/dl-machine.h
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/powerpc/powerpc64/bits/link.h (struct la_ppc64_regs): Add
padding.
* sysdeps/powerpc/powerpc64/dl-trampoline.S: (_dl_profile_resolve):
Extend _dl_prof_resolve to add pass extra parameters to
_dl_profile_fixup and set up structure with register content.
Ulrich Drepper [Sat, 8 Jan 2005 05:47:47 +0000 (05:47 +0000)]
Update.
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_runtime_setup):
If profile != 0 does not anymore mean GLRO(dl_profile) != NULL.
* sysdeps/powerpc/powerpc32/bits/link.h: Fix types of some fields in
the register and result structures.
* sysdeps/powerpc/powerpc64/bits/link.h: Fix types of some fields
in the 32-bit register and result structures.
Ulrich Drepper [Sat, 8 Jan 2005 05:41:58 +0000 (05:41 +0000)]
Update.
* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_prof_resolve):
Extend _dl_prof_resolve to add pass extra parameters to
_dl_profile_fixup and set up structure with register content.
Ulrich Drepper [Fri, 7 Jan 2005 19:42:24 +0000 (19:42 +0000)]
Update.
* misc/sys/cdefs.h (__attribute_warn_unused_result__): Define.
* stdlib/stdlib.h: Make realloc with
__attribute_warn_unused_result__ instead of __wur.
* malloc/malloc.h: Add __wur and __attribute_warn_unused_result__
markers as in <stdlib.h>.