aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/i386
AgeCommit message (Collapse)Author
2000-04-27Update.Ulrich Drepper
2000-04-27 Ulrich Drepper <drepper@redhat.com> * elf/soinit.c (__libc_global_ctors): Call __pthread_initialize_minimal if this function is available. * sysdeps/i386/i486/atomicity.h (exchange_and_add): Use uint32_t for all values. <haible@clisp.cons.org>.
2000-04-25Update.Ulrich Drepper
2000-04-25 Ulrich Drepper <drepper@redhat.com> * elf/dl-profile.c (_dl_mcount): Try to be thread-safe while not setting the state to GMON_PROF_BUSY.
2000-04-25Update.Ulrich Drepper
2000-04-24 Ulrich Drepper <drepper@redhat.com> * manager.c (pthread_free): Use FREE_THREAD not FREE_THREAD_SELF. * sysdeps/i386/useldt.h: Use "q" constraint instead of "r" where necessary. * sysdeps/i386/i686/pt-machine.h: Include "../useldt.h".
1999-12-02Update.Ulrich Drepper
1999-12-01 Andreas Jaeger <aj@suse.de> * sysdeps/generic/if_index.c (__protocol_available): Add missing int for parameter. * stdio/stdio.h: Fix typo. Patches by Marcus G. Daniels <mgd@santafe.edu>. 1999-12-01 Andreas Jaeger <aj@suse.de> * scripts/test-installation.pl (installation_problem): Filter out libpthread_db. 1999-12-01 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/alpha/bits/types.h: Fix signedness of __rlim_t and __rlim64_t. * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. 1999-12-01 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add oldgetrlimit64 and oldsetrlimit64 for subdir = resource. * sysdeps/unix/sysv/linux/Versions: Add getrlimit, setrlimit, getrlimit64 and setrlimit64 to version GLIBC_2.1.3. * sysdeps/unix/sysv/linux/setrlimit.c: Correct handling of old and new kernel version. Add symbol versions. * sysdeps/unix/sysv/linux/syscalls.list: Add oldsetrlimit and oldgetrlimit. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_getrlimit and s_ugetrlimit. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/getrlimit.c: New file. * sysdeps/unix/sysv/linux/getrlimit64.c: New file. * sysdeps/unix/sysv/linux/oldgetrlimit64.c: New file. * sysdeps/unix/sysv/linux/oldsetrlimit64.c: New file. * sysdeps/unix/sysv/linux/setrlimit64.c: New file. * sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: New file. * sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: New file.
1999-04-16Update.Ulrich Drepper
1999-04-16 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/bits/socket.h: Add SOL_PACKET, SOL_ATM, SOL_AAL, and SOL_IRDA.
1998-12-21Update.Ulrich Drepper
1998-12-21 Ulrich Drepper <drepper@cygnus.com> * inet/gethstbynm_r.c: Remove NEED__RES definition since we do this anyway for digits_dots.c. * nss/getXXbyYY.c: Initialize _res before using digits_dots.c functions. * nss/getXXbyYY_r.c: Likewise. 1998-12-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sunrpc/key_call.c (getkeyserv_handle): Use __fcntl instead of fcntl. 1998-12-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * locale/weight.h (get_weight): Extract string elements as unsigned values.
1998-10-09Update.Ulrich Drepper
* sysdeps/i386/pt-machine.h (get_eflags, set_eflags): Mark these also with PT_EI.
1998-10-09Update.Ulrich Drepper
1998-10-09 Ulrich Drepper <drepper@cygnus.com> * posix/ptestcases.h: Fix typo. 1998-10-08 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * posix/regex.c (regcomp): Allocate and prepare a fastmap. (regexec): Allocate regs.start and regs.end as one block. 1998-10-08 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/bits/socket.h: Remove comma at end of enum decl. 1998-10-08 Philip Blundell <pb@nexus.co.uk> * sysdeps/unix/sysv/linux/arm/profil-counter.h: Move definition of sigcontext union to ... * sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: ... here. New file. * sysdeps/unix/sysv/linux/arm/register-dump.h: Add support for version 2.0 kernels.
1998-10-09Update.Ulrich Drepper
1998-10-09 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/i686/pt-machine.h: Remove unused inline definitions.
1998-08-31Update.Ulrich Drepper
1998-08-31 Ulrich Drepper <drepper@cygnus.com> * elf/dl-close.c (_dl_close): Update _dl_loaded if the first object on the list is removed. Don't use this code for PIC. Reported by HJ Lu [PR libc/770].
1998-08-28Update.Ulrich Drepper
1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com> * internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to access thread data with non-constant offsets. * specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where necessary. * sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and THREAD_SETMEM_NC definitions. * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and THREAD_SETMEM_NC. * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1998-08-27Update.Ulrich Drepper
1998-08-27 19:42 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add dl-origin.h. * sysdeps/generic/dl-origin.h: New file. * sysdeps/unix/sysv/linux/dl-origin.h: New file. * elf/link.h (struct link_map): Add l_origin field. * elf/dl-load.c (expand_dynamic_string_token): New function. (decompose_path): Remove WHERE argument, take link map pointer instead. Call expand_dynamic_string_token instead of local_strdup to make copy of rpath. (_dl_init_paths): Call decompose_path with correct argument. (_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is not defined. Check EI_OSABI and EI_ABIVERSION fields in header. (_dl_map_object): Call decompose_path with correct argument. Call expand_dynamic_string_token instead of local_strdup to also expand DST. * elf/dl-object.c (_dl_new_object): Determine l_origin for all maps but the main one. * elf/dl-support.c: Define _dl_origin_path. * elf/rtld.c: Likewise. Set _dl_origin_path based on LD_ORIGIN_PATH. * elf/dl-close (_dl_close): Free l_name and l_origin. * sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P modifier in asm, not c. * sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.
1998-08-26Update.Ulrich Drepper
1998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com> * internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if not already defined. (struct _pthread_descr_struct): Add p_self and p_nr field. * manager.c (__pthread_handles): Define second element to point to manager thread. (__pthread_handles_num): Initialize to 2. (__pthread_manager): Use INIT_THREAD_SELF with two arguments. (pthread_start_thread): Likewise. (pthread_handle_create): Start search for free slot at entry 2. Initialize new fields p_self and p_nr. Call __clone with CLONE_PTRACE if available. (pthread_free): Call FREE_THREAD_SELF if available. * pthread.c (__pthread_initial_thread): Initialize new fields. (__pthread_manager_thread): Likewise. (__pthread_initialize_manager): Call __clone with CLONE_PTRACE. * cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the elements of the thread descriptor. * condvar.c: Likewise. * errno.c: Likewise. * join.c: Likewise. * manager.c: Likewise. * pthread.c: Likewise. * ptlongjmp.c: Likewise. * semaphore.c: Likewise. * signals.c: Likewise. * specific.c: Likewise. * spinlock.c: Likewise. * sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter. * sysdeps/i386/useldt.h: New file. * sysdeps/i386/i686/pt-machine.h: Show how to use this file. * sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and THREAD_SETMEM using __thread_self. * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1998-06-25Update.Ulrich Drepper
1998-06-25 19:26 Ulrich Drepper <drepper@cygnus.com> * Makeconfig (CPPFLAGS): Use $($(subdir)-CPPFLAGS) if defined first. * locale/Makefile: Define locale-CPPFLAGS instead of redefining CPPFLAGS. * libc.map: Export __sigaction. 1998-06-25 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PTRACE): Add it (from Linux 2.1.107). 1998-06-24 Ulrich Drepper <drepper@cygnus.com> * nss/nss_files/files-XXX.c (_nss_files_get,ENTNAME_r): Initialize position when file was opened here. Reported by Howard Chu <hyc@platinum.com>. * sysdeps/generic/glob.c: Also protect FNM_* macros from being undefined in a second inclusion. 1998-06-20 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/mach/hurd/i386/Makefile: New file. * sysdeps/mach/hurd/i386/init-first.c [!PIC] (init1): Call __libc_init_secure. (_hurd_stack_setup): Renamed from __libc_init_first. (__libc_init_first): New function. * sysdeps/mach/hurd/i386/static-start.S: New file. 1998-05-30 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/mach/hurd/i386/init-first.c 1998-06-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * grp/initgroups.c: Use _CALL_DL_FCT. 1998-06-23 Mark Kettenis <kettenis@phys.uva.nl> * elf/dl-load.c (_dl_map_object_from_fd): Add missing cast.
1998-06-25Finish user stack support. Change locking code to be safe in situations ↵Ulrich Drepper
with different priorities. 1998-06-25 19:27 Ulrich Drepper <drepper@cygnus.com> * attr.c: Finish user stack support. Change locking code to be safe in situations with different priorities. * cancel.c: Likewise. * condvar.c: Likewise. * internals.h: Likewise. * join.c: Likewise. * manager.c: Likewise. * mutex.c: Likewise. * pthread.c: Likewise. * ptlongjmp.c: Likewise. * queue.h: Likewise. * rwlock.c: Likewise. * semaphore.c: Likewise. * semaphore.h: Likewise. * signals.c: Likewise. * spinlock.c: Likewise. * spinlock.h: Likewise. Patches by Xavier leroy. 1998-06-25 Ulrich Drepper <drepper@cygnus.com> * sysdeps/pthread/pthread.h: Make [sg]et_stacksize and [sg]et_stackaddr prototypes always available. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_THREAD_ATTR_STACKSIZE and _POSIX_THREAD_ATTR_STACKADDR.
1998-03-11LinuxThreads library.Ulrich Drepper
1998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * linuxthreads/manager.c: Enable resetting of the thread scheduling policy to SCHED_OTHER when the parent thread has a different one. 1998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_ASYNCHRONOUS_IO. * sysdeps/pthread/pthread.h: Define bits for Unix98 variants of mutexes. * mutex.c: Implement new mutex types. * internals.h: Include <signal.h>. * libpthread.map: Add __erno_location and __h_errno_location. * errno.c: Return pointer to variable actually in use. This might not be the one in the thread structure. * internals.h (struct _pthread_descr_struct): Add new fields p_errnop and p_h_errnop. * manager.c (__pthread_manager): Set p_errnop and p_h_errnop member of manager thread structure. (pthread_handle_create): Set p_errnop and p_h_errnop members for new thread. * pthread.c: Adapt initializer for thread structures. (__pthread_initial_thread): Set p_errnop and p_h_errnop member. (__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of current thread to global variables. 1998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com> * rwlock.c: New file. * Makefile (libpthread-routines): Add rwlock. * sysdeps/pthread/pthread.h: Define data structures and declare functions. * libpthread.map: Add new functions. 1997-12-18 13:50 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/pt-machine.h: New file; add ARM support. * sysdeps/arm/Implies: likewise. * README: Document it. 1997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * signals.c: Remove unneeded initializer for sigwaited, saving a 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * semaphore.c (sem_init): Set sem_spinlock only if available. 1997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com> * mutex.c: Implement PTHREAD_MUTEX_CHECKERROR. * sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR. * Makefile: Update from LinuxThreads 0.7. * internals.h. Likewise. * manager.c: Likewise. * mutex.c: Likewise. * pthread.c: Likewise. * signals.c: Likewise. * specific.c: Likewise. * Examples/ex3.c: Likewise. 1997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com> * pthread.c (__pthread_reset_main_thread): Close pipe only if still open. 1997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com> * wrapsyscall.c: Add socket functions which are also cancelation points. 1997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de> * specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get): New functions for fast thread specific data within libc. * internals.h: Add new array p_libc_specific to struct _pthread_descr_struct. * sysdeps/pthread/bits/libc-lock.h: Declare new functions. 1997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com> * semaphore.h: Add __BEGIN_DECLS/__END_DECLS. Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com> * internals.h (struct _pthread_descr_struct): Add definitions for two-level specific key handling. * manager.c (pthread_handle_create): Initialize specific memory array. * specific.c: Implement two-level key handling. * weaks.c: Don't provide dummy key handling. * sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define). Add definition of __libc_key_t. * sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX as 1024. Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and PTHREAD_DESTRUCTOR_ITERATIONS. * manager.c (pthread_handle_create): Compare mmap result with MAP_FAILED. * ptfork.c: Rename to __pthread_atfork and make old name a weak alias. * sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork. 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> sysdeps/sparc -> sysdeps/sparc/sparc32 sysdeps/sparc64 -> sysdeps/sparc/sparc64 * internals.h: Change definition of THREAD_SELF to be an expression, not a statement that did a return. * sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly. * sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF): Follow Solaris and use a "system reserved" register (%g6) to hold the thread descriptor. * sysdeps/sparc/sparc64/pt-machine.h: Likewise. 1997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com> * mutex.c: Correct pthread_once. Patch by Xavier Leroy. * sysdeps/pthread/pthread.h: Add prototype for __pthread_once. * sysdeps/pthread/bits/pthread.h: Add macros for __libc_once. * semaphore.c: Include spinlock.h only when needed. * specific.c (__pthread_setsepcific, __pthread_getspecific): Reject keys for entries not in use. * weaks.c: Implement key handling functions for real. 1997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu> Initial sparc64-linux support: * linuxthreads/sysdeps/sparc64/Implies: New file. * linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise. 1997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com> * semaphore.c: Include spinlock.h at correct place. Patch by HJ Lu. 1997-06-13 10:06 Richard Henderson <rth@tamu.edu> The Great Bit File Move: * sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h. * sysdeps/powerpc/semaphorebits.h: Likewise. * sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise. * sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise. * sysdeps/pthread/libc-lock.h: -> bits/ * sysdeps/pthread/stdio-lock.h: Likewise. * sysdeps/unix/sysv/linux/local_lim.h: Likewise. * sysdeps/unix/sysv/linux/posix_opt.h: Likewise. * semaphore.h: Likewise. * sysdeps/pthread/pthread.h: Likewise. * lockfile.c: <foo.h> -> <bits/foo.h>. * semaphore.h: Likewise. * Makefile: (headers): foo.h -> bits/foo.h. * sysdeps/pthread/Makefile: Likewise. 1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * semaphore.c (sem_init): Set sem_spinlock only if available. * sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix asm constraints. 1997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com> Update from LinuxThreads 0.6. * attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max and __sched_get_priority_min instead of names without `__'. * manager.c: Rewrite large parts to implement opaque pthread_t. * cancel.c: Adapt for opaque pthread_t type. * condvar.c: Likewise. * errno.c: Likewise. * join.c: Likewise. * mutex.c: Likewise. * pthread.c: Likewise. * signals.c: Likewise. * specific.c: Likewise. * restart.h: Likewise. * queue.h: Likewise. * Examples/ex3.c: Likewise. * Examples/ex4.c: Likewise. * sysdeps/pthread/pthread.h: Likewise. * pthread.c: Accumulate time for all threads in thread manager. * semaphore.c: Implement fallback implementation for architectures sometimes missing compare-exchange operations. * cancel.c (pthread_cancel): Validate handle argument. * join.c (pthread_join): Likewise. (pthread_detach): Likewise. * signals.c (pthread_kill): Likewise. * spinlock.h (acquire): Use __sched_yield not sched_yield. * queue.h (enqueue): Enqueue thread according to priority. * internals.c (struct pthread_start_args): New struct for passing args to cloning function. (struct _pthread): Rename to _pthread_descr_struct and adapt for opaque pthread_t. * Examples/Makefile (clean): Pass -f option to rm. * sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction and define TEST_FOR_COMPARE_AND_SWAP. * sysdeps/i386/i486/pt-machine.h: Removed. * sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase to 1024. 1997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com> * restart.h (suspend): Clear p_signal before suspending. (suspend_with_cancellation): Likewise. Patch by Xavier Leroy <Xavier.Leroy@inria.fr>. * weaks.c: Make __pthread_key_create return 1. * sysdeps/pthread/libc-lock.h: Define __libc_key_create, __libc_getspecific, __libc_setspecific, and __libc_key_t. * sysdeps/pthread/stdio-lock.h: Don't care for implementation not using libio. 1997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx> * sysdeps/sparc/pt-machine (RELEASE): Fix. 1997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au> * sysdeps/powerpc/Implies: Added. * sysdeps/powerpc/pt-machine.h: Added. * sysdeps/powerpc/semaphorebits.h: Added. 1997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com> * linuxtheads/pthread.c (__pthread_initial_thread): Correct initializer. (__pthread_manager_thread): Likewise. Reported by Andreas Jaeger. 1997-01-18 22:15 Richard Henderson <rth@tamu.edu> Since sigset_t no longer fits in a register, we can't pass in the thread's initial mask so easily. Take this opportunity to simplify the clone implementation by only accepting a single void* argument. * linuxthreads/manager.c (__pthread_manager): Put thread vitals in the thread struct instead of as arguments through clone. (pthread_start_thread): Look for them there. * linuxthreads/internals.h (struct _pthread): Add p_initial_fn, p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto. * linuxthreads/pthread.c (pthread_initialize_manager): Revise clone invocation.