From c68d0fa2d88fc2134a38d99e7e944828384a7671 Mon Sep 17 00:00:00 2001 From: Austin Foxley Date: Sat, 17 Oct 2009 12:26:24 -0700 Subject: libpthread/nptl: core of the "Native Posix Threading Library" for uClibc targetting arm,sh,i386,mips,sparc for now Signed-off-by: Austin Foxley --- libpthread/nptl/sysdeps/unix/sysv/linux/Makefile | 13 + .../nptl/sysdeps/unix/sysv/linux/Makefile.in | 207 ++++++ .../nptl/sysdeps/unix/sysv/linux/__syscall_error.c | 18 + libpthread/nptl/sysdeps/unix/sysv/linux/accept.S | 12 + .../nptl/sysdeps/unix/sysv/linux/alpha/Makefile | 2 + .../nptl/sysdeps/unix/sysv/linux/alpha/Versions | 13 + .../sysdeps/unix/sysv/linux/alpha/bits/local_lim.h | 89 +++ .../unix/sysv/linux/alpha/bits/pthreadtypes.h | 168 +++++ .../sysdeps/unix/sysv/linux/alpha/bits/semaphore.h | 37 + .../nptl/sysdeps/unix/sysv/linux/alpha/clone.S | 2 + .../sysdeps/unix/sysv/linux/alpha/createthread.c | 23 + .../nptl/sysdeps/unix/sysv/linux/alpha/fork.c | 30 + .../sysdeps/unix/sysv/linux/alpha/lowlevellock.h | 217 ++++++ .../nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S | 43 ++ .../sysdeps/unix/sysv/linux/alpha/pthread_once.c | 96 +++ .../nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c | 5 + .../sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h | 169 +++++ .../sysdeps/unix/sysv/linux/alpha/timer_create.c | 1 + .../sysdeps/unix/sysv/linux/alpha/timer_delete.c | 1 + .../sysdeps/unix/sysv/linux/alpha/timer_getoverr.c | 1 + .../sysdeps/unix/sysv/linux/alpha/timer_gettime.c | 1 + .../sysdeps/unix/sysv/linux/alpha/timer_settime.c | 1 + .../nptl/sysdeps/unix/sysv/linux/alpha/vfork.S | 46 ++ .../nptl/sysdeps/unix/sysv/linux/arm/Makefile | 13 + .../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 56 ++ .../nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h | 137 ++++ .../unix/sysv/linux/arm/bits/pthreadtypes.h | 168 +++++ .../sysdeps/unix/sysv/linux/arm/bits/semaphore.h | 39 ++ .../nptl/sysdeps/unix/sysv/linux/arm/clone.S | 3 + .../sysdeps/unix/sysv/linux/arm/createthread.c | 24 + libpthread/nptl/sysdeps/unix/sysv/linux/arm/fork.c | 32 + .../sysdeps/unix/sysv/linux/arm/lowlevellock.c | 119 ++++ .../sysdeps/unix/sysv/linux/arm/lowlevellock.h | 340 +++++++++ .../sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c | 1 + .../unix/sysv/linux/arm/pt-__syscall_error.c | 1 + .../sysv/linux/arm/pt-__syscall_rt_sigaction.c | 1 + .../sysdeps/unix/sysv/linux/arm/pt-gettimeofday.c | 5 + .../nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S | 39 ++ .../sysdeps/unix/sysv/linux/arm/pthread_once.c | 100 +++ .../sysdeps/unix/sysv/linux/arm/sysdep-cancel.h | 154 +++++ .../nptl/sysdeps/unix/sysv/linux/arm/sysdep.h | 335 +++++++++ .../unix/sysv/linux/arm/unwind-forcedunwind.c | 130 ++++ .../sysdeps/unix/sysv/linux/arm/unwind-resume.c | 96 +++ .../nptl/sysdeps/unix/sysv/linux/arm/unwind.h | 275 ++++++++ .../nptl/sysdeps/unix/sysv/linux/arm/vfork.S | 40 ++ .../nptl/sysdeps/unix/sysv/linux/bits/local_lim.h | 89 +++ .../nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h | 178 +++++ libpthread/nptl/sysdeps/unix/sysv/linux/close.S | 21 + libpthread/nptl/sysdeps/unix/sysv/linux/connect.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/creat.S | 7 + .../nptl/sysdeps/unix/sysv/linux/createthread.c | 24 + .../nptl/sysdeps/unix/sysv/linux/exit-thread.S | 23 + libpthread/nptl/sysdeps/unix/sysv/linux/fork.c | 220 ++++++ libpthread/nptl/sysdeps/unix/sysv/linux/fork.h | 56 ++ libpthread/nptl/sysdeps/unix/sysv/linux/getpid.c | 63 ++ .../nptl/sysdeps/unix/sysv/linux/i386/Makefile | 13 + .../sysdeps/unix/sysv/linux/i386/Makefile.arch | 73 ++ .../unix/sysv/linux/i386/bits/pthreadtypes.h | 170 +++++ .../sysdeps/unix/sysv/linux/i386/bits/semaphore.h | 39 ++ .../nptl/sysdeps/unix/sysv/linux/i386/clone.S | 2 + .../sysdeps/unix/sysv/linux/i386/createthread.c | 49 ++ .../nptl/sysdeps/unix/sysv/linux/i386/fork.c | 31 + .../unix/sysv/linux/i386/i486/libc-lowlevellock.S | 30 + .../unix/sysv/linux/i386/i486/lowlevellock.S | 283 ++++++++ .../sysv/linux/i386/i486/pthread_barrier_wait.S | 162 +++++ .../sysv/linux/i386/i486/pthread_cond_broadcast.S | 161 +++++ .../sysv/linux/i386/i486/pthread_cond_signal.S | 110 +++ .../sysv/linux/i386/i486/pthread_cond_timedwait.S | 466 +++++++++++++ .../unix/sysv/linux/i386/i486/pthread_cond_wait.S | 358 ++++++++++ .../sysv/linux/i386/i486/pthread_rwlock_rdlock.S | 175 +++++ .../linux/i386/i486/pthread_rwlock_timedrdlock.S | 214 ++++++ .../linux/i386/i486/pthread_rwlock_timedwrlock.S | 207 ++++++ .../sysv/linux/i386/i486/pthread_rwlock_unlock.S | 140 ++++ .../sysv/linux/i386/i486/pthread_rwlock_wrlock.S | 165 +++++ .../sysdeps/unix/sysv/linux/i386/i486/sem_post.S | 96 +++ .../unix/sysv/linux/i386/i486/sem_timedwait.S | 193 ++++++ .../unix/sysv/linux/i386/i486/sem_trywait.S | 85 +++ .../sysdeps/unix/sysv/linux/i386/i486/sem_wait.S | 134 ++++ .../unix/sysv/linux/i386/i586/libc-lowlevellock.S | 1 + .../unix/sysv/linux/i386/i586/lowlevellock.S | 20 + .../sysv/linux/i386/i586/pthread_barrier_wait.S | 20 + .../sysv/linux/i386/i586/pthread_cond_broadcast.S | 20 + .../sysv/linux/i386/i586/pthread_cond_signal.S | 20 + .../sysv/linux/i386/i586/pthread_cond_timedwait.S | 20 + .../unix/sysv/linux/i386/i586/pthread_cond_wait.S | 20 + .../sysv/linux/i386/i586/pthread_rwlock_rdlock.S | 20 + .../linux/i386/i586/pthread_rwlock_timedrdlock.S | 20 + .../linux/i386/i586/pthread_rwlock_timedwrlock.S | 20 + .../sysv/linux/i386/i586/pthread_rwlock_unlock.S | 20 + .../sysv/linux/i386/i586/pthread_rwlock_wrlock.S | 20 + .../sysdeps/unix/sysv/linux/i386/i586/sem_post.S | 20 + .../unix/sysv/linux/i386/i586/sem_timedwait.S | 20 + .../unix/sysv/linux/i386/i586/sem_trywait.S | 20 + .../sysdeps/unix/sysv/linux/i386/i586/sem_wait.S | 20 + .../unix/sysv/linux/i386/i686/libc-lowlevellock.S | 1 + .../unix/sysv/linux/i386/i686/lowlevellock.S | 20 + .../sysv/linux/i386/i686/pthread_barrier_wait.S | 20 + .../sysv/linux/i386/i686/pthread_cond_broadcast.S | 20 + .../sysv/linux/i386/i686/pthread_cond_signal.S | 20 + .../sysv/linux/i386/i686/pthread_cond_timedwait.S | 21 + .../unix/sysv/linux/i386/i686/pthread_cond_wait.S | 20 + .../sysv/linux/i386/i686/pthread_rwlock_rdlock.S | 20 + .../linux/i386/i686/pthread_rwlock_timedrdlock.S | 20 + .../linux/i386/i686/pthread_rwlock_timedwrlock.S | 20 + .../sysv/linux/i386/i686/pthread_rwlock_unlock.S | 21 + .../sysv/linux/i386/i686/pthread_rwlock_wrlock.S | 20 + .../sysdeps/unix/sysv/linux/i386/i686/sem_post.S | 20 + .../unix/sysv/linux/i386/i686/sem_timedwait.S | 20 + .../unix/sysv/linux/i386/i686/sem_trywait.S | 20 + .../sysdeps/unix/sysv/linux/i386/i686/sem_wait.S | 20 + .../sysdeps/unix/sysv/linux/i386/lowlevellock.h | 363 ++++++++++ .../nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h | 82 +++ .../unix/sysv/linux/i386/pt-__syscall_error.c | 1 + .../nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S | 36 + .../sysdeps/unix/sysv/linux/i386/pthread_once.S | 181 +++++ .../unix/sysv/linux/i386/pthread_spin_init.c | 1 + .../unix/sysv/linux/i386/pthread_spin_unlock.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/i386/smp.h | 24 + .../sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 139 ++++ .../nptl/sysdeps/unix/sysv/linux/i386/sysdep.h | 336 +++++++++ .../nptl/sysdeps/unix/sysv/linux/i386/vfork.S | 38 + .../nptl/sysdeps/unix/sysv/linux/internaltypes.h | 153 ++++ .../nptl/sysdeps/unix/sysv/linux/jmp-unwind.c | 39 ++ .../sysdeps/unix/sysv/linux/kernel-posix-timers.h | 1 + .../sysdeps/unix/sysv/linux/libc-lowlevellock.c | 21 + .../unix/sysv/linux/libc_multiple_threads.c | 26 + .../sysdeps/unix/sysv/linux/libc_pthread_init.c | 59 ++ .../sysdeps/unix/sysv/linux/lowlevelbarrier.sym | 11 + .../nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym | 16 + .../nptl/sysdeps/unix/sysv/linux/lowlevellock.c | 131 ++++ .../sysdeps/unix/sysv/linux/lowlevelrwlock.sym | 14 + libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S | 7 + .../nptl/sysdeps/unix/sysv/linux/mips/Makefile | 13 + .../sysdeps/unix/sysv/linux/mips/Makefile.arch | 49 ++ .../unix/sysv/linux/mips/bits/pthreadtypes.h | 215 ++++++ .../sysdeps/unix/sysv/linux/mips/bits/semaphore.h | 40 ++ .../sysdeps/unix/sysv/linux/mips/createthread.c | 24 + .../nptl/sysdeps/unix/sysv/linux/mips/fork.c | 1 + .../sysdeps/unix/sysv/linux/mips/lowlevellock.h | 216 ++++++ .../sysv/linux/mips/pt-__syscall_rt_sigaction.c | 1 + .../nptl/sysdeps/unix/sysv/linux/mips/pt-clone.S | 2 + .../nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S | 38 + .../sysdeps/unix/sysv/linux/mips/pthread_once.c | 94 +++ .../sysdeps/unix/sysv/linux/mips/sysdep-cancel.h | 169 +++++ .../nptl/sysdeps/unix/sysv/linux/mips/sysdep.h | 302 ++++++++ .../nptl/sysdeps/unix/sysv/linux/mq_notify.c | 285 ++++++++ libpthread/nptl/sysdeps/unix/sysv/linux/msync.S | 7 + .../nptl/sysdeps/unix/sysv/linux/nanosleep.S | 9 + .../nptl/sysdeps/unix/sysv/linux/not-cancel.h | 60 ++ libpthread/nptl/sysdeps/unix/sysv/linux/open.S | 21 + libpthread/nptl/sysdeps/unix/sysv/linux/pause.S | 7 + .../nptl/sysdeps/unix/sysv/linux/powerpc/Makefile | 2 + .../nptl/sysdeps/unix/sysv/linux/powerpc/Versions | 5 + .../unix/sysv/linux/powerpc/bits/pthreadtypes.h | 216 ++++++ .../unix/sysv/linux/powerpc/bits/semaphore.h | 44 ++ .../sysdeps/unix/sysv/linux/powerpc/createthread.c | 25 + .../nptl/sysdeps/unix/sysv/linux/powerpc/fork.c | 1 + .../sysdeps/unix/sysv/linux/powerpc/lowlevellock.h | 241 +++++++ .../sysdeps/unix/sysv/linux/powerpc/not-cancel.h | 1 + .../unix/sysv/linux/powerpc/powerpc32/clone.S | 3 + .../unix/sysv/linux/powerpc/powerpc32/pt-vfork.S | 49 ++ .../sysv/linux/powerpc/powerpc32/sysdep-cancel.h | 132 ++++ .../unix/sysv/linux/powerpc/powerpc32/vfork.S | 57 ++ .../unix/sysv/linux/powerpc/powerpc64/Versions | 7 + .../unix/sysv/linux/powerpc/powerpc64/clone.S | 3 + .../unix/sysv/linux/powerpc/powerpc64/pt-vfork.S | 49 ++ .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 121 ++++ .../sysv/linux/powerpc/powerpc64/timer_create.c | 1 + .../sysv/linux/powerpc/powerpc64/timer_delete.c | 1 + .../sysv/linux/powerpc/powerpc64/timer_getoverr.c | 1 + .../sysv/linux/powerpc/powerpc64/timer_gettime.c | 1 + .../sysv/linux/powerpc/powerpc64/timer_settime.c | 1 + .../unix/sysv/linux/powerpc/powerpc64/vfork.S | 55 ++ .../sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c | 37 + .../sysdeps/unix/sysv/linux/powerpc/pthread_once.c | 100 +++ .../sysdeps/unix/sysv/linux/powerpc/sem_post.c | 42 ++ .../nptl/sysdeps/unix/sysv/linux/pt-accept.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S | 9 + .../nptl/sysdeps/unix/sysv/linux/pt-connect.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c | 29 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c | 2 + .../nptl/sysdeps/unix/sysv/linux/pt-llseek.c | 3 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S | 7 + .../nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c | 2 + .../nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c | 2 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S | 7 + .../nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S | 9 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S | 9 + .../nptl/sysdeps/unix/sysv/linux/pt-open64.c | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S | 7 + .../nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-raise.c | 53 ++ libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S | 9 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S | 12 + .../nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S | 12 + .../nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S | 12 + .../nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S | 12 + .../nptl/sysdeps/unix/sysv/linux/pt-sendto.S | 12 + .../nptl/sysdeps/unix/sysv/linux/pt-sigwait.c | 2 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c | 2 + .../nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c | 2 + .../nptl/sysdeps/unix/sysv/linux/pt-waitpid.c | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S | 9 + .../unix/sysv/linux/pthread_attr_getaffinity.c | 56 ++ .../unix/sysv/linux/pthread_attr_setaffinity.c | 82 +++ .../sysdeps/unix/sysv/linux/pthread_getaffinity.c | 46 ++ .../unix/sysv/linux/pthread_getcpuclockid.c | 111 +++ .../nptl/sysdeps/unix/sysv/linux/pthread_kill.c | 70 ++ .../unix/sysv/linux/pthread_mutex_cond_lock.c | 8 + .../sysdeps/unix/sysv/linux/pthread_setaffinity.c | 86 +++ .../nptl/sysdeps/unix/sysv/linux/pthread_yield.c | 30 + libpthread/nptl/sysdeps/unix/sysv/linux/raise.c | 75 ++ libpthread/nptl/sysdeps/unix/sysv/linux/read.S | 19 + libpthread/nptl/sysdeps/unix/sysv/linux/recv.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S | 12 + .../nptl/sysdeps/unix/sysv/linux/register-atfork.c | 108 +++ libpthread/nptl/sysdeps/unix/sysv/linux/sem_post.c | 41 ++ .../nptl/sysdeps/unix/sysv/linux/sem_timedwait.c | 97 +++ .../nptl/sysdeps/unix/sysv/linux/sem_trywait.c | 44 ++ libpthread/nptl/sysdeps/unix/sysv/linux/sem_wait.c | 56 ++ libpthread/nptl/sysdeps/unix/sysv/linux/send.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S | 12 + libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S | 12 + .../nptl/sysdeps/unix/sysv/linux/sh/Makefile | 13 + .../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch | 84 +++ .../sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h | 168 +++++ .../sysdeps/unix/sysv/linux/sh/bits/semaphore.h | 39 ++ libpthread/nptl/sysdeps/unix/sysv/linux/sh/clone.S | 2 + .../nptl/sysdeps/unix/sysv/linux/sh/createthread.c | 24 + libpthread/nptl/sysdeps/unix/sysv/linux/sh/fork.c | 31 + .../sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S | 19 + .../sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h | 81 +++ .../nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S | 296 ++++++++ .../nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h | 294 ++++++++ .../nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h | 83 +++ .../nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c | 143 ++++ .../nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S | 65 ++ .../unix/sysv/linux/sh/pthread_barrier_wait.S | 191 +++++ .../unix/sysv/linux/sh/pthread_cond_broadcast.S | 210 ++++++ .../unix/sysv/linux/sh/pthread_cond_signal.S | 136 ++++ .../unix/sysv/linux/sh/pthread_cond_timedwait.S | 768 +++++++++++++++++++++ .../sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S | 625 +++++++++++++++++ .../nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S | 245 +++++++ .../unix/sysv/linux/sh/pthread_rwlock_rdlock.S | 220 ++++++ .../sysv/linux/sh/pthread_rwlock_timedrdlock.S | 280 ++++++++ .../sysv/linux/sh/pthread_rwlock_timedwrlock.S | 265 +++++++ .../unix/sysv/linux/sh/pthread_rwlock_unlock.S | 169 +++++ .../unix/sysv/linux/sh/pthread_rwlock_wrlock.S | 202 ++++++ .../nptl/sysdeps/unix/sysv/linux/sh/sem_post.S | 84 +++ .../sysdeps/unix/sysv/linux/sh/sem_timedwait.S | 240 +++++++ .../nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S | 89 +++ .../nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S | 166 +++++ .../sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h | 4 + .../nptl/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h | 4 + libpthread/nptl/sysdeps/unix/sysv/linux/sh/smp.h | 24 + .../sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 247 +++++++ .../nptl/sysdeps/unix/sysv/linux/sh/sysdep.h | 224 ++++++ libpthread/nptl/sysdeps/unix/sysv/linux/sh/vfork.S | 71 ++ .../nptl/sysdeps/unix/sysv/linux/sigtimedwait.c | 88 +++ libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c | 2 + .../nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c | 88 +++ libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c | 2 + libpthread/nptl/sysdeps/unix/sysv/linux/smp.h | 52 ++ .../nptl/sysdeps/unix/sysv/linux/sparc/Makefile | 13 + .../sysdeps/unix/sysv/linux/sparc/Makefile.arch | 66 ++ .../nptl/sysdeps/unix/sysv/linux/sparc/Versions | 6 + .../sysdeps/unix/sysv/linux/sparc/bits/local_lim.h | 89 +++ .../unix/sysv/linux/sparc/bits/pthreadtypes.h | 218 ++++++ .../sysdeps/unix/sysv/linux/sparc/bits/semaphore.h | 44 ++ .../nptl/sysdeps/unix/sysv/linux/sparc/clone.S | 5 + .../nptl/sysdeps/unix/sysv/linux/sparc/fork.c | 29 + .../unix/sysv/linux/sparc/libc-lowlevellock.c | 21 + .../sysdeps/unix/sysv/linux/sparc/lowlevellock.c | 131 ++++ .../sysdeps/unix/sysv/linux/sparc/lowlevellock.h | 258 +++++++ .../nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S | 5 + .../sysdeps/unix/sysv/linux/sparc/pthread_once.c | 94 +++ .../sysdeps/unix/sysv/linux/sparc/sparc32/clone.S | 2 + .../unix/sysv/linux/sparc/sparc32/pt-vfork.S | 45 ++ .../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 105 +++ .../sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 49 ++ .../sysdeps/unix/sysv/linux/sparc/sparc64/Versions | 7 + .../sysdeps/unix/sysv/linux/sparc/sparc64/clone.S | 2 + .../unix/sysv/linux/sparc/sparc64/pt-vfork.S | 45 ++ .../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 110 +++ .../unix/sysv/linux/sparc/sparc64/timer_create.c | 1 + .../unix/sysv/linux/sparc/sparc64/timer_delete.c | 1 + .../unix/sysv/linux/sparc/sparc64/timer_getoverr.c | 1 + .../unix/sysv/linux/sparc/sparc64/timer_gettime.c | 1 + .../unix/sysv/linux/sparc/sparc64/timer_settime.c | 1 + .../sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 49 ++ .../sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h | 5 + .../nptl/sysdeps/unix/sysv/linux/sparc/sysdep.h | 65 ++ .../nptl/sysdeps/unix/sysv/linux/sparc/vfork.S | 5 + .../nptl/sysdeps/unix/sysv/linux/timer_create.c | 236 +++++++ .../nptl/sysdeps/unix/sysv/linux/timer_delete.c | 94 +++ .../nptl/sysdeps/unix/sysv/linux/timer_getoverr.c | 81 +++ .../nptl/sysdeps/unix/sysv/linux/timer_gettime.c | 83 +++ .../nptl/sysdeps/unix/sysv/linux/timer_routines.c | 164 +++++ .../nptl/sysdeps/unix/sysv/linux/timer_settime.c | 88 +++ .../sysdeps/unix/sysv/linux/unregister-atfork.c | 111 +++ .../nptl/sysdeps/unix/sysv/linux/unwindbuf.sym | 7 + libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S | 19 + libpthread/nptl/sysdeps/unix/sysv/linux/write.S | 19 + .../nptl/sysdeps/unix/sysv/linux/x86_64/Makefile | 4 + .../nptl/sysdeps/unix/sysv/linux/x86_64/Versions | 7 + .../unix/sysv/linux/x86_64/bits/pthreadtypes.h | 209 ++++++ .../unix/sysv/linux/x86_64/bits/semaphore.h | 44 ++ .../nptl/sysdeps/unix/sysv/linux/x86_64/clone.S | 2 + .../sysdeps/unix/sysv/linux/x86_64/compat-timer.h | 46 ++ .../nptl/sysdeps/unix/sysv/linux/x86_64/fork.c | 31 + .../unix/sysv/linux/x86_64/libc-lowlevellock.S | 30 + .../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 283 ++++++++ .../sysdeps/unix/sysv/linux/x86_64/lowlevellock.h | 341 +++++++++ .../sysdeps/unix/sysv/linux/x86_64/not-cancel.h | 1 + .../nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S | 33 + .../unix/sysv/linux/x86_64/pthread_barrier_wait.S | 160 +++++ .../sysv/linux/x86_64/pthread_cond_broadcast.S | 138 ++++ .../unix/sysv/linux/x86_64/pthread_cond_signal.S | 104 +++ .../sysv/linux/x86_64/pthread_cond_timedwait.S | 470 +++++++++++++ .../unix/sysv/linux/x86_64/pthread_cond_wait.S | 423 ++++++++++++ .../sysdeps/unix/sysv/linux/x86_64/pthread_once.S | 257 +++++++ .../unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S | 177 +++++ .../sysv/linux/x86_64/pthread_rwlock_timedrdlock.S | 220 ++++++ .../sysv/linux/x86_64/pthread_rwlock_timedwrlock.S | 211 ++++++ .../unix/sysv/linux/x86_64/pthread_rwlock_unlock.S | 130 ++++ .../unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S | 165 +++++ .../unix/sysv/linux/x86_64/pthread_spin_init.c | 1 + .../unix/sysv/linux/x86_64/pthread_spin_unlock.S | 1 + .../nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S | 66 ++ .../sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S | 175 +++++ .../sysdeps/unix/sysv/linux/x86_64/sem_trywait.S | 59 ++ .../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S | 120 ++++ .../sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 138 ++++ .../sysdeps/unix/sysv/linux/x86_64/timer_create.c | 28 + .../sysdeps/unix/sysv/linux/x86_64/timer_delete.c | 27 + .../unix/sysv/linux/x86_64/timer_getoverr.c | 27 + .../sysdeps/unix/sysv/linux/x86_64/timer_gettime.c | 27 + .../sysdeps/unix/sysv/linux/x86_64/timer_settime.c | 27 + .../nptl/sysdeps/unix/sysv/linux/x86_64/vfork.S | 35 + 343 files changed, 26279 insertions(+) create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/__syscall_error.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/accept.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/sem_post.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_create.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_delete.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_gettime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/timer_settime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/bits/atomic.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/nptl-aeabi_unwind_cpp_pr1.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-__syscall_error.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-__syscall_rt_sigaction.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-gettimeofday.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/close.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/connect.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/creat.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/exit-thread.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/fork.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/getpid.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_barrier_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_broadcast.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_signal.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_cond_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_rdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedrdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_timedwrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/pthread_rwlock_wrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_post.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_trywait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i586/sem_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_barrier_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_broadcast.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_signal.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_rdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedrdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_timedwrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/pthread_rwlock_wrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_post.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_trywait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/sem_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/not-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-__syscall_error.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/smp.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/i386/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/internaltypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/jmp-unwind.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/libc_multiple_threads.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/lseek.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-__syscall_rt_sigaction.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mips/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/mq_notify.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/msync.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/nanosleep.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/not-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/open.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pause.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/not-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/sem_post.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-accept.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-close.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-connect.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-fcntl.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-fsync.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-llseek.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-lseek.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgrcv.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-msgsnd.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-msync.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-nanosleep.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-open.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-open64.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-pause.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-pread_pwrite.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-raise.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-read.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-recv.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvfrom.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-recvmsg.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-send.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendmsg.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-sendto.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-sigwait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-sleep.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-tcdrain.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-wait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-waitpid.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pt-write.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_getaffinity.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_kill.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/pthread_yield.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/raise.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/read.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/recv.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/recvfrom.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/recvmsg.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/register-atfork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sem_post.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sem_trywait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sem_wait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/send.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sendmsg.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sendto.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/createthread.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/not-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/smp.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sh/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sigtimedwait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sigwait.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sigwaitinfo.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sleep.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/smp.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/libc-lowlevellock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sysdep.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_create.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_delete.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_getoverr.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_gettime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_routines.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/waitpid.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/write.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Versions create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/clone.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/compat-timer.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/not-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_init.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_spin_unlock.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_create.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_delete.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/timer_settime.c create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/vfork.S (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux') diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile new file mode 100644 index 000000000..34d647527 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile @@ -0,0 +1,13 @@ +# Makefile for uClibc NPTL +# +# Copyright (C) 2005 Steven J. Hill +# +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. +# + +top_srcdir=../../../../../../ +top_builddir=../../../../../../ +all: objs +include $(top_builddir)Rules.mak +include Makefile.in +include $(top_srcdir)Makerules diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in new file mode 100644 index 000000000..743bc20ea --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in @@ -0,0 +1,207 @@ +# Makefile for uClibc NPTL +# +# Copyright (C) 2006 Steven J. Hill +# +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. +# + +libpthread_CSRC = pthread_attr_getaffinity.c \ + pthread_attr_setaffinity.c pthread_getaffinity.c \ + pthread_getcpuclockid.c pthread_kill.c \ + pthread_mutex_cond_lock.c pthread_setaffinity.c \ + pthread_yield.c sem_post.c sem_timedwait.c \ + sem_trywait.c sem_wait.c pt-fork.c \ + sigtimedwait.c sigwaitinfo.c sigwait.c pt-sleep.c + +libpthread_SSRC = #ptw-close.S ptw-open.S ptw-waitid.S ptw-waidpid.S ptw-write.S + +libc_CSRC = libc_pthread_init.c libc_multiple_threads.c \ + register-atfork.c unregister-atfork.c getpid.c \ + raise.c sleep.c jmp-unwind.c + +# These provide both a cancellable and a not cancellable implementation +libc_SSRC = close.S open.S write.S read.S + +ifneq ($(TARGET_ARCH),arm) +libc_SSRC += waitpid.S +endif + +librt_CSRC := mq_notify.c timer_create.c timer_delete.c \ + timer_getoverr.c timer_gettime.c timer_routines.c \ + timer_settime.c + + +ifeq ($(TARGET_ARCH),alpha) +libpthread_CSRC += lowlevellock.c +libc_CSRC += libc-lowlevellock.c +librt_CSRC := mq_notify.c +endif + +ifeq ($(TARGET_ARCH),mips) +libpthread_CSRC += lowlevellock.c +libc_CSRC += libc-lowlevellock.c +endif + +ifeq ($(TARGET_ARCH),powerpc) +libpthread_CSRC += lowlevellock.c +libc_CSRC += libc-lowlevellock.c +librt_CSRC := mq_notify.c +endif + +ifeq ($(TARGET_ARCH),sparc) +libpthread_CSRC += __syscall_error.c +librt_CSRC := mq_notify.c __syscall_error.c +endif + +ifeq ($(TARGET_ARCH),sh) +SH_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c +libpthread_CSRC := $(filter-out $(SH_PTHREAD_SPECIFIC),$(libpthread_CSRC)) +endif + +ifeq ($(TARGET_ARCH),i386) +X86_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c +libpthread_CSRC := $(filter-out $(X86_PTHREAD_SPECIFIC),$(libpthread_CSRC)) +endif + + +ifeq ($(TARGET_ARCH),x86_64) +librt_CSRC := mq_notify.c +endif + +CFLAGS-pthread_getcpuclockid.c = -I$(top_srcdir)librt +CFLAGS-pt-pread_pwrite.c = -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH) \ + -I$(top_srcdir)libc/sysdeps/linux/common +CFLAGS-mq_notify.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_create.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_delete.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_getoverr.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_gettime.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_routines.c = -I$(top_srcdir)librt -DIS_IN_librt=1 +CFLAGS-timer_settime.c = -I$(top_srcdir)librt -DIS_IN_librt=1 + +CFLAGS-linux = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 $(SSP_ALL_CFLAGS) +#CFLAGS:=$(CFLAGS:-O1=-O2) + +CFLAGS-OMIT-libc_pthread_init.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-libc_multiple_threads.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-register-atfork.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-unregister-atfork.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-getpid.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-raise.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-sleep.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 + +CFLAGS-OMIT-close.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-open.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-read.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-write.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 +CFLAGS-OMIT-waitpid.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 + +CFLAGS-OMIT-mq_notify.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_create.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_delete.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_getoverr.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_gettime.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_routines.c = -DIS_IN_libpthread=1 +CFLAGS-OMIT-timer_settime.c = -DIS_IN_libpthread=1 + +PTHREAD_LINUX_DIR := $(top_srcdir)libpthread/nptl/sysdeps/unix/sysv/linux +PTHREAD_LINUX_OUT := $(top_builddir)libpthread/nptl/sysdeps/unix/sysv/linux + +PTHREAD_LINUX_OBJ := $(patsubst %.c,$(PTHREAD_LINUX_OUT)/%.o,$(libpthread_CSRC)) +PTHREAD_LINUX_OBJ += $(patsubst %.S,$(PTHREAD_LINUX_OUT)/%.o,$(libpthread_SSRC)) + +ifeq ($(DOPIC),y) +libpthread-a-y += $(PTHREAD_LINUX_OBJ:.o=.os) +else +libpthread-a-y += $(PTHREAD_LINUX_OBJ) +endif +libpthread-so-y += $(PTHREAD_LINUX_OBJ:.o=.oS) +libpthread-so-y += $(PTHREAD_LINUX_OUT)/pt-raise.oS +libpthread-nomulti-y += $(PTHREAD_LINUX_OBJ) + +ASFLAGS-open.S = -D_LIBC_REENTRANT +ASFLAGS-close.S = -D_LIBC_REENTRANT +ASFLAGS-read.S = -D_LIBC_REENTRANT +ASFLAGS-write.S = -D_LIBC_REENTRANT +ASFLAGS-waitpid.S = -D_LIBC_REENTRANT + +LIBC_LINUX_OBJ := $(patsubst %.c,$(PTHREAD_LINUX_OUT)/%.o,$(libc_CSRC)) +LIBC_LINUX_OBJ += $(patsubst %.S,$(PTHREAD_LINUX_OUT)/%.o,$(libc_SSRC)) + +libc-static-y += $(LIBC_LINUX_OBJ) +libc-shared-y += $(LIBC_LINUX_OBJ:.o=.oS) +libc-nomulti-y += $(LIBC_LINUX_OBJ) + +LIBRT_LINUX_OBJ := $(patsubst %.c,$(PTHREAD_LINUX_OUT)/%.o,$(librt_CSRC)) + +librt-a-y += $(LIBRT_LINUX_OBJ) +librt-so-y += $(LIBRT_LINUX_OBJ:.o=.oS) + +objclean-y += nptl_linux_clean +headers_clean-y += nptl_linux_headers_clean + +# +# Create header files. +# +CFLAGS-lowlevelbarrier.c = -S +CFLAGS-lowlevelcond.c = -S +CFLAGS-lowlevelrwlock.c = -S +CFLAGS-unwindbuf.c = -S + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.c: $(PTHREAD_LINUX_DIR)/lowlevelbarrier.sym + $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelcond.c: $(PTHREAD_LINUX_DIR)/lowlevelcond.sym + $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.c: $(PTHREAD_LINUX_DIR)/lowlevelrwlock.sym + $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/unwindbuf.c: $(PTHREAD_LINUX_DIR)/unwindbuf.sym + $(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.s: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelcond.s: $(PTHREAD_LINUX_OUT)/lowlevelcond.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.s: $(PTHREAD_LINUX_OUT)/lowlevelrwlock.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/unwindbuf.s: $(PTHREAD_LINUX_OUT)/unwindbuf.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.h: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.s + $(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelcond.h: $(PTHREAD_LINUX_OUT)/lowlevelcond.s + $(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.h: $(PTHREAD_LINUX_OUT)/lowlevelrwlock.s + $(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/unwindbuf.h: $(PTHREAD_LINUX_OUT)/unwindbuf.s + $(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +nptl_linux_headers: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \ + $(PTHREAD_LINUX_OUT)/lowlevelcond.h \ + $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \ + $(PTHREAD_LINUX_OUT)/unwindbuf.h + +HEADERS_BITS_PTHREAD := $(notdir $(wildcard $(PTHREAD_LINUX_DIR)/bits/*.h)) +ALL_HEADERS_BITS_PTHREAD := $(addprefix include/bits/,$(HEADERS_BITS_PTHREAD)) + +$(ALL_HEADERS_BITS_PTHREAD): + $(do_ln) ../../$(PTHREAD_LINUX_DIR)/bits/$(@F) $(top_builddir)$@ + +nptl_linux_headers_clean: + $(do_rm) $(addprefix $(PTHREAD_LINUX_OUT)/lowlevelbarrier., c h s) \ + $(addprefix $(PTHREAD_LINUX_OUT)/lowlevelcond., c h s) \ + $(addprefix $(PTHREAD_LINUX_OUT)/lowlevelrwlock., c h s) \ + $(addprefix $(PTHREAD_LINUX_OUT)/unwindbuf., c h s) + + +nptl_linux_clean: + $(do_rm) $(addprefix $(PTHREAD_LINUX_OUT)/*., o os oS) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/__syscall_error.c b/libpthread/nptl/sysdeps/unix/sysv/linux/__syscall_error.c new file mode 100644 index 000000000..5e109a83b --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/__syscall_error.c @@ -0,0 +1,18 @@ +/* Wrapper for setting errno. + * + * Copyright (C) 2000-2006 Erik Andersen + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include +#include + +/* This routine is jumped to by all the syscall handlers, to stash + * an error number into errno. */ +int __syscall_error(int err_no) attribute_hidden; +int __syscall_error(int err_no) +{ + __set_errno(err_no); + return -1; +} diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S b/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S new file mode 100644 index 000000000..529763d80 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/accept.S @@ -0,0 +1,12 @@ +#include +#ifndef __NR_accept +#error Missing definition of NR_accept needed for cancellation. +#endif +PSEUDO (__libc_accept, accept, 3) +ret +PSEUDO_END(__libc_accept) +libc_hidden_def (__libc_accept) +weak_alias (__libc_accept, __accept) +libc_hidden_weak (__accept) +weak_alias (__libc_accept, accept) +libc_hidden_weak (accept) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Makefile b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Makefile new file mode 100644 index 000000000..8c8084079 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Makefile @@ -0,0 +1,2 @@ +# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction +libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Versions b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Versions new file mode 100644 index 000000000..437c4da28 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/Versions @@ -0,0 +1,13 @@ +libpthread { + GLIBC_2.3.3 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } +} +librt { + GLIBC_2.3.3 { + # Changed timer_t. + timer_create; timer_delete; timer_getoverrun; timer_gettime; + timer_settime; + } +} diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h new file mode 100644 index 000000000..e0718780c --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h @@ -0,0 +1,89 @@ +/* Minimum guaranteed maximum values for system limits. Linux/Alpha version. + Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* The kernel header pollutes the namespace with the NR_OPEN symbol + and defines LINK_MAX although filesystems have different maxima. A + similar thing is true for OPEN_MAX: the limit can be changed at + runtime and therefore the macro must not be defined. Remove this + after including the header if necessary. */ +#ifndef NR_OPEN +# define __undef_NR_OPEN +#endif +#ifndef LINK_MAX +# define __undef_LINK_MAX +#endif +#ifndef OPEN_MAX +# define __undef_OPEN_MAX +#endif + +/* The kernel sources contain a file with all the needed information. */ +#include + +/* Have to remove NR_OPEN? */ +#ifdef __undef_NR_OPEN +# undef NR_OPEN +# undef __undef_NR_OPEN +#endif +/* Have to remove LINK_MAX? */ +#ifdef __undef_LINK_MAX +# undef LINK_MAX +# undef __undef_LINK_MAX +#endif +/* Have to remove OPEN_MAX? */ +#ifdef __undef_OPEN_MAX +# undef OPEN_MAX +# undef __undef_OPEN_MAX +#endif + +/* The number of data keys per process. */ +#define _POSIX_THREAD_KEYS_MAX 128 +/* This is the value this implementation supports. */ +#define PTHREAD_KEYS_MAX 1024 + +/* Controlling the iterations of destructors for thread-specific data. */ +#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 +/* Number of iterations this implementation does. */ +#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS + +/* The number of threads per process. */ +#define _POSIX_THREAD_THREADS_MAX 64 +/* We have no predefined limit on the number of threads. */ +#undef PTHREAD_THREADS_MAX + +/* Maximum amount by which a process can descrease its asynchronous I/O + priority level. */ +#define AIO_PRIO_DELTA_MAX 20 + +/* Minimum size for a thread. We are free to choose a reasonable value. */ +#define PTHREAD_STACK_MIN 24576 + +/* Maximum number of timer expiration overruns. */ +#define DELAYTIMER_MAX 2147483647 + +/* Maximum tty name length. */ +#define TTY_NAME_MAX 32 + +/* Maximum login name length. This is arbitrary. */ +#define LOGIN_NAME_MAX 256 + +/* Maximum host name length. */ +#define HOST_NAME_MAX 64 + +/* Maximum message queue priority level. */ +#define MQ_PRIO_MAX 32768 diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h new file mode 100644 index 000000000..0f3bf838e --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h @@ -0,0 +1,168 @@ +/* Machine-specific pthread type layouts. Alpha version. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _BITS_PTHREADTYPES_H +#define _BITS_PTHREADTYPES_H 1 + +#define __SIZEOF_PTHREAD_ATTR_T 56 +#define __SIZEOF_PTHREAD_MUTEX_T 40 +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTH