From: | Joerg Sonnenberger <joerg@xxxxxxxxxxxxxxxxxxxxxxx> |
Date: | Tue, 29 Mar 2005 11:26:20 -0800 (PST) |
joerg 2005/03/29 11:26:20 PST DragonFly src repository Modified files: lib/libc/gen tls.c lib/libc/i386/gen Makefile.inc lib/libc/include libc_private.h lib/libthread_xu Makefile pthread.map lib/libthread_xu/arch/amd64/amd64 pthread_md.c lib/libthread_xu/arch/amd64/include pthread_md.h lib/libthread_xu/arch/i386/i386 pthread_md.c lib/libthread_xu/arch/i386/include pthread_md.h lib/libthread_xu/sys thr_error.c lib/libthread_xu/thread thr_attr.c thr_barrier.c thr_cancel.c thr_clean.c thr_cond.c thr_create.c thr_detach.c thr_exit.c thr_fork.c thr_getschedparam.c thr_info.c thr_init.c thr_join.c thr_kill.c thr_list.c thr_mutex.c thr_private.h thr_pspinlock.c thr_resume_np.c thr_rtld.c thr_rwlock.c thr_self.c thr_sem.c thr_setschedparam.c thr_sig.c thr_spec.c thr_spinlock.c thr_stack.c thr_suspend_np.c thr_symbols.c thr_syscalls.c libexec/rtld-elf rtld.c libexec/rtld-elf/i386 reloc.c sys/sys tls.h Added files: sys/i386/include tls.h Removed files: lib/libc/i386/gen _set_tp.c libexec/rtld-elf rtld_tls.h Log: Cleanup the TLS implementation: - Define the TCB layout in machine/tls.h, define wether tcb_self exists or not. - Define the layout of the DTV, not used yet. - Define the TLS variant - Define common access functions (tls_get_tcb, tls_get_curthread, tls_set_tcb) and the RTLD functions. Revision Changes Path 1.5 +14 -14 src/lib/libc/gen/tls.c 1.4 +1 -1 src/lib/libc/i386/gen/Makefile.inc 1.5 +0 -5 src/lib/libc/include/libc_private.h 1.2 +0 -2 src/lib/libthread_xu/Makefile 1.2 +0 -1 src/lib/libthread_xu/pthread.map 1.3 +6 -8 src/lib/libthread_xu/arch/amd64/amd64/pthread_md.c 1.4 +4 -64 src/lib/libthread_xu/arch/amd64/include/pthread_md.h 1.6 +11 -22 src/lib/libthread_xu/arch/i386/i386/pthread_md.c 1.5 +3 -59 src/lib/libthread_xu/arch/i386/include/pthread_md.h 1.2 +3 -2 src/lib/libthread_xu/sys/thr_error.c 1.3 +3 -1 src/lib/libthread_xu/thread/thr_attr.c 1.4 +3 -1 src/lib/libthread_xu/thread/thr_barrier.c 1.2 +6 -4 src/lib/libthread_xu/thread/thr_cancel.c 1.2 +5 -2 src/lib/libthread_xu/thread/thr_clean.c 1.4 +6 -4 src/lib/libthread_xu/thread/thr_cond.c 1.3 +4 -2 src/lib/libthread_xu/thread/thr_create.c 1.2 +3 -1 src/lib/libthread_xu/thread/thr_detach.c 1.2 +5 -2 src/lib/libthread_xu/thread/thr_exit.c 1.3 +5 -2 src/lib/libthread_xu/thread/thr_fork.c 1.2 +4 -1 src/lib/libthread_xu/thread/thr_getschedparam.c 1.2 +4 -1 src/lib/libthread_xu/thread/thr_info.c 1.3 +3 -1 src/lib/libthread_xu/thread/thr_init.c 1.3 +5 -2 src/lib/libthread_xu/thread/thr_join.c 1.2 +4 -1 src/lib/libthread_xu/thread/thr_kill.c 1.3 +1 -1 src/lib/libthread_xu/thread/thr_list.c 1.3 +12 -9 src/lib/libthread_xu/thread/thr_mutex.c 1.3 +1 -1 src/lib/libthread_xu/thread/thr_private.h 1.2 +5 -3 src/lib/libthread_xu/thread/thr_pspinlock.c 1.2 +5 -2 src/lib/libthread_xu/thread/thr_resume_np.c 1.2 +4 -3 src/lib/libthread_xu/thread/thr_rtld.c 1.2 +9 -7 src/lib/libthread_xu/thread/thr_rwlock.c 1.2 +4 -1 src/lib/libthread_xu/thread/thr_self.c 1.3 +5 -2 src/lib/libthread_xu/thread/thr_sem.c 1.2 +4 -1 src/lib/libthread_xu/thread/thr_setschedparam.c 1.4 +7 -5 src/lib/libthread_xu/thread/thr_sig.c 1.2 +8 -5 src/lib/libthread_xu/thread/thr_spec.c 1.2 +12 -4 src/lib/libthread_xu/thread/thr_spinlock.c 1.3 +4 -1 src/lib/libthread_xu/thread/thr_stack.c 1.2 +5 -3 src/lib/libthread_xu/thread/thr_suspend_np.c 1.2 +0 -1 src/lib/libthread_xu/thread/thr_symbols.c 1.3 +32 -30 src/lib/libthread_xu/thread/thr_syscalls.c 1.20 +13 -18 src/libexec/rtld-elf/rtld.c 1.6 +7 -9 src/libexec/rtld-elf/i386/reloc.c 1.6 +28 -17 src/sys/sys/tls.h http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/tls.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/i386/gen/Makefile.inc.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc/include/libc_private.h.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/Makefile.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/pthread.map.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/arch/amd64/amd64/pthread_md.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/arch/amd64/include/pthread_md.h.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/arch/i386/i386/pthread_md.c.diff?r1=1.5&r2=1.6&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/arch/i386/include/pthread_md.h.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/sys/thr_error.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_attr.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_barrier.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_cancel.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_clean.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_cond.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_create.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_detach.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_exit.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_fork.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_getschedparam.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_info.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_init.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_join.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_kill.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_list.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_mutex.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_private.h.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_pspinlock.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_resume_np.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_rtld.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_rwlock.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_self.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_sem.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_setschedparam.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_sig.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_spec.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_spinlock.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_stack.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_suspend_np.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_symbols.c.diff?r1=1.1&r2=1.2&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libthread_xu/thread/thr_syscalls.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/libexec/rtld-elf/rtld.c.diff?r1=1.19&r2=1.20&f=u http://www.dragonflybsd.org/cvsweb/src/libexec/rtld-elf/i386/reloc.c.diff?r1=1.5&r2=1.6&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/tls.h.diff?r1=1.5&r2=1.6&f=u