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
uthread_acl_delete_fd.c
uthread_acl_get_fd.c
uthread_acl_set_fd.c
uthread_aio_suspend.c
uthread_attr_destroy.c
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
uthread_attr_getguardsize.c
uthread_attr_getinheritsched.c
uthread_attr_getschedparam.c
uthread_attr_getschedpolicy.c
uthread_attr_getscope.c
uthread_attr_getstack.c Add pthread_attr_getstack() and pthread_attr_setstack(). 2003-02-10 08:48:04 +00:00
uthread_attr_getstackaddr.c
uthread_attr_getstacksize.c
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
uthread_attr_setdetachstate.c
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
uthread_attr_setschedparam.c
uthread_attr_setschedpolicy.c
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
uthread_attr_setstacksize.c
uthread_autoinit.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_bind.c
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
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
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
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
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
uthread_fchmod.c
uthread_fchown.c
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
uthread_find_thread.c
uthread_flock.c
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
uthread_fstat.c
uthread_fstatfs.c
uthread_fsync.c
uthread_gc.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_getdirentries.c
uthread_getpeername.c
uthread_getprio.c
uthread_getschedparam.c
uthread_getsockname.c
uthread_getsockopt.c
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
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
uthread_kill.c
uthread_listen.c
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
uthread_msync.c
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
uthread_mutex.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_mutexattr_destroy.c
uthread_nanosleep.c
uthread_once.c At initialization, override the pthread stub routines in libc 2002-11-13 18:13:26 +00:00
uthread_open.c
uthread_pause.c
uthread_pipe.c
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
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
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
uthread_setprio.c
uthread_setschedparam.c
uthread_setsockopt.c
uthread_shutdown.c
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
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
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
uthread_socket.c
uthread_socketpair.c
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
uthread_system.c
uthread_tcdrain.c
uthread_vfork.c
uthread_wait4.c Make these functions cancellation points like they should be: 2002-05-02 19:58:43 +00:00
uthread_wait.c
uthread_waitpid.c
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