From cccc549ced940c85039c8ce263c8bb571f244afd Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 31 Jan 2006 05:05:15 +0000 Subject: initial import of latest linuxthreads --- .../linuxthreads/sysdeps/unix/sysv/CVS/Entries | 1 + .../linuxthreads/sysdeps/unix/sysv/CVS/Repository | 1 + libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/.cvsignore | 2 + .../sysdeps/unix/sysv/linux/CVS/Entries | 28 ++ .../sysdeps/unix/sysv/linux/CVS/Entries.Log | 2 + .../sysdeps/unix/sysv/linux/CVS/Repository | 1 + .../linuxthreads/sysdeps/unix/sysv/linux/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/allocalim.h | 26 ++ .../sysdeps/unix/sysv/linux/allocrtsig.c | 87 +++++++ .../sysdeps/unix/sysv/linux/alpha/CVS/Entries | 7 + .../sysdeps/unix/sysv/linux/alpha/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/alpha/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/alpha/aio_cancel.c | 33 +++ .../sysdeps/unix/sysv/linux/alpha/bits/CVS/Entries | 3 + .../unix/sysv/linux/alpha/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/alpha/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/alpha/bits/local_lim.h | 92 +++++++ .../sysdeps/unix/sysv/linux/alpha/bits/typesizes.h | 66 +++++ .../sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S | 28 ++ .../sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h | 146 +++++++++++ .../sysdeps/unix/sysv/linux/alpha/vfork.S | 70 +++++ .../sysdeps/unix/sysv/linux/bits/CVS/Entries | 4 + .../sysdeps/unix/sysv/linux/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/bits/local_lim.h | 92 +++++++ .../sysdeps/unix/sysv/linux/bits/posix_opt.h | 181 +++++++++++++ .../sysdeps/unix/sysv/linux/bits/sigthread.h | 38 +++ .../linuxthreads/sysdeps/unix/sysv/linux/execve.c | 73 ++++++ .../linuxthreads/sysdeps/unix/sysv/linux/fork.c | 30 +++ .../linuxthreads/sysdeps/unix/sysv/linux/fork.h | 59 +++++ .../sysdeps/unix/sysv/linux/hppa/CVS/Entries | 5 + .../sysdeps/unix/sysv/linux/hppa/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/hppa/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/hppa/aio_cancel.c | 33 +++ .../sysdeps/unix/sysv/linux/hppa/bits/CVS/Entries | 2 + .../unix/sysv/linux/hppa/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/hppa/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/hppa/bits/initspin.h | 27 ++ .../sysdeps/unix/sysv/linux/hppa/malloc-machine.h | 73 ++++++ .../sysdeps/unix/sysv/linux/hppa/pt-initfini.c | 109 ++++++++ .../sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h | 189 ++++++++++++++ .../sysdeps/unix/sysv/linux/i386/CVS/Entries | 4 + .../sysdeps/unix/sysv/linux/i386/CVS/Entries.Log | 2 + .../sysdeps/unix/sysv/linux/i386/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/i386/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 188 ++++++++++++++ .../sysdeps/unix/sysv/linux/i386/vfork.S | 95 +++++++ .../sysdeps/unix/sysv/linux/ia64/CVS/Entries | 9 + .../sysdeps/unix/sysv/linux/ia64/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/ia64/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/ia64/bits/CVS/Entries | 2 + .../unix/sysv/linux/ia64/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/ia64/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/ia64/bits/local_lim.h | 92 +++++++ .../sysdeps/unix/sysv/linux/ia64/fork.h | 25 ++ .../sysdeps/unix/sysv/linux/ia64/pt-initfini.c | 142 ++++++++++ .../sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c | 33 +++ .../sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h | 144 +++++++++++ .../sysdeps/unix/sysv/linux/ia64/vfork.S | 54 ++++ .../sysdeps/unix/sysv/linux/jmp-unwind.c | 34 +++ .../sysdeps/unix/sysv/linux/m68k/CVS/Entries | 3 + .../sysdeps/unix/sysv/linux/m68k/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/m68k/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h | 129 +++++++++ .../sysdeps/unix/sysv/linux/m68k/vfork.S | 84 ++++++ .../sysdeps/unix/sysv/linux/mips/CVS/Entries | 4 + .../sysdeps/unix/sysv/linux/mips/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/mips/CVS/Root | 1 + .../unix/sysv/linux/mips/mips64/CVS/Entries | 2 + .../unix/sysv/linux/mips/mips64/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/mips/mips64/CVS/Root | 1 + .../unix/sysv/linux/mips/mips64/sysdep-cancel.h | 144 +++++++++++ .../sysdeps/unix/sysv/linux/mips/sysdep-cancel.h | 143 ++++++++++ .../sysdeps/unix/sysv/linux/mips/vfork.S | 104 ++++++++ .../sysdeps/unix/sysv/linux/mq_notify.c | 287 +++++++++++++++++++++ .../sysdeps/unix/sysv/linux/powerpc/CVS/Entries | 5 + .../sysdeps/unix/sysv/linux/powerpc/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/powerpc/CVS/Root | 1 + .../unix/sysv/linux/powerpc/powerpc32/CVS/Entries | 3 + .../sysv/linux/powerpc/powerpc32/CVS/Repository | 1 + .../unix/sysv/linux/powerpc/powerpc32/CVS/Root | 1 + .../sysv/linux/powerpc/powerpc32/sysdep-cancel.h | 159 ++++++++++++ .../unix/sysv/linux/powerpc/powerpc32/vfork.S | 86 ++++++ .../unix/sysv/linux/powerpc/powerpc64/CVS/Entries | 3 + .../sysv/linux/powerpc/powerpc64/CVS/Repository | 1 + .../unix/sysv/linux/powerpc/powerpc64/CVS/Root | 1 + .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 127 +++++++++ .../unix/sysv/linux/powerpc/powerpc64/vfork.S | 91 +++++++ .../sysdeps/unix/sysv/linux/powerpc/ptlongjmp.c | 70 +++++ .../sysdeps/unix/sysv/linux/pt-sigsuspend.c | 34 +++ .../linuxthreads/sysdeps/unix/sysv/linux/raise.c | 43 +++ .../sysdeps/unix/sysv/linux/register-atfork.c | 87 +++++++ .../sysdeps/unix/sysv/linux/s390/CVS/Entries | 3 + .../sysdeps/unix/sysv/linux/s390/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/s390/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/s390/bits/CVS/Entries | 2 + .../unix/sysv/linux/s390/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/s390/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 72 ++++++ .../unix/sysv/linux/s390/s390-32/CVS/Entries | 4 + .../unix/sysv/linux/s390/s390-32/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/s390/s390-32/CVS/Root | 1 + .../unix/sysv/linux/s390/s390-32/pt-initfini.c | 154 +++++++++++ .../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 137 ++++++++++ .../sysdeps/unix/sysv/linux/s390/s390-32/vfork.S | 69 +++++ .../unix/sysv/linux/s390/s390-64/CVS/Entries | 5 + .../unix/sysv/linux/s390/s390-64/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/s390/s390-64/CVS/Root | 1 + .../unix/sysv/linux/s390/s390-64/pt-initfini.c | 137 ++++++++++ .../unix/sysv/linux/s390/s390-64/pt-sigsuspend.c | 1 + .../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 116 +++++++++ .../sysdeps/unix/sysv/linux/s390/s390-64/vfork.S | 54 ++++ .../sysdeps/unix/sysv/linux/sh/CVS/Entries | 5 + .../sysdeps/unix/sysv/linux/sh/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/sh/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/sh/pt-initfini.c | 143 ++++++++++ .../linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h | 24 ++ .../sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 227 ++++++++++++++++ .../sysdeps/unix/sysv/linux/sh/vfork.S | 77 ++++++ .../linuxthreads/sysdeps/unix/sysv/linux/sigwait.c | 88 +++++++ .../linuxthreads/sysdeps/unix/sysv/linux/smp.h | 48 ++++ .../sysdeps/unix/sysv/linux/sparc/CVS/Entries | 6 + .../sysdeps/unix/sysv/linux/sparc/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/sparc/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/sparc/aio_cancel.c | 33 +++ .../sysdeps/unix/sysv/linux/sparc/bits/CVS/Entries | 3 + .../unix/sysv/linux/sparc/bits/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/sparc/bits/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/sparc/bits/local_lim.h | 92 +++++++ .../sysdeps/unix/sysv/linux/sparc/bits/typesizes.h | 66 +++++ .../sysdeps/unix/sysv/linux/sparc/fork.h | 34 +++ .../unix/sysv/linux/sparc/sparc32/CVS/Entries | 3 + .../unix/sysv/linux/sparc/sparc32/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/sparc/sparc32/CVS/Root | 1 + .../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 102 ++++++++ .../sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S | 65 +++++ .../unix/sysv/linux/sparc/sparc64/CVS/Entries | 5 + .../unix/sysv/linux/sparc/sparc64/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/sparc/sparc64/CVS/Root | 1 + .../unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c | 1 + .../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 101 ++++++++ .../sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 64 +++++ .../sysdeps/unix/sysv/linux/unregister-atfork.c | 49 ++++ .../sysdeps/unix/sysv/linux/x86_64/CVS/Entries | 5 + .../sysdeps/unix/sysv/linux/x86_64/CVS/Entries.Log | 2 + .../sysdeps/unix/sysv/linux/x86_64/CVS/Repository | 1 + .../sysdeps/unix/sysv/linux/x86_64/CVS/Root | 1 + .../sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c | 1 + .../sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 132 ++++++++++ .../sysdeps/unix/sysv/linux/x86_64/vfork.S | 62 +++++ 151 files changed, 6182 insertions(+) create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/.cvsignore create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries.Log create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/execve.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/aio_cancel.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/pt-initfini.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/CVS/Entries.Log create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/fork.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/ia64/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/jmp-unwind.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/mq_notify.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/powerpc/ptlongjmp.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/raise.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/register-atfork.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sigwait.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/smp.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/aio_cancel.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/unregister-atfork.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/CVS/Entries create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/CVS/Entries.Log create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/CVS/Repository create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/CVS/Root create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h create mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/x86_64/vfork.S (limited to 'libpthread/linuxthreads/sysdeps/unix/sysv') diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Entries b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Entries new file mode 100644 index 000000000..dd6a4a550 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Entries @@ -0,0 +1 @@ +D/linux//// diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Repository b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Repository new file mode 100644 index 000000000..fcc2f6785 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Repository @@ -0,0 +1 @@ +ports/linuxthreads/sysdeps/unix/sysv diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Root b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Root new file mode 100644 index 000000000..ca45c5d4d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/CVS/Root @@ -0,0 +1 @@ +:pserver:anoncvs@sources.redhat.com:/cvs/glibc diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/.cvsignore b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/.cvsignore new file mode 100644 index 000000000..7ee8f5969 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/.cvsignore @@ -0,0 +1,2 @@ +.cvsignore +*.os diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries new file mode 100644 index 000000000..5ae54c5f8 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries @@ -0,0 +1,28 @@ +D/alpha//// +D/bits//// +D/hppa//// +D/i386//// +D/ia64//// +D/m68k//// +D/mips//// +D/powerpc//// +D/s390//// +D/sh//// +D/sparc//// +D/x86_64//// +/Implies/1.1/Tue Nov 15 14:20:47 2005// +/Makefile/1.1/Tue Nov 15 14:20:47 2005// +/Versions/1.1/Tue Nov 15 14:20:47 2005// +/allocalim.h/1.1/Tue Nov 15 14:20:47 2005// +/execve.c/1.1/Tue Nov 15 14:20:47 2005// +/fork.c/1.4/Tue Nov 15 14:20:47 2005// +/fork.h/1.2/Tue Nov 15 14:20:47 2005// +/jmp-unwind.c/1.2/Tue Nov 15 14:20:47 2005// +/raise.c/1.2/Tue Nov 15 14:20:47 2005// +/register-atfork.c/1.2/Tue Nov 15 14:20:47 2005// +/sigwait.c/1.3/Tue Nov 15 14:20:47 2005// +/smp.h/1.1/Tue Nov 15 14:20:47 2005// +/unregister-atfork.c/1.1/Tue Nov 15 14:20:47 2005// +/allocrtsig.c/1.2/Wed Nov 30 19:58:15 2005// +/mq_notify.c/1.4/Thu Dec 29 06:43:12 2005// +/pt-sigsuspend.c/1.2/Result of merge// diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries.Log b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries.Log new file mode 100644 index 000000000..aff752ae2 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Entries.Log @@ -0,0 +1,2 @@ +A D/arm//// +R D/arm//// diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Repository b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Repository new file mode 100644 index 000000000..c299f47ca --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Repository @@ -0,0 +1 @@ +ports/linuxthreads/sysdeps/unix/sysv/linux diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Root b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Root new file mode 100644 index 000000000..ca45c5d4d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/CVS/Root @@ -0,0 +1 @@ +:pserver:anoncvs@sources.redhat.com:/cvs/glibc diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h new file mode 100644 index 000000000..f62f7d6e9 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h @@ -0,0 +1,26 @@ +/* Determine whether block of given size can be allocated on the stack or not. + Copyright (C) 2002 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. */ + +#include + +extern inline int __libc_use_alloca (size_t size) +{ + return (__builtin_expect (size <= PTHREAD_STACK_MIN / 4, 1) + || __libc_alloca_cutoff (size)); +} diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c new file mode 100644 index 000000000..af1581a4c --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c @@ -0,0 +1,87 @@ +/* Handle real-time signal allocation. + Copyright (C) 1997,98,99,2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997. + + 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. */ + +#include + +/* Sanity check. */ +#if !defined __SIGRTMIN || (__SIGRTMAX - __SIGRTMIN) < 3 +# error "This must not happen" +#endif + +static int current_rtmin; +static int current_rtmax; + +static int initialized; + +#include + +static void +init (void) +{ + if (!kernel_has_rtsig ()) + { + current_rtmin = -1; + current_rtmax = -1; + } + else + { + current_rtmin = __SIGRTMIN + 3; + current_rtmax = __SIGRTMAX; + } + initialized = 1; +} + +/* Return number of available real-time signal with highest priority. */ +int +__libc_current_sigrtmin (void) +{ + if (!initialized) + init (); + return current_rtmin; +} +strong_alias (__libc_current_sigrtmin, __libc_current_sigrtmin_private); +libc_hidden_def (__libc_current_sigrtmin) + +/* Return number of available real-time signal with lowest priority. */ +int +__libc_current_sigrtmax (void) +{ + if (!initialized) + init (); + return current_rtmax; +} +strong_alias (__libc_current_sigrtmax, __libc_current_sigrtmax_private); +libc_hidden_def (__libc_current_sigrtmax) + +/* Allocate real-time signal with highest/lowest available + priority. Please note that we don't use a lock since we assume + this function to be called at program start. */ +int +__libc_allocate_rtsig (int high) +{ + if (!initialized) + init (); + if (current_rtmin == -1 || current_rtmin > current_rtmax) + /* We don't have anymore signal available. */ + return -1; + + return high ? current_rtmin++ : current_rtmax--; +} +strong_alias (__libc_allocate_rtsig, __libc_allocate_rtsig_private); diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Entries b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Entries new file mode 100644 index 000000000..9db0d5533 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Entries @@ -0,0 +1,7 @@ +D/bits//// +/Makefile/1.2/Tue Nov 15 14:20:47 2005// +/Versions/1.1/Tue Nov 15 14:20:47 2005// +/aio_cancel.c/1.1/Tue Nov 15 14:20:47 2005// +/pt-sigsuspend.S/1.1/Tue Nov 15 14:20:47 2005// +/sysdep-cancel.h/1.4/Tue Nov 15 14:20:47 2005// +/vfork.S/1.6/Tue Nov 15 14:20:47 2005// diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Repository b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Repository new file mode 100644 index 000000000..ea3d8bd8f --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Repository @@ -0,0 +1 @@ +ports/linuxthreads/sysdeps/unix/sysv/linux/alpha diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Root b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Root new file mode 100644 index 000000000..ca45c5d4d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/CVS/Root @@ -0,0 +1 @@ +:pserver:anoncvs@sources.redhat.com:/cvs/glibc diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c new file mode 100644 index 000000000..0d6da8291 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c @@ -0,0 +1,33 @@ +#include + +#define aio_cancel64 XXX +#include +#undef aio_cancel64 +#include + +extern __typeof (aio_cancel) __new_aio_cancel; +extern __typeof (aio_cancel) __old_aio_cancel; + +#define aio_cancel __new_aio_cancel + +#include + +#undef aio_cancel +strong_alias (__new_aio_cancel, __new_aio_cancel64); +versioned_symbol (librt, __new_aio_cancel, aio_cancel, GLIBC_2_3); +versioned_symbol (librt, __new_aio_cancel64, aio_cancel64, GLIBC_2_3); + +#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_3) + +#undef ECANCELED +#define aio_cancel __old_aio_cancel +#define ECANCELED 125 + +#include + +#undef aio_cancel +strong_alias (__old_aio_cancel, __old_aio_cancel64); +compat_symbol (librt, __old_aio_cancel, aio_cancel, GLIBC_2_1); +compat_symbol (librt, __old_aio_cancel64, aio_cancel64, GLIBC_2_1); + +#endif diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Entries b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Entries new file mode 100644 index 000000000..1a6c861b9 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Entries @@ -0,0 +1,3 @@ +/local_lim.h/1.3/Tue Nov 15 14:20:47 2005// +/typesizes.h/1.2/Tue Nov 15 14:20:47 2005// +D diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Repository b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Repository new file mode 100644 index 000000000..c9cb0b5a8 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Repository @@ -0,0 +1 @@ +ports/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Root b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Root new file mode 100644 index 000000000..ca45c5d4d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/CVS/Root @@ -0,0 +1 @@ +:pserver:anoncvs@sources.redhat.com:/cvs/glibc diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h new file mode 100644 index 000000000..96893c59d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h @@ -0,0 +1,92 @@ +/* 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 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; 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 +/* This is the value this implementation supports. */ +#define PTHREAD_THREADS_MAX 16384 + +/* 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 POSIX timers available. */ +#define TIMER_MAX 256 + +/* 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/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h new file mode 100644 index 000000000..a2724885e --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h @@ -0,0 +1,66 @@ +/* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version. + Copyright (C) 2002, 2003 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_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __U64_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __U32_TYPE +#define __INO64_T_TYPE __U64_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __U32_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __S64_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __U64_TYPE +#define __BLKCNT_T_TYPE __U32_TYPE +#define __BLKCNT64_T_TYPE __U64_TYPE +#define __FSBLKCNT_T_TYPE __S32_TYPE +#define __FSBLKCNT64_T_TYPE __S64_TYPE +#define __FSFILCNT_T_TYPE __U32_TYPE +#define __FSFILCNT64_T_TYPE __U64_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __S64_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __SWBLK_T_TYPE __SLONGWORD_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE __S32_TYPE +#define __BLKSIZE_T_TYPE __U32_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S new file mode 100644 index 000000000..91e5c8678 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S @@ -0,0 +1,28 @@ +/* Internal sigsuspend system call for LinuxThreads. Alpha version. + Copyright (C) 2003 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. */ + +#include + +#undef PSEUDO_PREPARE_ARGS +#define PSEUDO_PREPARE_ARGS ldq a0, 0(a0); + + .hidden __pthread_sigsuspend +PSEUDO_NOERRNO(__pthread_sigsuspend, sigsuspend, 1) + ret +PSEUDO_END_NOERRNO(__pthread_sigsuspend) diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h new file mode 100644 index 000000000..9ea779e0d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h @@ -0,0 +1,146 @@ +/* Copyright (C) 2003 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. */ + +#include +#ifndef __ASSEMBLER__ +# include +#endif + +#if !defined NOT_IN_libc || defined IS_IN_libpthread + +# ifdef PROF +# define PSEUDO_PROF \ + .set noat; \ + lda AT, _mcount; \ + jsr AT, (AT), _mcount; \ + .set at +# else +# define PSEUDO_PROF +# endif + +/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END + besides "ret". */ + +# undef PSEUDO +# define PSEUDO(name, syscall_name, args) \ + .globl name; \ + .align 4; \ + .type name, @function; \ + .usepv name, std; \ + cfi_startproc; \ +__LABEL(name) \ + ldgp gp, 0(pv); \ + PSEUDO_PROF; \ + PSEUDO_PREPARE_ARGS \ + SINGLE_THREAD_P(t0); \ + bne t0, $pseudo_cancel; \ + lda v0, SYS_ify(syscall_name); \ + call_pal PAL_callsys; \ + bne a3, SYSCALL_ERROR_LABEL; \ +__LABEL($pseudo_ret) \ + .subsection 2; \ +__LABEL($pseudo_cancel) \ + subq sp, 64, sp; \ + cfi_def_cfa_offset(64); \ + stq ra, 0(sp); \ + cfi_offset(ra, -64); \ + SAVE_ARGS_##args; \ + CENABLE; \ + LOAD_ARGS_##args; \ + lda v0, SYS_ify(syscall_name); \ + call_pal PAL_callsys; \ + stq v0, 8(sp); \ + bne a3, $multi_error; \ + CDISABLE; \ + ldq ra, 0(sp); \ + ldq v0, 8(sp); \ + addq sp, 64, sp; \ + cfi_remember_state; \ + cfi_restore(ra); \ + cfi_def_cfa_offset(0); \ + ret; \ + cfi_restore_state; \ +__LABEL($multi_error) \ + CDISABLE; \ + ldq ra, 0(sp); \ + ldq v0, 8(sp); \ + addq sp, 64, sp; \ + cfi_restore(ra); \ + cfi_def_cfa_offset(0); \ +__LABEL($syscall_error) \ + SYSCALL_ERROR_HANDLER; \ + .previous + +# undef PSEUDO_END +# define PSEUDO_END(sym) \ + .subsection 2; \ + cfi_endproc; \ + .size sym, .-sym + +# define SAVE_ARGS_0 /* Nothing. */ +# define SAVE_ARGS_1 SAVE_ARGS_0; stq a0, 8(sp) +# define SAVE_ARGS_2 SAVE_ARGS_1; stq a1, 16(sp) +# define SAVE_ARGS_3 SAVE_ARGS_2; stq a2, 24(sp) +# define SAVE_ARGS_4 SAVE_ARGS_3; stq a3, 32(sp) +# define SAVE_ARGS_5 SAVE_ARGS_4; stq a4, 40(sp) +# define SAVE_ARGS_6 SAVE_ARGS_5; stq a5, 48(sp) + +# define LOAD_ARGS_0 /* Nothing. */ +# define LOAD_ARGS_1 LOAD_ARGS_0; ldq a0, 8(sp) +# define LOAD_ARGS_2 LOAD_ARGS_1; ldq a1, 16(sp) +# define LOAD_ARGS_3 LOAD_ARGS_2; ldq a2, 24(sp) +# define LOAD_ARGS_4 LOAD_ARGS_3; ldq a3, 32(sp) +# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp) +# define LOAD_ARGS_6 LOAD_ARGS_5; ldq a5, 48(sp) + +# ifdef IS_IN_libpthread +# define __local_enable_asynccancel __pthread_enable_asynccancel +# define __local_disable_asynccancel __pthread_disable_asynccancel +# define __local_multiple_threads __pthread_multiple_threads +# else +# define __local_enable_asynccancel __libc_enable_asynccancel +# define __local_disable_asynccancel __libc_disable_asynccancel +# define __local_multiple_threads __libc_multiple_threads +# endif + +# ifdef PIC +# define CENABLE bsr ra, __local_enable_asynccancel !samegp +# define CDISABLE bsr ra, __local_disable_asynccancel !samegp +# else +# define CENABLE jsr ra, __local_enable_asynccancel; ldgp ra, 0(gp) +# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp) +# endif + +# ifndef __ASSEMBLER__ +extern int __local_multiple_threads attribute_hidden; +# define SINGLE_THREAD_P \ + __builtin_expect (__local_multiple_threads == 0, 1) +# elif defined(PIC) +# define SINGLE_THREAD_P(reg) ldl reg, __local_multiple_threads(gp) !gprel +# else +# define SINGLE_THREAD_P(reg) \ + ldah reg, __local_multiple_threads(gp) !gprelhigh; \ + ldl reg, __local_multiple_threads(reg) !gprellow +# endif + +#elif !defined __ASSEMBLER__ + +/* This code should never be used but we define it anyhow. */ +# define SINGLE_THREAD_P (1) + +#endif diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S new file mode 100644 index 000000000..cfaae1060 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S @@ -0,0 +1,70 @@ +/* Copyright (C) 2003 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. */ + + +#include + + .align 4 + .globl __vfork + .type __vfork, @function + .usepv __vfork, std + cfi_startproc +__vfork: + ldgp gp, 0(pv) + PSEUDO_PROF + +#ifdef SHARED + ldq t0, __libc_pthread_functions(gp) !gprel + bne t0, HIDDEN_JUMPTARGET (__fork) !samegp +#else + .weak pthread_create + ldq t0, pthread_create(gp) !literal + bne t0, $do_fork +#endif + + lda v0, SYS_ify(vfork) + call_pal PAL_callsys + bne a3, SYSCALL_ERROR_LABEL + ret + +#ifndef SHARED + /* Can't tail-call due to possible mismatch between GP in + fork and vfork object files. */ +$do_fork: + subq sp, 16, sp + cfi_adjust_cfa_offset(16) + stq ra, 0(sp) + cfi_offset(ra, -16) + jsr ra, HIDDEN_JUMPTARGET (__fork) + ldgp gp, 0(ra) + ldq ra, 0(sp) + addq sp, 16, sp + cfi_restore(ra) + cfi_adjust_cfa_offset(-16) + ret + +$syscall_error: + SYSCALL_ERROR_HANDLER +#endif + + cfi_endproc + .size __vfork, .-__vfork + +libc_hidden_def (__vfork) + +weak_alias (__vfork, vfork) diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Entries b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Entries new file mode 100644 index 000000000..ec4c843f6 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Entries @@ -0,0 +1,4 @@ +/local_lim.h/1.11/Tue Nov 15 14:20:47 2005// +/posix_opt.h/1.21/Tue Nov 15 14:20:47 2005// +/sigthread.h/1.7/Tue Nov 15 14:20:47 2005// +D diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Repository b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Repository new file mode 100644 index 000000000..48f9f86f3 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Repository @@ -0,0 +1 @@ +ports/linuxthreads/sysdeps/unix/sysv/linux/bits diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Root b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Root new file mode 100644 index 000000000..ca45c5d4d --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/CVS/Root @@ -0,0 +1 @@ +:pserver:anoncvs@sources.redhat.com:/cvs/glibc diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h new file mode 100644 index 000000000..ed6c3c589 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h @@ -0,0 +1,92 @@ +/* Minimum guaranteed maximum values for system limits. Linux 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 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; 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 +/* This is the value this implementation supports. */ +#define PTHREAD_THREADS_MAX 16384 + +/* 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 16384 + +/* Maximum number of POSIX timers available. */ +#define TIMER_MAX 256 + +/* 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/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h new file mode 100644 index 000000000..71b7e7464 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h @@ -0,0 +1,181 @@ +/* Define POSIX options for Linux. + Copyright (C) 1996-2001, 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 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; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _POSIX_OPT_H +#define _POSIX_OPT_H 1 + +/* Job control is supported. */ +#define _POSIX_JOB_CONTROL 1 + +/* Processes have a saved set-user-ID and a saved set-group-ID. */ +#define _POSIX_SAVED_IDS 1 + +/* Priority scheduling is supported. */ +#define _POSIX_PRIORITY_SCHEDULING 200112L + +/* Synchronizing file data is supported. */ +#define _POSIX_SYNCHRONIZED_IO 200112L + +/* The fsync function is present. */ +#define _POSIX_FSYNC 200112L + +/* Mapping of files to memory is supported. */ +#define _POSIX_MAPPED_FILES 200112L + +/* Locking of all memory is supported. */ +#define _POSIX_MEMLOCK 200112L + +/* Locking of ranges of memory is supported. */ +#define _POSIX_MEMLOCK_RANGE 200112L + +/* Setting of memory protections is supported. */ +#define _POSIX_MEMORY_PROTECTION 200112L + +/* Only root can change owner of file. */ +#define _POSIX_CHOWN_RESTRICTED 1 + +/* `c_cc' member of 'struct termios' structure can be disabled by + using the value _POSIX_VDISABLE. */ +#define _POSIX_VDISABLE '\0' + +/* Filenames are not silently truncated. */ +#define _POSIX_NO_TRUNC 1 + +/* X/Open realtime support is available. */ +#define _XOPEN_REALTIME 1 + +/* X/Open realtime thread support is available. */ +#define _XOPEN_REALTIME_THREADS 1 + +/* XPG4.2 shared memory is supported. */ +#define _XOPEN_SHM 1 + +/* Tell we have POSIX threads. */ +#define _POSIX_THREADS 200112L + +/* We have the reentrant functions described in POSIX. */ +#define _POSIX_REENTRANT_FUNCTIONS 1 +#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L + +/* We provide priority scheduling for threads. */ +#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L + +/* We support user-defined stack sizes. */ +#define _POSIX_THREAD_ATTR_STACKSIZE 200112L + +/* We support user-defined stacks. */ +#define _POSIX_THREAD_ATTR_STACKADDR 200112L + +/* We support POSIX.1b semaphores, but only the non-shared form for now. */ +#define _POSIX_SEMAPHORES 200112L + +/* Real-time signals are supported. */ +#define _POSIX_REALTIME_SIGNALS 200112L + +/* We support asynchronous I/O. */ +#define _POSIX_ASYNCHRONOUS_IO 200112L +#define _POSIX_ASYNC_IO 1 +/* Alternative name for Unix98. */ +#define _LFS_ASYNCHRONOUS_IO 1 +/* Support for prioritization is also available. */ +#define _POSIX_PRIORITIZED_IO 200112L + +/* The LFS support in asynchronous I/O is also available. */ +#define _LFS64_ASYNCHRONOUS_IO 1 + +/* The rest of the LFS is also available. */ +#define _LFS_LARGEFILE 1 +#define _LFS64_LARGEFILE 1 +#define _LFS64_STDIO 1 + +/* POSIX shared memory objects are implemented. */ +#define _POSIX_SHARED_MEMORY_OBJECTS 200112L + +/* CPU-time clocks support needs to be checked at runtime. */ +#define _POSIX_CPUTIME 0 + +/* Clock support in threads must be also checked at runtime. */ +#define _POSIX_THREAD_CPUTIME 0 + +/* GNU libc provides regular expression handling. */ +#define _POSIX_REGEXP 1 + +/* Reader/Writer locks are available. */ +#define _POSIX_READER_WRITER_LOCKS 200112L + +/* We have a POSIX shell. */ +#define _POSIX_SHELL 1 + +/* We support the Timeouts option. */ +#define _POSIX_TIMEOUTS 200112L + +/* We support spinlocks. */ +#define _POSIX_SPIN_LOCKS 200112L + +/* The `spawn' function family is supported. */ +#define _POSIX_SPAWN 200112L + +/* We have POSIX timers. */ +#define _POSIX_TIMERS 200112L + +/* The barrier functions are available. */ +#define _POSIX_BARRIERS 200112L + +/* POSIX message queues are available. */ +#define _POSIX_MESSAGE_PASSING 200112L + +/* Thread process-shared synchronization is not supported. */ +#define _POSIX_THREAD_PROCESS_SHARED -1 + +/* The monotonic clock might be available. */ +#define _POSIX_MONOTONIC_CLOCK 0 + +/* The clock selection interfaces are not available. */ +#define _POSIX_CLOCK_SELECTION -1 + +/* Advisory information interfaces are available. */ +#define _POSIX_ADVISORY_INFO 200112L + +/* IPv6 support is available. */ +#define _POSIX_IPV6 200112L + +/* Raw socket support is available. */ +#define _POSIX_RAW_SOCKETS 200112L + +/* We have at least one terminal. */ +#define _POSIX2_CHAR_TERM 200112L + +/* Neither process nor thread sporadic server interfaces is available. */ +#define _POSIX_SPORADIC_SERVER -1 +#define _POSIX_THREAD_SPORADIC_SERVER -1 + +/* trace.h is not available. */ +#define _POSIX_TRACE -1 +#define _POSIX_TRACE_EVENT_FILTER -1 +#define _POSIX_TRACE_INHERIT -1 +#define _POSIX_TRACE_LOG -1 + +/* Typed memory objects are not available. */ +#define _POSIX_TYPED_MEMORY_OBJECTS -1 + +/* No support for priority inheritance or protection. */ +#define _POSIX_THREAD_PRIO_INHERIT -1 +#define _POSIX_THREAD_PRIO_PROTECT -1 + +#endif /* posix_opt.h */ diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h new file mode 100644 index 000000000..960bde18a --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h @@ -0,0 +1,38 @@ +/* Signal handling function for threaded programs. + Copyright (C) 1998, 1999, 2000, 2002 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; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _BITS_SIGTHREAD_H +#define _BITS_SIGTHREAD_H 1 + +#if !defined _SIGNAL_H && !defined _PTHREAD_H +# error "Never include this file directly. Use instead" +#endif + +/* Functions for handling signals. */ + +/* Modify the signal mask for the calling thread. The arguments have + the same meaning as for sigprocmask(2). */ +extern int pthread_sigmask (int __how, + __const __sigset_t *__restrict __newmask, + __sigset_t *__restrict __oldmask)__THROW; + +/* Send signal SIGNO to the given thread. */ +extern int pthread_kill (pthread_t __threadid, int __signo) __THROW; + +#endif /* bits/sigthread.h */ diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/execve.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/execve.c new file mode 100644 index 000000000..9fa912b90 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/execve.c @@ -0,0 +1,73 @@ +/* Copyright (C) 1999, 2000, 2002 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. */ + +#include +#include + +#include +#include +#include +#include + +extern int __syscall_execve (const char *__unbounded file, + char *__unbounded const *__unbounded argv, + char *__unbounded const *__unbounded envp); +extern void __pthread_kill_other_threads_np (void); +weak_extern (__pthread_kill_other_threads_np) + + +int +__execve (file, argv, envp) + const char *file; + char *const argv[]; + char *const envp[]; +{ + /* If this is a threaded application kill all other threads. */ + if (__pthread_kill_other_threads_np) + __pthread_kill_other_threads_np (); +#if __BOUNDED_POINTERS__ + { + char *const *v; + int i; + char *__unbounded *__unbounded ubp_argv; + char *__unbounded *__unbounded ubp_envp; + char *__unbounded *__unbounded ubp_v; + + for (v = argv; *v; v++) + ; + i = v - argv + 1; + ubp_argv = (char *__unbounded *__unbounded) alloca (sizeof (*ubp_argv) * i); + for (v = argv, ubp_v = ubp_argv; --i; v++, ubp_v++) + *ubp_v = CHECK_STRING (*v); + *ubp_v = 0; + + for (v = envp; *v; v++) + ; + i = v - envp + 1; + ubp_envp = (char *__unbounded *__unbounded) alloca (sizeof (*ubp_envp) * i); + for (v = envp, ubp_v = ubp_envp; --i; v++, ubp_v++) + *ubp_v = CHECK_STRING (*v); + *ubp_v = 0; + + return INLINE_SYSCALL (execve, 3, CHECK_STRING (file), ubp_argv, ubp_envp); + } +#else + return INLINE_SYSCALL (execve, 3, file, argv, envp); +#endif +} +weak_alias (__execve, execve) diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c new file mode 100644 index 000000000..e15b99b82 --- /dev/null +++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek , 2002. + + 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 o