freebsd-dev/lib/libc_r/uthread
Marcel Moolenaar cafd6dbd76 Fix threaded applications on ia64 that are linked dynamicly. We did
not save (restore) the global pointer (GP) in the jmpbuf in setjmp
(longjmp) because it's not needed in general. GP is considered a
scratch register at callsites and hence is always restored after a
call (when it's possible that the call resolves to a symbol in a
different loadmodule; otherwise GP does not have to be saved and
restored at all), including calls to setjmp/longjmp. There's just
one problem with this now that we use setjmp/longjmp for context
switching: A new context must have GP defined properly for the
thread's entry point. This means that we need to put GP in the
jmpbuf and consequently that we have to restore is in longjmp.
This automaticly requires us to save it as well.

When setjmp/longjmp isn't used for context switching, this can be
reverted again.
2003-03-05 04:39:24 +00:00
..
Makefile.inc Actually link in the attr_{set,get}stack. 2003-02-11 07:28:28 +00:00
pthread_private.h Fix threaded applications on ia64 that are linked dynamicly. We did 2003-03-05 04:39:24 +00:00
uthread_accept.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_acl_aclcheck_fd.c Instead of using a join queue for each thread, use a single pointer to 2001-05-20 23:08:33 +00:00
uthread_acl_delete_fd.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_acl_get_fd.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_acl_set_fd.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_aio_suspend.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_destroy.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_get_np.c Improve pthread_attr_get_np() by enabling it to return thread's real stack 2003-02-03 10:08:45 +00:00
uthread_attr_getdetachstate.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getguardsize.c Implement pthread_attr_[gs]etguardsize(). Non-default-size stacks used to 2001-07-20 04:23:11 +00:00
uthread_attr_getinheritsched.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getschedparam.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getschedpolicy.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getscope.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getstack.c Add pthread_attr_getstack() and pthread_attr_setstack(). 2003-02-10 08:48:04 +00:00
uthread_attr_getstackaddr.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_getstacksize.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_init.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_attr_setcreatesuspend_np.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setdetachstate.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setguardsize.c Undo namespace pollution by prefixing the globals pthread_guard_default and 2002-05-15 05:37:48 +00:00
uthread_attr_setinheritsched.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setschedparam.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setschedpolicy.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setscope.c Correct a typo pthread_attr_setscope() function fails unconditionally 2002-02-14 15:20:36 +00:00
uthread_attr_setstack.c Add pthread_attr_getstack() and pthread_attr_setstack(). 2003-02-10 08:48:04 +00:00
uthread_attr_setstackaddr.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_attr_setstacksize.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_autoinit.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_bind.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_cancel.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_clean.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_close.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_cond.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_condattr_destroy.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_condattr_init.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_connect.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_creat.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_create.c Port libc_r to ia64. We need to do things slightly different 2003-01-06 00:56:23 +00:00
uthread_detach.c Properly clear the status of a join operation if the joining thread is 2002-03-06 19:28:41 +00:00
uthread_dup2.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_dup.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_equal.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_execve.c When about to do an execve(), don't reset the O_NONBLOCK flag on any file 2002-11-15 00:34:28 +00:00
uthread_exit.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_fchflags.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_fchmod.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_fchown.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_fcntl.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_fd.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_file.c Remove (int) file descriptor locking. It should be up to the 2001-02-11 22:07:32 +00:00
uthread_find_thread.c Fix a race condition in pthread_join(). All of the following must occur 2001-06-27 11:41:15 +00:00
uthread_flock.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_fork.c Add the ability to recognize old references to keys, and return NULL 2002-03-19 22:58:56 +00:00
uthread_fpathconf.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_fstat.c Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
uthread_fstatfs.c Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
uthread_fsync.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_gc.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_getdirentries.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_getpeername.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_getprio.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_getschedparam.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_getsockname.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_getsockopt.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_info.c Fix typos in comment. 2002-12-28 05:20:03 +00:00
uthread_init.c Increase the scheduler stack to 4 pages. This should prevent a stack 2003-01-11 00:43:20 +00:00
uthread_ioctl.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_jmp.c Compensate for "Compensate for header dethreading" by backing it out. 2001-10-10 17:48:44 +00:00
uthread_join.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_kern.c Once again, remove the i386-specific hacks to save and restore 2002-10-05 02:22:26 +00:00
uthread_kevent.c Prevent infinite loop, when kevent(2) is called wihout eventlist (i.e. 2001-12-08 00:53:37 +00:00
uthread_kill.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_listen.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_main_np.c fix typo in comments (in preparation for MFC) 2002-10-15 16:40:57 +00:00
uthread_mattr_init.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_mattr_kind_np.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_msync.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_multi_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_mutex_prioceiling.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_mutex_protocol.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_mutex.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_mutexattr_destroy.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_nanosleep.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_once.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_open.c Typo; fix open() so that it is not a cancellation point when called 2001-04-18 12:42:11 +00:00
uthread_pause.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_pipe.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_poll.c Make these functions cancellation points like they should be: 2002-05-02 19:58:43 +00:00
uthread_priority_queue.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_pselect.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_read.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_readv.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_recvfrom.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_recvmsg.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_resume_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_rwlock.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_rwlockattr.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_select.c Make the libc_r version of select() set the readable or writable 2002-08-29 21:39:19 +00:00
uthread_self.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_sem.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_sendfile.c Remove much of the dereferencing of the fd table entries to look 2002-08-29 23:06:07 +00:00
uthread_sendmsg.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_sendto.c Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(), 2002-12-19 11:39:20 +00:00
uthread_seterrno.c Add weak definitions for wrapped system calls. In general: 2001-01-24 13:03:38 +00:00
uthread_setprio.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_setschedparam.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_setsockopt.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_shutdown.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_sig.c Don't cast an int to a pointer type without (possibly) widening the 2003-03-05 04:28:08 +00:00
uthread_sigaction.c Install library-installed signal handlers with the SA_RESTART flag 2002-09-30 08:47:42 +00:00
uthread_sigmask.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_sigpending.c Make sigpending and sigsuspend account for signals that are pending on 2002-06-28 13:28:41 +00:00
uthread_sigprocmask.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_sigsuspend.c Make sigpending and sigsuspend account for signals that are pending on 2002-06-28 13:28:41 +00:00
uthread_sigwait.c Add the 'restrict' type qualifier to the prototypes of `sigaction', 2002-10-02 10:53:44 +00:00
uthread_single_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_sleep.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_socket.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_socketpair.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_spec.c Add the ability to recognize old references to keys, and return NULL 2002-03-19 22:58:56 +00:00
uthread_spinlock.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_stack.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_suspend_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
uthread_switch_np.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_system.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_tcdrain.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_vfork.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_wait4.c Make these functions cancellation points like they should be: 2002-05-02 19:58:43 +00:00
uthread_wait.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_waitpid.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
uthread_write.c Fix bogus return values from libc_r's write() routine in situations where 2002-11-05 00:59:18 +00:00
uthread_writev.c Fix bogus return values from libc_r's writev() routine in situations where 2002-11-12 19:01:49 +00:00
uthread_yield.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00