Roland McGrath [Wed, 6 Apr 2005 02:51:22 +0000 (02:51 +0000)]
2005-03-19 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/Makefile: Add rules to build and run order2.
* elf/order2.c: New file.
* elf/order2mod1.c: New file.
* elf/order2mod2.c: New file.
* elf/order2mod3.c: New file.
* elf/order2mod4.c: New file.
Roland McGrath [Wed, 6 Apr 2005 02:50:21 +0000 (02:50 +0000)]
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/dl-fini.c (_dl_fini): Split sorting of the maps in separate
function _dl_sort_fini.
(_dl_sort_fini): New function.
* sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini.
* elf/dl-close.c (_dl_close): Call _dl_sort_fini before running
destructors to call them in the right order.
Roland McGrath [Wed, 6 Apr 2005 02:50:11 +0000 (02:50 +0000)]
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
* elf/dl-close.c: Basically rewrite. Do not use l_opencount to
determine whether a DSO has to be unloaded. Instead compute this
in this function.
* elf/dl-deps.c: No need to manipulate l_opencount anymore.
* elf/dl-lookup.c: Likewise.
* elf/rtld.c: Likewise
* elf/dl-open.c: Likewise. Use l_init_called to determine whether
object was just loaded.
* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
is about to be unloaded as a match.
(_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
to be unloaded.
* elf/circleload1.c: Don't use l_opencount anymore.
* elf/neededtest.c: Likewise.
* elf/neededtest2.c: Likewise.
* elf/neededtest3.c: Likewise.
* elf/neededtest4.c: Likewise.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/loadtest.c: Likewise.
Roland McGrath [Wed, 6 Apr 2005 02:50:03 +0000 (02:50 +0000)]
2005-03-19 Jakub Jelinek <jakub@redhat.com>
[BZ #821]
* elf/dl-open.c (dl_open_worker): Print exact l_direct_opencount value,
it has been incremented before.
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
* elf/dl-close.c: Basically rewrite. Do not use l_opencount to
determine whether a DSO has to be unloaded. Instead compute this
in this function.
* elf/dl-deps.c: No need to manipulate l_opencount anymore.
* elf/dl-lookup.c: Likewise.
* elf/rtld.c: Likewise
* elf/dl-open.c: Likewise. Use l_init_called to determine whether
object was just loaded.
* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
is about to be unloaded as a match.
(_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
to be unloaded.
* elf/circleload1.c: Don't use l_opencount anymore.
* elf/neededtest.c: Likewise.
* elf/neededtest2.c: Likewise.
* elf/neededtest3.c: Likewise.
* elf/neededtest4.c: Likewise.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/loadtest.c: Likewise.
Roland McGrath [Wed, 6 Apr 2005 02:49:59 +0000 (02:49 +0000)]
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/dl-fini.c (_dl_fini): Split sorting of the maps in separate
function _dl_sort_fini.
(_dl_sort_fini): New function.
* sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini.
* elf/dl-close.c (_dl_close): Call _dl_sort_fini before running
destructors to call them in the right order.
[BZ #821]
* include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
* elf/dl-close.c: Basically rewrite. Do not use l_opencount to
determine whether a DSO has to be unloaded. Instead compute this
in this function.
* elf/dl-deps.c: No need to manipulate l_opencount anymore.
* elf/dl-lookup.c: Likewise.
* elf/rtld.c: Likewise
* elf/dl-open.c: Likewise. Use l_init_called to determine whether
object was just loaded.
* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
is about to be unloaded as a match.
(_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
to be unloaded.
* elf/circleload1.c: Don't use l_opencount anymore.
* elf/neededtest.c: Likewise.
* elf/neededtest2.c: Likewise.
* elf/neededtest3.c: Likewise.
* elf/neededtest4.c: Likewise.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/loadtest.c: Likewise.
Roland McGrath [Wed, 6 Apr 2005 02:49:55 +0000 (02:49 +0000)]
2005-03-19 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/Makefile: Add rules to build and run order2.
* elf/order2.c: New file.
* elf/order2mod1.c: New file.
* elf/order2mod2.c: New file.
* elf/order2mod3.c: New file.
* elf/order2mod4.c: New file.
2005-03-08 Jakub Jelinek <jakub@redhat.com>
[BZ #821]
* elf/Makefile: Add rules to build and run unload5 test.
* elf/unload5.c: New file.
[BZ #821]
* elf/Makefile: Add rules to build and run unload4 test.
* elf/unload4.c: New file.
* elf/unload4mod1.c: New file.
* elf/unload4mod2.c: New file.
* elf/unload4mod3.c: New file.
* elf/unload4mod4.c: New file.
Roland McGrath [Wed, 6 Apr 2005 02:49:51 +0000 (02:49 +0000)]
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
* elf/dl-close.c: Basically rewrite. Do not use l_opencount to
determine whether a DSO has to be unloaded. Instead compute this
in this function.
* elf/dl-deps.c: No need to manipulate l_opencount anymore.
* elf/dl-lookup.c: Likewise.
* elf/rtld.c: Likewise
* elf/dl-open.c: Likewise. Use l_init_called to determine whether
object was just loaded.
* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
is about to be unloaded as a match.
(_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
to be unloaded.
* elf/circleload1.c: Don't use l_opencount anymore.
* elf/neededtest.c: Likewise.
* elf/neededtest2.c: Likewise.
* elf/neededtest3.c: Likewise.
* elf/neededtest4.c: Likewise.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/loadtest.c: Likewise.
[BZ #821]
* elf/rtld.c: Preloading errors are now never fatal.
Roland McGrath [Wed, 6 Apr 2005 02:49:48 +0000 (02:49 +0000)]
2005-03-19 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/dl-lookup.c (add_dependency): Always search l_initfini if
the list exists.
2005-03-18 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* include/link.h (struct link_map): Remove l_opencount. Add l_removed.
Change type of l_idx to int.
* elf/dl-close.c: Basically rewrite. Do not use l_opencount to
determine whether a DSO has to be unloaded. Instead compute this
in this function.
* elf/dl-deps.c: No need to manipulate l_opencount anymore.
* elf/dl-lookup.c: Likewise.
* elf/rtld.c: Likewise
* elf/dl-open.c: Likewise. Use l_init_called to determine whether
object was just loaded.
* elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount.
* elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which
is about to be unloaded as a match.
(_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about
to be unloaded.
* elf/circleload1.c: Don't use l_opencount anymore.
* elf/neededtest.c: Likewise.
* elf/neededtest2.c: Likewise.
* elf/neededtest3.c: Likewise.
* elf/neededtest4.c: Likewise.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/loadtest.c: Likewise.
Roland McGrath [Wed, 6 Apr 2005 01:42:58 +0000 (01:42 +0000)]
2005-03-03 Jakub Jelinek <jakub@redhat.com>
[BZ #821]
* elf/Makefile: Add rules to build and run unload3 test.
* elf/unload3.c: New test.
* elf/unload3mod1.c: New file.
* elf/unload3mod2.c: New file.
* elf/unload3mod3.c: New file.
* elf/unload3mod4.c: New file.
Roland McGrath [Wed, 6 Apr 2005 01:42:55 +0000 (01:42 +0000)]
2005-03-03 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the
loader is closed. Fixes unload3.
* elf/tst-global1.c: New file.
* elf/Makefile (tests): Add tst-global1.
* elf/testobj2.c (p): New function.
2005-03-03 Jakub Jelinek <jakub@redhat.com>
[BZ #821]
* elf/Makefile: Add rules to build and run unload3 test.
* elf/unload3.c: New test.
* elf/unload3mod1.c: New file.
* elf/unload3mod2.c: New file.
* elf/unload3mod3.c: New file.
* elf/unload3mod4.c: New file.
Roland McGrath [Wed, 6 Apr 2005 01:42:52 +0000 (01:42 +0000)]
2005-03-03 Ulrich Drepper <drepper@redhat.com>
[BZ #821]
* elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the
loader is closed. Fixes unload3.
* elf/tst-global1.c: New file.
* elf/Makefile (tests): Add tst-global1.
* elf/testobj2.c (p): New function.
Roland McGrath [Sat, 26 Feb 2005 01:09:47 +0000 (01:09 +0000)]
2005-02-21 Alan Modra <amodra@bigpond.net.au>
[BZ #719]
* elf/dl-reloc.c (_dl_nothread_init_static_tls): Assert that dtv
array index is within bounds.
2005-02-21 Ulrich Drepper <drepper@redhat.com>
[BZ #719]
* elf/dl-reloc.c (_dl_nothread_init_static_tls): Avoid using
THREAD_DTV multiple times, this minimally reduces code size on
some archs.
Roland McGrath [Sat, 26 Feb 2005 01:09:44 +0000 (01:09 +0000)]
2005-02-22 Ulrich Drepper <drepper@redhat.com>
[BZ #719]
* sysdeps/generic/libc-tls.c (static_dtv): Size the same as the
slotinfo array.
(__libc_setup_tls): Initialize length of DTV based on array length.
* elf/dl-load.c: Revert last change.
* sysdeps/generic/dl-tls.c: Revert last change.
Roland McGrath [Sat, 26 Feb 2005 01:02:11 +0000 (01:02 +0000)]
2005-02-22 Ulrich Drepper <drepper@redhat.com>
* 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.
Roland McGrath [Wed, 16 Feb 2005 11:31:27 +0000 (11:31 +0000)]
2005-01-21 Jakub Jelinek <jakub@redhat.com>
[BZ #735]
* 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.
Roland McGrath [Wed, 16 Feb 2005 11:29:47 +0000 (11:29 +0000)]
2005-02-07 Jakub Jelinek <jakub@redhat.com>
[BZ #741]
* 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.
Roland McGrath [Wed, 16 Feb 2005 11:27:12 +0000 (11:27 +0000)]
2005-02-07 Jakub Jelinek <jakub@redhat.com>
[BZ #739]
* specific.c (pthread_key_delete): If pthread_create has not been
called yet, clear p_specific for the current thread.
* Makefile (tests): Add tst-tsd1.
* tst-tsd1.c: New test.
Roland McGrath [Wed, 16 Feb 2005 11:23:58 +0000 (11:23 +0000)]
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>.
Roland McGrath [Wed, 16 Feb 2005 11:09:25 +0000 (11:09 +0000)]
2005-01-26 Jakub Jelinek <jakub@redhat.com>
[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.
[BZ #737]
* 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, 16 Feb 2005 11:07:20 +0000 (11:07 +0000)]
2005-01-23 Roland McGrath <roland@redhat.com>
[BZ #737]
* 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, 16 Feb 2005 11:00:21 +0000 (11:00 +0000)]
2005-01-26 Ulrich Drepper <drepper@redhat.com>
[BZ #671]
* sysdeps/unix/sysv/linux/kernel-features.h: Found reference to
MSG_NOSIGNAL being in 2.2 kernels.
2005-01-24 Ulrich Drepper <drepper@redhat.com>
Roland McGrath [Wed, 16 Feb 2005 10:56:40 +0000 (10:56 +0000)]
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.
Roland McGrath [Wed, 16 Feb 2005 10:56:31 +0000 (10:56 +0000)]
2005-01-20 Ulrich Drepper <drepper@redhat.com>
* 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.
Roland McGrath [Wed, 16 Feb 2005 10:56:26 +0000 (10:56 +0000)]
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-20 Ulrich Drepper <drepper@redhat.com>
* posix/Makefile: Add -fomit-frame-pointer for a few more files.
* stdlib/Makefile: Likewise.
Roland McGrath [Wed, 16 Feb 2005 10:50:19 +0000 (10:50 +0000)]
2005-01-17 Roland McGrath <roland@redhat.com>
[BZ #745]
* Makeconfig (link-extra-libs): Define just as $(LDLIBS-$(@F)).
(link-extra-libs-static): Define to $(link-extra-libs).
(link-extra-libs-bounded): Likewise.