about summary refs log tree commit diff
path: root/linuxthreads/pthread.c
Commit message (Collapse)AuthorAgeFilesLines
* Update.Ulrich Drepper2003-07-311-0/+42
| | | | | | | | | | | | | | | | | | | | | | 2003-07-30 Jakub Jelinek <jakub@redhat.com> * elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value, call dl_signal_error directly. If already relocated, call GL(dl_init_static_tls) directly, otherwise queue it for later. (CHECK_STATIC_TLS): Undo 2003-07-24 change. * elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls). * elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls for all static TLS initializations delayed in _dl_allocate_static_tls. * elf/dl-support.c (_dl_init_static_tls): New variable. * include/link.h (struct link_map): Add l_need_tls_init. * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls. (_dl_nothread_init_static_tls): New prototype. (_dl_allocate_static_tls): Adjust prototype. * elf/tls-macros.h (VAR_INT_DEF): Add alignment directive. elf_machine_rela_relative): Adjust. (CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
* (__pthread_initialize_manager): Remove one last p_multiple_threads call.Ulrich Drepper2003-04-261-1/+1
|
* Update.Ulrich Drepper2003-04-261-2/+2
| | | | | | | | | | | | | | | | | * nscd/cache.c (cache_search): Keep track of how many chain links we searched and update table statistics. (cache_add): Keep track of how many values are in the table. (prune_cache): Likewise. Keep track of locking success. Print messages about removed entries in separate pass. * nscd/connections.c (handle_request): Don't print debug message here. The caller will do it. Keep track of locking success. (nscd_run): Print debug message. Also print PID of the client process. * nscd/nscd.c (start_time): New variable. (main): Remember start time. * nscd/nscd.h: Declare start_time. (struct database): Add more members for new statistics. * nscd/nscd_stat.c: Add support for sending, receiving, and printing of new statistics.
* Update.Ulrich Drepper2003-04-251-4/+4
| | | | | | | | | | | | | | 2003-04-22 Jakub Jelinek <jakub@redhat.com> * include/link.h (NO_TLS_OFFSET): Define to 0 if not defined. * elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET. * elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to NO_TLS_OFFSET. * elf/rtld.c (_dl_start_final, _dl_start): Likewise. * elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise. * sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract TLS_TCB_SIZE.
* Update.Ulrich Drepper2003-04-031-0/+4
| | | | | | | 2003-04-03 Jakub Jelinek <jakub@redhat.com> * pthread.c (pthread_initialize): Unblock __pthread_sig_cancel in case the parent blocked it.
* * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Use theRoland McGrath2003-04-021-1/+2
| | | | IA-64 version.
* * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt):Roland McGrath2003-03-021-2/+8
| | | | | | | | | | | | | | | | | | | | | | Don't use weak_extern for dl_rtld_map. Instead check only if [SHARED]. (elf_machine_rela): Clean up. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up. PowerPC TLS support contributed by Paul Mackerras <paulus@samba.org>. * sysdeps/powerpc/powerpc32/elf/configure.in: New file. * sysdeps/powerpc/powerpc32/elf/configure: New generated file. * elf/tls-macros.h [__powerpc__ && !__powerpc64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support new relocs for TLS. * sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these macros out of [SHARED]. (TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros. * elf/elf.h: Define R_PPC_* relocs for TLS support. Clean up R_PPC64_* macro definition comments.
* Update.Ulrich Drepper2003-01-161-1/+1
| | | | | | | | 2003-01-16 Jakub Jelinek <jakub@redhat.com> * elf/dl-load.c (_dl_map_object_from_fd): Use GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has been already initialized.
* Update.Ulrich Drepper2003-01-121-31/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-11 Jim Meyering <jim@meyering.net> * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>. [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>. Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC. [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define. [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define. [!_LIBC] (internal_function, dirent64, MAX): Define. (__set_errno): Define if not already defined. (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on the basename, not the entire file name. (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on the basename, not the entire file name. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * string/tester.c (test_strcpy): Disable last added strcpy until it is fixed. 2003-01-11 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support. 2003-01-11 Andreas Schwab <schwab@suse.de> * Makerules: Add vpath for %.dynsym and %.so so that the implicit rule chaining for check-abi works. 2003-01-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Add non-PIC case. 2003-01-11 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define. [__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if gp is used early. [__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS. * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so): Ensure libc.so in DT_NEEDED. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move CHECK_STATIC_TLS before l_tls_offset use. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]: Allocate TLS_PRE_TCB_SIZE bytes below result. (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing. * sysdeps/generic/libc-tls.c (__libc_setup_tls): If TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE bytes below result and add tcb_offset to memsz. * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype. * sysdeps/ia64/dl-machine.h: Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too. Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations. * sysdeps/ia64/libc-tls.c: New file. 2003-01-10 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX): Fix type. Move definition out of #if. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation support. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove ftruncate64, pread64, pwrite64, truncate64 entries. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL): New version that supports function call like syscalls. Add __builtin_expect. (LOADARGS_n): Add argument size safety checks. (INTERNAL_SYSCALL): New Macro. * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid redefinition of elf_fpreg_t and elf_fpregset_t. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): Add several asserts. Correct and simplify test for unloading. If loader of a DSO is unloaded do not use its scope anymore. Fall back to own scope and adjust opencounts. Fix several comments. * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for the l_searchlist, not only for l_initfini. * elf/dl-lookup.c (add_dependencies): Avoid creating relocation dependencies if objects cannot be removed. Remove object with the definition as not unloadable if necessary. * elf/reldep6.c: Create relocation dependency before closing the first module. 2003-01-10 Guido Günther <agx@sigxcpu.org> * elf/Makefile: Add rules to build and run reldep9 test. * elf/reldep9.c: New file. * elf/reldep9mod1.c: New file. * elf/reldep9mod2.c: New file. * elf/reldep9mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run nodelete2 test. * elf/nodelete2.c: New file. * elf/nodel2mod1.c: New file. * elf/nodel2mod2.c: New file. * elf/nodel2mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com>
* Update.Ulrich Drepper2003-01-031-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | 2003-01-02 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction, sigaction): Protect weak_alias and libc_hidden_weak with #ifndef LIBC_SIGACTION. * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction, sigaction): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction, sigaction): Likewise. Remove SIGCANCEL handling here. * sysdeps/unix/sysv/linux/sigaction.c (__sigaction, sigaction): Likewise.
* Update.Ulrich Drepper2002-12-311-1/+3
| | | | | | 2002-12-30 Ulrich Drepper <drepper@redhat.com> * malloc/thread-m.h (thread_atfork): Define using __register_atfork.
* Update.Ulrich Drepper2002-12-301-3/+3
| | | | | | | | | | | | | 2002-12-30 Jakub Jelinek <jakub@redhat.com> * forward.c (FORWARD2): Renamed from FORWARD3. Remove unused export argument. (pthread_attr_init_2_0, pthread_attr_init_2_1): Use FORWARD macro. (pthread_exit): Use strong_alias to avoid warnings. * pthreadP.h (struct pthread_functions): Rename ptr_pthread_exit and ptr_pthread_attr_init_2_* to ptr___pthread_exit and ptr___pthread_attr_init_2_*. * init.c (pthread_functions): Adjust.
* Update.Ulrich Drepper2002-12-281-5/+0
| | | | | | 2002-12-28 Ulrich Drepper <drepper@redhat.com> * misc/sys/cdefs.h (__attribute_deprecated__): New #define.
* Update.Ulrich Drepper2002-12-281-0/+5
| | | | | | | | | | | * inet/herrno.c (__h_errno_location): Remove. * inet/Makefile (routines): Add herrno-loc. * resolv/res_libc.c (__res_state): Remove. * resolv/Makefile (routines): Add res-state. * sysdeps/generic/herrno-loc.c: New file. * sysdeps/generic/res-state.c: New file. 2002-12-27 Jakub Jelinek <jakub@redhat.com>
* Update.Ulrich Drepper2002-12-221-1/+1
| | | | | | | 2002-12-21 Ulrich Drepper <drepper@redhat.com> * pthread.c (init_rtsigs): Remove incomplete __builtin_expect. Reported by Art Hass <ahaas@airmail.net>.
* Update.Ulrich Drepper2002-12-181-104/+84
| | | | | | | | | | | | | | * sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd): Make cancelable. * sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise.
* * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN.Roland McGrath2002-12-061-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))] (malloc_starter, memalign_starter, free_starter): Don't define these. * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]: Don't declare them either. * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call __pthread_initialize, so no need to set hooks to *_starter. (ptmalloc_init_minimal): New function, broken out of ptmalloc_init. [_LIBC && SHARED && USE_TLS && !USE___THREAD] (__libc_malloc_pthread_startup): New function. * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function. * malloc/hooks.c (memalign_starter): New function. * malloc/malloc.c: Declare it. * malloc/arena.c (save_memalign_hook): New variable. (ptmalloc_init): Set __memalign_hook to memalign_starter. * elf/dl-minimal.c (free): Clear the memory. (calloc): Just call malloc, knowing all memory it returns is cleared. * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of malloc and memset; calloc can avoid the zeroing when redundant. (_dl_tls_setup): Likewise. * elf/dl-load.c (decompose_rpath): Likewise. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset call, since memory from sbrk at startup is already zero. * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an error string for failure, null for success. Update callers. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* * stdio-common/tst-sscanf.c (val_double): Append .0 to large wholeRoland McGrath2002-10-111-0/+17
| | | | number literals, so they are doubles instead of ints.
* Update.Ulrich Drepper2002-10-091-104/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-09 Ulrich Drepper <drepper@redhat.com> * Versions.def (libc): Add GLIBC_2.3.1. (libpthread): Add GLIBC_2.3.1. * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo, and __sigtimedwait. * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo. * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add libc_hidden_def. * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd. * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv and make old name an alias. * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd and make old name an alias. * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and __libc_msgsnd. * include/sys/uio.h: Declare __libc_readv and __libc_writev. * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and __libc_writev. * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make old name an alias. * sysdeps/posix/readv.c: Likewise * sysdeps/unix/sysv/aix/readv.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make old name an alias. * sysdeps/posix/writev.c: Likewise * sysdeps/unix/sysv/aix/writev.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. * include/sys/wait.h: Declare __waitid. * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid. * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old name an alias. * sysdeps/posix/waitid.c: Likewise. * sysdeps/unix/sysv/aix/waitid.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall. 2002-10-07 Jakub Jelinek <jakub@redhat.com> * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New prototypes. (__MAX_ALLOCA_CUTOFF): Define. Include allocalim.h. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r, _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate host_buffer depending on __libc_use_alloca. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate net_buffer depending on __libc_use_alloca. * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate buf depending on __libc_use_alloca. * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise. * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca instead of hardcoded constants. Pass proper size argument to alloca and compute end for wide char version. * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca instead of hardcoded constants. * string/strcoll.c (strcoll): Likewise. * string/strxfrm.c (strxfrm): Likewise. * sysdeps/posix/readv.c (__readv): Likewise. * sysdeps/posix/writev.c (__writev): Likewise. * sysdeps/generic/allocalim.h: New file.
* * pthread.c (__pthread_reset_main_thread) [FLOATING_STACKS]:Roland McGrath2002-09-281-6/+13
| | | | Don't call setrlimit, since we did no prior bogon we need to undo.
* * sysdeps/powerpc/bits/setjmp.h [__WORDSIZE]: Add 64-bit jmpbuf.Roland McGrath2002-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/powerpc/bits/wordsize.h: New file. * sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Change long array to int array for 32-/64-bit compatibility. 2002-09-20 Roland McGrath <roland@redhat.com> * login/programs/utmpdump.c: Don't include <error.h>, <errno.h>. * sysdeps/generic/utimes.c (__utimes): Don't check TVP for null. Reported by Bruno Haible <bruno@clisp.org>. * sysdeps/generic/ifreq.h (__ifreq): Compute termination condition before doubling RQ_LEN. * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. Reported by Bruno Haible <bruno@clisp.org>. 2002-09-18 Bruno Haible <bruno@clisp.org> * login/logout.c (logout): Don't assume ut_time has the same size as a time_t. * login/logwtmp.c (logwtmp): Likewise. * sysdeps/pthread/configure: New file, moved here from linuxthreads/sysdeps/unix/sysv/linux/configure.
* * resolv/resolv.h: Include <sys/types.h> for u_long even inRoland McGrath2002-09-081-33/+2
| | | | | the [__need_res_state] case. Reported by Bruno Haible <bruno@clisp.org>.
* * locale/duplocale.c: Include <string.h>.Roland McGrath2002-08-301-1/+1
|
* Update.Ulrich Drepper2002-08-281-0/+13
| | | | | | | | | | | | 2002-08-08 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/bits/local_lim.h (PTHREAD_THREADS_MAX): Bump to 16384. * manager.c (__pthread_handles): Remove. * pthandles.c: New file. * pthread.c (__pthread_initialize_minimal): Initialize __pthread_handles[0] and __pthread_handles[1]. * Makefile (libpthread-routines): Add pthandles (must be last).
* Update.Ulrich Drepper2002-08-241-0/+3
| | | | | | 2002-08-23 Ulrich Drepper <drepper@redhat.com> * pthread.c (__linuxthreads_version): New global constant.
* Update.Ulrich Drepper2002-08-201-1/+2
| | | | * sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit.
* * elf/tst-tlsmod4.c (in_dso): Insert a random library call before useRoland McGrath2002-08-121-1/+1
| | | | | | | of the TLS macros, otherwise the compiler might not have initialized the PIC register yet when we use the PLT via asm. * elf/tst-tlsmod3.c (in_dso2): Likewise. * elf/tst-tlsmod2.c (in_dso): Likewise.
* (__linuxthreads_initial_report_events): New variable. ↵Ulrich Drepper2002-08-081-1/+9
| | | | (__pthread_initialize_manager): Use it to initialize p_report_events of initial thread. [TLS]: Store pointer to descriptor of manager in __pthread_handles.
* 2002-08-02 Roland McGrath <roland@redhat.com>Roland McGrath2002-08-041-0/+7
| | | | | | | | | * sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t): Add _LIBC_TSD_KEY_LOCALE. * manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]: Call __uselocale to initialize our per-thread locale pointer to the global one. * pthread.c (__pthread_initialize_minimal): Likewise.
* Update.Ulrich Drepper2002-08-031-1/+1
| | | | | * pthread.c: Declare _errno, _h_errno, and _res unless we use TLS internally.
* Declare _errno, _h_errno, and _res unless we use TLS internally.Ulrich Drepper2002-08-031-9/+11
|
* * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.Roland McGrath2002-08-021-18/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file, which does the right thing when __thread support is available. * descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]: Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop', `p_h_errno', `p_resp', and `p_res' members. * pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]: Don't initialize `p_errnop' and `p_h_errnop' members. (__pthread_reset_main_thread): Likewise. (__pthread_initialize_manager): Likewise. * manager.c (__pthread_manager, pthread_handle_create): Likewise. * pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]: Don't initialize `p_resp' member. (__pthread_reset_main_thread): Likewise. * manager.c (pthread_handle_create): Likewise. * specific.c (libc_internal_tsd_set, libc_internal_tsd_get): Conditionalize these on [!(USE_TLS && HAVE___THREAD)]. * errno.c [USE_TLS && HAVE___THREAD] (__h_errno_location, __res_state): Don't define these at all. * sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments! (INSTALL_NEW_DTV, GET_DTV): Likewise. * sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise. * weaks.c: Don't include <errno.h> here. 2002-08-01 Roland McGrath <roland@redhat.com> * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of TLS_INIT_TP. (TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall. (TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both. (TLS_INIT_TP): Use that.
* Update.Ulrich Drepper2002-07-231-1/+14
| | | | | | | | | | | | | | | | | 2002-07-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-tls.c: New file. * csu/Makefile (routines): Add libc-tls. (static-only-routines): Add libc-tls. * elf/dl-support.c (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. * sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code for !SHARED. First look through auxiliary vector. If TLS always call __pthread_initialize_minimal. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument in mmap call is never zero.
* Update.Ulrich Drepper2002-02-271-0/+6
| | | | | | | 2002-02-27 Ulrich Drepper <drepper@redhat.com> * pthread.c [USE_TLS] (thread_self_stack): Correct check for upper stack limit.
* Update.Ulrich Drepper2002-02-231-31/+126
| | | | | | | | | | | | | | | | | 2002-02-23 Ulrich Drepper <drepper@redhat.com> * csu/set-init.c: Moved to... * sysdeps/mach/hurd/set-init.c: ...here. New file. * csu/Makefile: Don't compile set-init. * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu. * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition to __libc_init. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of __libc_init. * misc/init-misc.c: Always export __init_misc. Don't define hooks for __libc_subinit.
* Update.Ulrich Drepper2002-02-011-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy, _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and _dl_debug_fd to rtld_global. * elf/Versions: Likewise. * elf/dl-close.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-misc.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-support.c: Likewise. * elf/do-lookup.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/ia64/Versions: Likewise. * sysdeps/unix/clock_gettime.c: Likewise. * sysdeps/unix/clock_settime.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/sparc/Versions: Removed. * sysdeps/i386/i686/Versions : Removed. * sysdeps/x86_64/Versions: Removed. * configure.in: Define HAVE_PROTECTED if .protected is available. * config.h.in: Add entry for HAVE_PROTECTED. 2002-01-31 Jakub Jelinek <jakub@redhat.com. * sysdeps/alpha/dl-machine.h: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * sysdeps/arm/dl-machine: Likewise. * sysdeps/generic/dl-origin: Likewise. * sysdeps/generic/dl-sysdep: Likewise. * sysdeps/generic/dl-cache: Likewise. * sysdeps/hppa/dl-fptr: Likewise. * sysdeps/hppa/dl-machine: Likewise. * sysdeps/cris/dl-machine: Likewise. * sysdeps/i386/dl-machine: Likewise. * sysdeps/ia64/dl-machine: Likewise. * sysdeps/m68k/dl-machine: Likewise. * sysdeps/mach/hurd/dl-sysdep: Likewise. * sysdeps/mips/mips64/dl-machine: Likewise. * sysdeps/mips/dl-machine: Likewise. * sysdeps/powerpc/elf/libc-start: Likewise. * sysdeps/powerpc/dl-machine: Likewise. * sysdeps/powerpc/dl-start: Likewise. * sysdeps/sparc/sparc32/dl-machine: Likewise. * sysdeps/sparc/sparc64/dl-machine: Likewise. * sysdeps/sh/dl-machine: Likewise. * sysdeps/s390/s390-32/dl-machine: Likewise. * sysdeps/s390/s390-64/dl-machine: Likewise. * sysdeps/unix/sysv/aix/libc-start: Likewise. * sysdeps/unix/sysv/aix/start-libc: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static: Likewise. * sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise. * sysdeps/x86_64/dl-machine: Likewise. 2002-01-31 Ulrich Drepper <drepper@redhat.com>
* Update.Ulrich Drepper2001-11-301-3/+36
| | | | | | | | | | | | | | 2001-11-30 Andreas Schwab <schwab@suse.de> * pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check that self is the manager thread, and initialize the thread register if not. (thread_self_stack) [THREAD_SELF]: New function to find self via stack pointer. * manager.c (pthread_handle_create): Don't block cancel signal any more. (THREAD_GETMEM_NC):
* Update.Ulrich Drepper2001-11-281-1/+3
| | | | | | | | | | 2001-11-22 Wolfram Gloger <wg@malloc.de> * pthread.c (pthread_onexit_process): Don't call free after threads have been asynchronously terminated. * manager.c (pthread_handle_exit): Surround cancellation of threads with __flockfilelist()/__funlockfilelist().
* Update.Ulrich Drepper2001-10-071-1/+1
| | | | | | | | | | | | | | | | | | | 2001-10-04 Ben Collins <bcollins@debian.org> * sysdeps/generic/inttypes.h: Fix typo (define, not defined) in decleration of __need_wchar_t. 2001-10-03 Jakub Jelinek <jakub@redhat.com> * string/bits/string2.h (__strsep_g): Add prototype. (__strsep): Use it. * string/Versions (__strsep): Remove. * sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep. 2001-10-07 Ulrich Drepper <drepper@redhat.com> * manua/llio.texi: Clarify file references added by mmap. Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
* Update.Ulrich Drepper2001-09-121-5/+7
| | | | | | | 2001-09-11 Ulrich Drepper <drepper@redhat.com> * nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup. Patch by Stephan Kulow.
* Update.Ulrich Drepper2001-08-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-14 Jakub Jelinek <jakub@redhat.com> * resolv/nss_dns/dns-host.c (RESOLVSORT): Define. (addrsort): New function. * resolv/gethnamaddr.c (RESOLVSORT): Define. 2001-08-14 Jakub Jelinek <jakub@redhat.com> * string/strsignal.c (free_mem): Remove. 2001-08-14 Andreas Jaeger <aj@suse.de> * inet/inet_ntoa.c (free_mem): Remove, it's not used anymore. Closes PR libc/2477, reported by Dylan Alex Simon <dylan@dylex.caltech.edu>. 2001-08-14 Ulrich Drepper <drepper@redhat.com> * locale/Makefile (aux): Add xlocale. * locale/xlocale.c: New file. * include/locale.c (_nl_C_locobj): Declare. * iconv/gconv_charset.h: Use __tolower_l, __isdigit_l, __isspace_l with _nl_C_locobj instead of tolower, isdigit, isspace. * iconv/gconv_conf.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * locale/newlocale.c: Minor cleanups.
* Update.Ulrich Drepper2001-07-161-34/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-15 Ulrich Drepper <drepper@redhat.com> * malloc/obstack.c: Define __attribute__ for non-gcc compilers. Patch by Jim Meyering <jim@meyering.net>. 2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Reorder fields in the sigaction struct to match the definition in the kernel. 2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Correct the test for ENOSYS. 2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Add leading underscores to the entries in the __jmp_buf structure. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bcopy.S: Use mvcle for big blocks (> 64K) and a mvc loop for small blocks. * sysdeps/s390/s390-32/memcpy.S: Likewise. * sysdeps/s390/s390-64/bcopy.S: Likewise. * sysdeps/s390/s390-64/memcpy.S: Likewise.
* Update.Ulrich Drepper2001-06-171-1/+0
| | | | | | | | | | | | 2001-06-16 H.J. Lu <hjl@gnu.org> * internals.h: Include <stackinfo.h>. * attr.c: Don't include <stackinfo.h> here. * cancel.c: Likewise. * manager.c: Likewise. * pthread.c: Likewise. * ptlongjmp.c: Likewise.
* Make _STACK_GROWS_UP work.Ulrich Drepper2001-06-161-0/+16
|
* (__pthread_reset_main_thread): Fix a typo.Ulrich Drepper2001-06-161-1/+1
|
* Update.Ulrich Drepper2001-05-241-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-01 Kaz Kylheku <kaz@ashi.footprints.net> Memory barrier overhaul following line by line inspection. * mutex.c (pthread_once): Missing memory barriers added. * pthread.c (__pthread_wait_for_restart_signal, __pthread_timedsuspend_new, __pthread_restart_new): Added memory barriers ``just in case'' and for documentary value. * spinlock.c (__pthread_release): New inline function for releasing spinlock, to complement __pthread_acquire. Includes memory barrier prior to assignment to spinlock, and __asm __volatile dance to prevent reordering or optimization of the spinlock access. * spinlock.c (__pthread_unlock, __pthread_alt_lock, __pthread_alt_timedlock, __pthread_alt_unlock, __pthread_compare_and_swap): Updated to use new __pthread_release instead of updating spinlock directly. * spinlock.c (__pthread_lock, __pthread_unlock, wait_node_alloc, wait_node_free, wait_node_dequeue, __pthread_alt_lock, __pthread_alt_timedlock, __pthread_alt_unlock, __pthread_acquire): Memory barrier overhaul. Lots of missing memory barriers added, a couple needless ones removed. * spinlock.c (__pthread_compare_and_swap): testandset optimization removed, just calls __pthread_acquire, which has the new read barrier in it before its testandset.
* Update.Ulrich Drepper2001-04-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/unix/i386/i586/clock_getres.c: Removed. * sysdeps/unix/i386/i586/clock_gettime.c: Removed. * sysdeps/unix/i386/i586/clock_nanosleep.c: Removed. * sysdeps/unix/i386/i586/clock_settime.c: Removed. * sysdeps/unix/i386/i586/cpuclock-init.h: Removed. * sysdeps/generic/cpuclock-init.h: Removed. * sysdeps/unix/i386/i686/Implies: Removed. * sysdeps/unix/i386/i686/tempname.c: Removed. * sysdeps/i386/i686/Versions: New file. * sysdeps/unix/i386/i586/Versions: Removed. * sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. * sysdeps/unix/clock_gettime.c: Likewise. * sysdeps/unix/clock_nanosleep.c: Likewise. * sysdeps/unix/clock_settime.c: Likewise. * sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define RANDOM_BITS use CPU clock. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file. * sysdeps/sparc/Versions: New file. * elf/dl-support.c: Don't use cpuclock-init.h definitions, use hp-timing.h definitions. * sysdeps/generic/dl-sysdep.c: Likewise. * include/libc-internal.h: Include hp-timing.h. Use hp_timing_t in __get_clockfreq prototype. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): Use hp_timing_t type. * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file.
* Update.Ulrich Drepper2001-04-211-0/+8
| | | | | | | | | | | | | | | 2001-04-21 Ulrich Drepper <drepper@redhat.com> * elf/dl-support.c: Include cpuclock-init.h. Use CPUCLOCK_VARDEF and CPUCLOCK_INIT if defined. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/cpuclock-init.h: New file. * sysdeps/unix/i386/i586/cpuclock-init.h: New file. * sysdeps/unix/i386/i586/Versions: New file. * sysdeps/unix/i386/i586/clock_settime.c: New file. * sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock separately by calling __pthread_clock_gettime if this function is available. Subtract offset from tsc value before computing time value.
* Update.Ulrich Drepper2001-04-101-1/+1
| | | | | | | | | | | | | 2001-04-10 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Fix return value of getcontext. * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: Fix return value of setcontext. * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/s390/swapcontext.c: Skip setcontext call by changing the saved context.
* Update.Ulrich Drepper2001-03-211-1/+1
| | | | | | | 2001-03-21 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/makecontext.c: Include libintl.h for internationalized printfs to work.