]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20051227T1426
authorJakub Jelinek <jakub@redhat.com>
Tue, 27 Dec 2005 14:48:14 +0000 (14:48 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 27 Dec 2005 14:48:14 +0000 (14:48 +0000)
199 files changed:
ChangeLog
Makeconfig
Makerules
Versions.def
bits/byteswap.h [moved from sysdeps/generic/bits/byteswap.h with 100% similarity]
bits/confname.h [moved from sysdeps/generic/bits/confname.h with 100% similarity]
bits/dlfcn.h [moved from sysdeps/generic/bits/dlfcn.h with 100% similarity]
bits/environments.h [moved from sysdeps/generic/bits/environments.h with 100% similarity]
bits/link.h [moved from sysdeps/generic/bits/link.h with 100% similarity]
bits/linkmap.h [moved from sysdeps/generic/bits/linkmap.h with 100% similarity]
bits/mman.h [moved from sysdeps/generic/bits/mman.h with 100% similarity]
bits/types.h [moved from sysdeps/generic/bits/types.h with 100% similarity]
bits/waitstatus.h [moved from sysdeps/generic/bits/waitstatus.h with 100% similarity]
csu/dso_handle.c
elf/cache.c
elf/chroot_canon.c
elf/dl-error.c
elf/dl-lookup.c
elf/ldconfig.c
elf/readlib.c
elf/rtld.c
fedora/branch.mk
fedora/glibc.spec.in
gmon/mcount.c
hurd/hurdfault.c
hurd/hurdsig.c
hurd/report-wait.c
hurd/sigunwind.c
iconv/gconv_conf.c
include/stdlib.h
include/time.h
intl/l10nflist.c
mach/setup-thread.c
manual/errno.texi
misc/syslog.c
nptl/ChangeLog
nptl/Makefile
nptl/Versions
nptl/descr.h
nptl/libc-cancellation.c
nptl/pt-cleanup.c
nptl/pthreadP.h
nptl/pthread_create.c
nptl/pthread_join.c
nptl/pthread_mutex_consistent.c [moved from sysdeps/generic/bits/uio.h with 61% similarity]
nptl/pthread_mutex_destroy.c
nptl/pthread_mutex_init.c
nptl/pthread_mutex_lock.c
nptl/pthread_mutex_timedlock.c
nptl/pthread_mutex_trylock.c
nptl/pthread_mutex_unlock.c
nptl/pthread_mutexattr_getpshared.c
nptl/pthread_mutexattr_getrobust.c [moved from sysdeps/generic/bits/ipctypes.h with 62% similarity]
nptl/pthread_mutexattr_gettype.c
nptl/pthread_mutexattr_setpshared.c
nptl/pthread_mutexattr_setrobust.c [moved from sysdeps/generic/bits/utmp.h with 52% similarity]
nptl/pthread_mutexattr_settype.c
nptl/pthread_timedjoin.c
nptl/pthread_tryjoin.c
nptl/sysdeps/pthread/pthread.h
nptl/sysdeps/pthread/sigaction.c
nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
nptl/sysdeps/unix/sysv/linux/register-atfork.c
nptl/sysdeps/unix/sysv/linux/unregister-atfork.c
nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
nptl/tst-cancel24.cc [new file with mode: 0644]
nptl/tst-once3.c
nptl/tst-robust1.c [new file with mode: 0644]
nptl/tst-robust2.c [new file with mode: 0644]
nptl/tst-robust3.c [new file with mode: 0644]
nptl/tst-robust4.c [new file with mode: 0644]
nptl/tst-robust5.c [new file with mode: 0644]
nptl/tst-robust6.c [new file with mode: 0644]
nptl/tst-typesizes.c [new file with mode: 0644]
nptl/unwind.c
nptl/version.c
rt/aio_read64.c
rt/aio_sigqueue.c
rt/aio_write64.c
scripts/gen-as-const.awk
soft-fp/soft-fp.h
stdio-common/tmpfile64.c
stdlib/Makefile
stdlib/tst-ucontext-off.c [deleted file]
sysdeps/generic/bits/atomic.h [deleted file]
sysdeps/generic/bits/dirent.h [deleted file]
sysdeps/generic/bits/elfclass.h [deleted file]
sysdeps/generic/bits/endian.h [deleted file]
sysdeps/generic/bits/errno.h [deleted file]
sysdeps/generic/bits/fcntl.h [deleted file]
sysdeps/generic/bits/fenv.h [deleted file]
sysdeps/generic/bits/fenvinline.h [deleted file]
sysdeps/generic/bits/huge_val.h [deleted file]
sysdeps/generic/bits/huge_valf.h [deleted file]
sysdeps/generic/bits/huge_vall.h [deleted file]
sysdeps/generic/bits/in.h [deleted file]
sysdeps/generic/bits/inf.h [deleted file]
sysdeps/generic/bits/ioctl-types.h [deleted file]
sysdeps/generic/bits/ioctls.h [deleted file]
sysdeps/generic/bits/ipc.h [deleted file]
sysdeps/generic/bits/libc-lock.h [deleted file]
sysdeps/generic/bits/libc-tsd.h [deleted file]
sysdeps/generic/bits/local_lim.h [deleted file]
sysdeps/generic/bits/mathdef.h [deleted file]
sysdeps/generic/bits/mathinline.h [deleted file]
sysdeps/generic/bits/mqueue.h [deleted file]
sysdeps/generic/bits/msq.h [deleted file]
sysdeps/generic/bits/nan.h [deleted file]
sysdeps/generic/bits/netdb.h [deleted file]
sysdeps/generic/bits/poll.h [deleted file]
sysdeps/generic/bits/posix_opt.h [deleted file]
sysdeps/generic/bits/pthreadtypes.h [deleted file]
sysdeps/generic/bits/resource.h [deleted file]
sysdeps/generic/bits/sched.h [deleted file]
sysdeps/generic/bits/select.h [deleted file]
sysdeps/generic/bits/sem.h [deleted file]
sysdeps/generic/bits/setjmp.h [deleted file]
sysdeps/generic/bits/shm.h [deleted file]
sysdeps/generic/bits/sigaction.h [deleted file]
sysdeps/generic/bits/sigcontext.h [deleted file]
sysdeps/generic/bits/siginfo.h [deleted file]
sysdeps/generic/bits/signum.h [deleted file]
sysdeps/generic/bits/sigset.h [deleted file]
sysdeps/generic/bits/sigstack.h [deleted file]
sysdeps/generic/bits/sigthread.h [deleted file]
sysdeps/generic/bits/sockaddr.h [deleted file]
sysdeps/generic/bits/socket.h [deleted file]
sysdeps/generic/bits/stat.h [deleted file]
sysdeps/generic/bits/statfs.h [deleted file]
sysdeps/generic/bits/statvfs.h [deleted file]
sysdeps/generic/bits/stdio-lock.h [deleted file]
sysdeps/generic/bits/string.h [deleted file]
sysdeps/generic/bits/stropts.h [deleted file]
sysdeps/generic/bits/sys_errlist.h [deleted file]
sysdeps/generic/bits/termios.h [deleted file]
sysdeps/generic/bits/time.h [deleted file]
sysdeps/generic/bits/typesizes.h [deleted file]
sysdeps/generic/bits/ustat.h [deleted file]
sysdeps/generic/bits/utsname.h [deleted file]
sysdeps/generic/bits/waitflags.h [deleted file]
sysdeps/generic/bits/wchar.h [deleted file]
sysdeps/generic/bits/wordsize.h [deleted file]
sysdeps/generic/bits/xtitypes.h [deleted file]
sysdeps/generic/unwind-dw2.c
sysdeps/gnu/errlist.c
sysdeps/i386/fpu/e_expl.c
sysdeps/i386/i586/memusage.h [new file with mode: 0644]
sysdeps/i386/memusage.h
sysdeps/ieee754/dbl-64/e_exp2.c
sysdeps/ieee754/dbl-64/halfulp.c
sysdeps/ieee754/flt-32/e_exp2f.c
sysdeps/ieee754/flt-32/e_expf.c
sysdeps/ieee754/flt-32/s_expm1f.c
sysdeps/mach/hurd/fork.c
sysdeps/mach/hurd/hppa/trampoline.c
sysdeps/mach/hurd/i386/trampoline.c
sysdeps/mach/hurd/ifreq.c
sysdeps/mach/hurd/mips/trampoline.c
sysdeps/mach/hurd/powerpc/trampoline.c
sysdeps/posix/sprofil.c
sysdeps/powerpc/fpu/libm-test-ulps
sysdeps/pthread/aio_cancel.c
sysdeps/pthread/aio_fsync.c
sysdeps/pthread/aio_read.c
sysdeps/pthread/aio_read64.c
sysdeps/pthread/aio_suspend.c
sysdeps/pthread/aio_write.c
sysdeps/pthread/aio_write64.c
sysdeps/pthread/lio_listio.c
sysdeps/pthread/lio_listio64.c
sysdeps/unix/sysv/linux/Versions
sysdeps/unix/sysv/linux/aio_sigqueue.c
sysdeps/unix/sysv/linux/bits/errno.h
sysdeps/unix/sysv/linux/i386/Makefile
sysdeps/unix/sysv/linux/i386/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/i386/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/Makefile
sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/s390/Makefile
sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/s390/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/sh/Makefile
sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86_64/Makefile
sysdeps/unix/sysv/linux/x86_64/ucontext_i.h [deleted file]
sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym [new file with mode: 0644]
sysdeps/unix/sysv/tcflow.c
sysdeps/x86_64/__longjmp.S
sysdeps/x86_64/setjmp.S
test-skeleton.c

index f471b858599799b132319e4087f3693d93ee327c..33a598ff075c665d1d980ba841867069cf7e9c20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,160 @@
+2005-12-26  Ulrich Drepper  <drepper@redhat.com>
+
+       * Versions.def: Add GLIBC_2.4 for libpthread.
+
+2005-12-25  Ulrich Drepper  <drepper@redhat.com>
+
+       * stdlib/Makefile ($(objpfx)isomac.out): Move -I.. to the end so
+       that $(..)/bits is not found early.
+
+2005-12-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * manual/errno.texi: Add new Linux errno codes.
+       * sysdeps/unix/sysv/linux/Versions: Add new errlist-compat entry
+       for up to 132 errnos.
+       * sysdeps/unix/sysv/linux/bits/errno.h: Define EOWNERDEAD and
+       ENOTRECOVERABLE if not already defined.
+
+2005-12-23  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1566]
+       * sysdeps/i386/i586/memusage.h: New file.
+       * sysdeps/i386/memusage.h: Don't define GETTIME.
+
+2005-12-22  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1499]
+       * misc/syslog.c (SyslogAddr): Use sockaddr_un instead of sockaddr.
+       (openlog_internal): Adjust for this change.
+
+       * Makeconfig: Define CXXFLAGS.  Split out warnings from +gccwarn which
+       are not understood by the C++ compiler.
+       * Makerules: Add rules to build C++ code for test cases.
+       * include/stdlib.h: Protect for inclusion in C++ code.
+       * include/time.h: Likewise.
+
+2005-12-22  Roland McGrath  <roland@redhat.com>
+
+       * Makerules [gen-as-const-headers] (tests): Add one test per .sym
+       file, not just one.
+       ($(objpfx)test-as-const.c): Target replaced with ...
+       ($(objpfx)test-as-const-%.c): ... this pattern rule.
+       (generated): Add those files.
+
+2005-12-22  Ulrich Drepper  <drepper@redhat.com>
+
+       * test-skeleton.c (timeout_handler): Rewrite ts initialization for
+       C++ compatibility.
+
+       * sysdeps/x86_64/__longjmp.S: Also protect SP and BP.
+       * sysdeps/x86_64/setjmp.S: Likewise.
+
+2005-12-21  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/i386/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/s390/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: File removed.
+       * sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: New file.
+       * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) = stdlib]:
+       (gen-as-const-headers): Add it.
+       * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
+       * sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
+       * sysdeps/unix/sysv/linux/s390/Makefile: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
+       * stdlib/tst-ucontext-off.c: File removed.
+       * stdlib/Makefile (tests): Remove it.
+
+       * scripts/gen-as-const.awk: Support generating a test program.
+       * Makerules [gen-as-const-headers] (tests): Add test-as-const.
+       [gen-as-const-headers] ($(objpfx)test-as-const.c): New target.
+
+       * sysdeps/generic/bits: Subdirectory and all files moved to ...
+       * bits: ... here, new subdirectory.
+       * Makeconfig (+includes): Reordered includes to put build and sysdeps
+       dirs first after $(..)include, $(sysincludes) last.
+
+       [BZ #2066]
+       * intl/l10nflist.c (_nl_make_l10nflist): Free ABS_FILENAME when later
+       malloc fails.
+
+2005-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/powerpc/fpu/libm-test-ulps: Update for GCC 4.1 prerelease.
+
+2005-12-21  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/mach/hurd/ifreq.c: Add missing #includes.
+
+       * elf/cache.c: Use <> rather than "" #includes.
+       * elf/chroot_canon.c: Likewise.
+       * elf/dl-lookup.c: Likewise.
+       * elf/ldconfig.c: Likewise.
+       * elf/readlib.c: Likewise.
+       * elf/rtld.c: Likewise.
+       * gmon/mcount.c: Likewise.
+       * hurd/hurdfault.c: Likewise.
+       * hurd/hurdsig.c: Likewise.
+       * hurd/report-wait.c: Likewise.
+       * hurd/sigunwind.c: Likewise.
+       * mach/setup-thread.c: Likewise.
+       * rt/aio_read64.c: Likewise.
+       * rt/aio_sigqueue.c: Likewise.
+       * rt/aio_write64.c: Likewise.
+       * soft-fp/soft-fp.h: Likewise.
+       * stdio-common/tmpfile64.c: Likewise.
+       * sysdeps/mach/hurd/fork.c: Likewise.
+       * sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
+       * sysdeps/mach/hurd/i386/trampoline.c: Likewise.
+       * sysdeps/mach/hurd/mips/trampoline.c: Likewise.
+       * sysdeps/mach/hurd/powerpc/trampoline.c: Likewise.
+       * sysdeps/posix/sprofil.c: Likewise.
+       * sysdeps/pthread/aio_cancel.c: Likewise.
+       * sysdeps/pthread/aio_fsync.c: Likewise.
+       * sysdeps/pthread/aio_read64.c: Likewise.
+       * sysdeps/pthread/aio_read.c: Likewise.
+       * sysdeps/pthread/aio_suspend.c: Likewise.
+       * sysdeps/pthread/aio_write64.c: Likewise.
+       * sysdeps/pthread/aio_write.c: Likewise.
+       * sysdeps/pthread/lio_listio64.c: Likewise.
+       * sysdeps/pthread/lio_listio.c: Likewise.
+       * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
+       * sysdeps/unix/sysv/tcflow.c: Likewise.
+
+       * sysdeps/generic/unwind-dw2.c (extract_cie_info): Add a cast.
+
+       * elf/dl-error.c (_dl_signal_error): Use .__jmpbuf in __longjmp call.
+
+       * csu/dso_handle.c (__dso_handle): Add const to pointer type too.
+
+2005-12-21  Ulrich Drepper  <drepper@redhat.com>
+
+       * iconv/gconv_conf.c: Initialize empty_path_elem.
+
+       * sysdeps/ieee754/dbl-64/halfulp.c: Mark tab54 as static and const.
+       * sysdeps/i386/fpu/e_expl.c: Mark c0 and c1 as const.
+       * sysdeps/ieee754/flt-32/s_expm1f.c: Make sure huge and tiny end
+       up in .rodata.
+       * sysdeps/ieee754/flt-32/e_exp2f.c: Make sure TWO127 and TWOM100
+       end up in .rodata.
+       * sysdeps/ieee754/flt-32/e_expf.c: Likewise.
+       * sysdeps/ieee754/dbl-64/e_exp2.c: Make sure TWO1023 and TWOM1000
+       end up in .rodata.
+
+2005-12-21  Thorsten Kukuk  <kukuk@suse.de>
+
+       * elf/readlib.c: Fix include of readelflib.c.
+
 2005-12-21  Ulrich Drepper  <drepper@redhat.com>
 
        [BZ #1962]
index 45a970402ede6e27cdff96f3959dcd049aaf36b4..f32a19eab64b0a3b0a679b5991c2ee456ad81367 100644 (file)
@@ -552,10 +552,11 @@ endif
 
 # Extra flags to pass to GCC.
 ifeq ($(all-warnings),yes)
-+gccwarn := -Wall -Wwrite-strings -Winline -Wstrict-prototypes -Wcast-qual -Wbad-function-cast -Wmissing-noreturn -Wmissing-prototypes -Wmissing-declarations -Wcomment -Wcomments -Wtrigraphs -Wsign-compare -Wfloat-equal -Wmultichar
++gccwarn := -Wall -Wwrite-strings -Winline -Wcast-qual -Wbad-function-cast -Wmissing-noreturn -Wmissing-prototypes -Wmissing-declarations -Wcomment -Wcomments -Wtrigraphs -Wsign-compare -Wfloat-equal -Wmultichar
 else
-+gccwarn := -Wall -Wwrite-strings -Winline -Wstrict-prototypes
++gccwarn := -Wall -Wwrite-strings -Winline
 endif
++gccwarn-c = -Wstrict-prototypes
 
 # We do not depend on the address of constants in different files to be
 # actually different, so allow the compiler to merge them all.
@@ -627,10 +628,10 @@ endif     # $(+cflags) == ""
 # library source directory, in the include directory, and in the
 # current directory.
 # `+sysdep-includes' will be defined by Makerules.
-+includes = -I$(..)include $(patsubst %/,-I%,$(..)) \
-           $(libio-include) $(includes) \
-           $(+sysdep-includes) $(sysincludes) -I. \
-           $(patsubst %/,-I%,$(objpfx))
++includes = -I$(..)include \
+           $(patsubst %/,-I%,$(objpfx)) $(+sysdep-includes) \
+           $(patsubst %/,-I%,$(..)) $(libio-include) $(includes) -I. \
+           $(sysincludes)
 
 # Since libio has several internal header files, we use a -I instead
 # of many little headers in the include directory.
@@ -647,8 +648,11 @@ CPPFLAGS = $($(subdir)-CPPFLAGS) $(+includes) $(defines) \
                         $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
           $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
 override CFLAGS        = -std=gnu99 \
-                 $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
-                 $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
+                 $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
+                 $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
+                 $(CFLAGS-$(@F))
+override CXXFLAGS = $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
+                   $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
 
 # If everything is compiled with -fPIC (implicitly) we must tell this by
 # defining the PIC symbol.
index d0b1d8975d608efd71a0fb609c4c540f3746c36c..31939838d3c075133580aea28a1760e90185623c 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -183,6 +183,7 @@ sed-remove-dotdot := -e 's@  *\([^  \/$$][^         \]*\)@ $$(..)\1@g' \
 endif
 
 
+ifdef gen-as-const-headers
 # Generating headers for assembly constants.
 # We need this defined early to get into before-compile before
 # it's used in sysd-rules, below.
@@ -201,6 +202,16 @@ $(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \
        mv -f $(@:.h.d=.h)T $(@:.h.d=.h)
 vpath %.sym $(sysdirs)
 before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
+
+tests += $(gen-as-const-headers:%.sym=test-as-const-%)
+generated += $(gen-as-const-headers:%.sym=test-as-const-%.c)
+$(objpfx)test-as-const-%.c: $(..)scripts/gen-as-const.awk $(..)Makerules \
+                           %.sym $(common-objpfx)%.h
+       ($(AWK) '{ sub(/^/, "asconst_", $$2); print; }' $(filter %.h,$^); \
+        $(AWK) -v test=1 -f $< $(filter %.sym,$^); \
+        echo '#include "$(..)test-skeleton.c"') > $@T
+       mv -f $@T $@
+endif
 \f
 # Generate an ordered list of implicit rules which find the source files in
 # each sysdep directory.  The old method was to use vpath to search all the
@@ -295,6 +306,12 @@ endef
 object-suffixes-left := $(all-object-suffixes)
 include $(o-iterator)
 
+define o-iterator-doit
+$(objpfx)%$o: %.cc $(before-compile); $$(compile-command.cc)
+endef
+object-suffixes-left := $(all-object-suffixes)
+include $(o-iterator)
+
 # Omit the objpfx rules when building in the source tree, because
 # objpfx is empty and so these rules just override the ones above.
 ifdef objpfx
@@ -370,9 +387,11 @@ compile-mkdep-flags = -MD -MP -MF $@.dt -MT $@
 compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags)
 compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags)
 compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
+compile-command.cc = $(compile.cc) $(OUTPUT_OPTION) $(compile-mkdep-flags)
 
 # GCC can grok options after the file name, and it looks nicer that way.
 compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
+compile.cc = $(CXX) $< -c $(CXXFLAGS) $(CPPFLAGS)
 compile.S = $(CC) $< -c $(CPPFLAGS) $(S-CPPFLAGS) \
                  $(ASFLAGS) $(ASFLAGS-$(suffix $@))
 COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) \
@@ -1169,9 +1188,9 @@ xcheck: xtests
 
 all-nonlib = $(strip $(tests) $(xtests) $(test-srcs) $(test-extras) $(others))
 ifneq (,$(all-nonlib))
-cpp-srcs-left = $(all-nonlib:=.c)
+cpp-srcs-left = $(all-nonlib:=.c) $(all-nonlib:=.cc)
 lib := nonlib
-include $(patsubst %,$(..)cppflags-iterator.mk,$(all-nonlib))
+include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
 endif
 
 # The include magic above causes those files to use this variable for flags.
index 09cef140bf0719fb6467086629578a239dab02e5..d7be70386e58cba01d3378eca8d128f630a92cd1 100644 (file)
@@ -80,6 +80,7 @@ libpthread {
   GLIBC_2.3.2
   GLIBC_2.3.3
   GLIBC_2.3.4
+  GLIBC_2.4
   GLIBC_PRIVATE
 }
 libresolv {
similarity index 100%
rename from sysdeps/generic/bits/dlfcn.h
rename to bits/dlfcn.h
similarity index 100%
rename from sysdeps/generic/bits/link.h
rename to bits/link.h
similarity index 100%
rename from sysdeps/generic/bits/mman.h
rename to bits/mman.h
similarity index 100%
rename from sysdeps/generic/bits/types.h
rename to bits/types.h
index 72f80889d73f89edb6a380aea6ad6ae7bd2768e1..fd295f2442b93f27c5c76deab0c4795e03a8ec90 100644 (file)
@@ -18,5 +18,5 @@
 
 /* We have to define __dso_handle ourselves since we do not use gcc's
    crtbegin files.  */
-void *const __dso_handle __attribute__ ((__visibility__ ("hidden")))
+const void *const __dso_handle __attribute__ ((__visibility__ ("hidden")))
   = &__dso_handle;
index 9ce3d161a7fac06ee9e52aa90b4325cb7e84b7b3..c13918ccb4c6fa63f6fe31fd0e162d112efbfb57 100644 (file)
@@ -30,8 +30,8 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "ldconfig.h"
-#include "dl-cache.h"
+#include <ldconfig.h>
+#include <dl-cache.h>
 
 struct cache_entry
 {
index 41d6e82625878c5d29bd27b4f61bf5137445fb4d..3ef2fdf08fdc57fce827fa62775f70891230e350 100644 (file)
@@ -1,6 +1,6 @@
 /* Return the canonical absolute name of a given file inside chroot.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2005
+       Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -26,7 +26,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include "ldconfig.h"
+#include <ldconfig.h>
 
 #ifndef PATH_MAX
 #define PATH_MAX 1024
index b5374e949caee7f3e044a68a1154be64b48769ac..79ebaaf01b51ad138d0857720a1f41d5fd3aae71 100644 (file)
@@ -113,7 +113,7 @@ _dl_signal_error (int errcode, const char *objname, const char *occation,
          lcatch->malloced = false;
        }
       /* We do not restore the signal mask because none was saved.  */
-      __longjmp (lcatch->env, errcode ?: -1);
+      __longjmp (lcatch->env[0].__jmpbuf, errcode ?: -1);
     }
   else
     {
index 130453ca24f82a3b30ce9f16bbcbd93a9cc34a9c..5a7bed16e5c133b2ed51188a410b0b5e57aa25e0 100644 (file)
@@ -23,7 +23,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <ldsodefs.h>
-#include "dl-hash.h"
+#include <dl-hash.h>
 #include <dl-machine.h>
 #include <bits/libc-lock.h>
 #include <tls.h>
index e63b312bd0d1e296dcc6f30045f447c98c6fef56..e5a931913f02f278e6c4b4a01e42330f12969ea6 100644 (file)
 #include <glob.h>
 #include <libgen.h>
 
-#include "ldconfig.h"
-#include "dl-cache.h"
+#include <ldconfig.h>
+#include <dl-cache.h>
 
-#include "dl-procinfo.h"
+#include <dl-procinfo.h>
 
 #ifdef _DL_FIRST_PLATFORM
 # define _DL_FIRST_EXTRA (_DL_FIRST_PLATFORM + _DL_PLATFORMS_COUNT)
index 65c8e9d65d56afc5cf2d689a08e2324ff96343dc..8896bbdaca70720c44a15e64e904e8c871f1c33a 100644 (file)
@@ -34,7 +34,7 @@
 #include <sys/stat.h>
 #include <gnu/lib-names.h>
 
-#include "ldconfig.h"
+#include <ldconfig.h>
 
 #define Elf32_CLASS ELFCLASS32
 #define Elf64_CLASS ELFCLASS64
@@ -178,4 +178,4 @@ process_file (const char *real_file_name, const char *file_name,
 }
 
 /* Get architecture specific version of process_elf_file.  */
-#include "readelflib.c"
+#include <readelflib.c>
index aee3ea9a2a6c306bb60e8073f6afe07675be2dd8..71bcf0ab7149218cc5331f63267b05da22b64c49 100644 (file)
@@ -34,7 +34,7 @@
 #include <hp-timing.h>
 #include <bits/libc-lock.h>
 #include "dynamic-link.h"
-#include "dl-librecon.h"
+#include <dl-librecon.h>
 #include <unsecvars.h>
 #include <dl-cache.h>
 #include <dl-osinfo.h>
index 43a878b1bd74f52ce54d8ef9575b9d6f698dcd0a..eb64c97cd43e5a533cfd5f0b70f3a4b1652bd31d 100644 (file)
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-fc4
-fedora-sync-date := 2005-12-21 09:31 UTC
-fedora-sync-tag := fedora-glibc-20051221T0931
+fedora-sync-date := 2005-12-27 14:26 UTC
+fedora-sync-tag := fedora-glibc-20051227T1426
index d28e5481ab7f5003927875ac5e65207ace51f26c..70c2b41003d6e5a9b6136aafda8dd207dd4e549f 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 22
+%define glibcrelease 23
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define xenarches i686 athlon
@@ -390,7 +390,7 @@ cat > asm/unistd.h <<EOF
 #define __NR_waitid            281
 #endif
 %endif
-%ifarch sparc sparc64
+%ifarch sparc sparcv9 sparc64
 #ifndef __NR_mq_open
 #define __NR_mq_open           273
 #define __NR_mq_unlink         274
@@ -418,6 +418,47 @@ cat > asm/unistd.h <<EOF
 %endif
 #endif
 EOF
+cat > asm/errno.h <<EOF
+#ifndef _HACK_ASM_ERRNO_H
+#include_next <asm/errno.h>
+%ifarch alpha
+#ifndef ENOKEY
+#define ENOKEY         132
+#define EKEYEXPIRED    133
+#define EKEYREVOKED    134
+#define EKEYREJECTED   135
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD     136
+#define ENOTRECOVERABLE        137
+#endif
+%endif
+%ifarch %{ix86} ia64 ppc ppc64 s390 s390x x86_64
+#ifndef ENOKEY
+#define ENOKEY         126
+#define EKEYEXPIRED    127
+#define EKEYREVOKED    128
+#define EKEYREJECTED   129
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD     130
+#define ENOTRECOVERABLE        131
+#endif
+%endif
+%ifarch sparc sparcv9 sparc64
+#ifndef ENOKEY
+#define ENOKEY         128
+#define EKEYEXPIRED    129
+#define EKEYREVOKED    130
+#define EKEYREJECTED   131
+#endif
+#ifndef EOWNERDEAD
+#define EOWNERDEAD     132
+#define ENOTRECOVERABLE        133
+#endif
+%endif
+#endif
+EOF
 
 # A lot of programs still misuse memcpy when they have to use
 # memmove. The memcpy implementation below is not tolerant at
@@ -1074,6 +1115,12 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Tue Dec 27 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-23
+- update from CVS
+  - robust mutexes
+- fix transliteration segfaults (#176573, #176583)
+- ignore prelink temporaries in ldconfig (#176570)
+
 * Wed Dec 21 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-22
 - update from CVS
   - minor fts fixes
index e18bf86e830acd10f37127555f290121bd4b06eb..32a5f1ea0fcbafafeb0a831a6ad583a3428c2e13 100644 (file)
@@ -37,7 +37,7 @@ static char sccsid[] = "@(#)mcount.c  8.1 (Berkeley) 6/4/93";
 
 /* This file provides the machine-dependent definitions of the _MCOUNT_DECL
    and MCOUNT macros.  */
-#include "machine-gmon.h"
+#include <machine-gmon.h>
 
 #include <atomic.h>
 
index 6ab5a9787691bdcb737883b533e651325a15d749..36653e148897cfa585de80cc8db334f40a978296 100644 (file)
@@ -1,5 +1,6 @@
 /* Handle faults in the signal thread.
-   Copyright (C) 1994,95,96,97,2002 Free Software Foundation, Inc.
+   Copyright (C) 1994,1995,1996,1997,2002,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
@@ -24,7 +25,7 @@
 #include <string.h>
 #include <setjmp.h>
 #include <stdio.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include "faultexc_server.h"   /* mig-generated header for our exc server.  */
 #include <assert.h>
 
index bbd0c17182ee476f850152edb4475599ebf819f0..e12d19da120203b22d35374e4b01302f807d2009 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,01,2002
+/* Copyright (C) 1991,92,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2005
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -132,7 +132,7 @@ _hurd_thread_sigstate (thread_t thread)
 #include <setjmp.h>
 #include <fcntl.h>
 #include <sys/wait.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <hurd/msg_server.h>
 #include <hurd/msg_reply.h>    /* For __msg_sig_post_reply.  */
 #include <hurd/interrupt.h>
@@ -256,7 +256,7 @@ interrupted_reply_port_location (struct machine_thread_all_state *thread_state,
 }
 \f
 #include <hurd/sigpreempt.h>
-#include "intr-msg.h"
+#include <intr-msg.h>
 
 /* Timeout on interrupt_operation calls.  */
 mach_msg_timeout_t _hurdsig_interrupt_timeout = 1000;
index 2ec1c19202a5df5f10e972d4e2d9b5083c01bb59..da0ca3bdb27265bc5cdb39861a996d539f2c722e 100644 (file)
@@ -1,5 +1,5 @@
 /* Report on what a thread in our task is waiting for.
-   Copyright (C) 1996,97,99,2002 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1999,2002,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
@@ -23,8 +23,8 @@
 #include <string.h>
 #include <assert.h>
 #include <hurd/msg_server.h>
-#include "thread_state.h"
-#include "intr-msg.h"
+#include <thread_state.h>
+#include <intr-msg.h>
 
 static char *
 describe_number (string_t description, const char *flavor, long int i)
index 1c6489b3b320b6249da9a4e9c9afaf2964583981..2231518bd05dada6b8492e5eeac5ff177ef6b982 100644 (file)
@@ -18,7 +18,7 @@
    02111-1307 USA.  */
 
 #include <hurd.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <setjmp.h>
 #include <assert.h>
 
index 78f41cb368cca787515344bcbc78ed520c74d5d0..ad5a7ee1051a3dc9d7519591a648ee649406b545 100644 (file)
@@ -46,7 +46,7 @@ struct path_elem *__gconv_path_elem;
 size_t __gconv_max_path_elem_len;
 
 /* We use the following struct if we couldn't allocate memory.  */
-static const struct path_elem empty_path_elem;
+static const struct path_elem empty_path_elem = { NULL, 0 };
 
 /* Name of the file containing the module information in the directories
    along the path.  */
index 49e87576f3c08765c028e8ec87c3e3cd904d559f..90b779d895a367df4cb5e7c9082df4abffe806b4 100644 (file)
@@ -10,6 +10,8 @@
 /* Now define the internal interfaces.  */
 #ifndef __Need_M_And_C
 
+__BEGIN_DECLS
+
 extern __typeof (strtol_l) __strtol_l;
 extern __typeof (strtoul_l) __strtoul_l;
 extern __typeof (strtoll_l) __strtoll_l;
@@ -197,6 +199,8 @@ __strtoull_l (__const char * __restrict __nptr, char **__restrict __endptr,
 extern void * __default_morecore (ptrdiff_t);
 libc_hidden_proto (__default_morecore)
 
+__END_DECLS
+
 #undef __Need_M_And_C
 
 #endif  /* include/stdlib.h */
index c2171ef449e925027387c203d5a190e72bdabdc7..adf2dea1ec58cfad0d26df6a6ef242b6c2306c21 100644 (file)
@@ -5,6 +5,8 @@
 # include <time/time.h>
 # include <xlocale.h>
 
+__BEGIN_DECLS
+
 extern __typeof (strftime_l) __strftime_l;
 libc_hidden_proto (__strftime_l)
 extern __typeof (strptime_l) __strptime_l;
@@ -89,6 +91,8 @@ extern int __getclktck (void);
 
 /* strptime support.  */
 /* Status of lookup: do we use the locale data or the raw data?  */
+#ifndef __cplusplus
+// C++ cannot deal with using 'not'.
 enum ptime_locale_status { not, loc, raw };
 
 extern char * __strptime_internal (const char *rp, const char *fmt,
@@ -96,6 +100,7 @@ extern char * __strptime_internal (const char *rp, const char *fmt,
                                   enum ptime_locale_status *decided,
                                   int era_cnt, __locale_t locparam)
      internal_function;
+#endif
 
 extern double __difftime (time_t time1, time_t time0);
 
@@ -105,5 +110,8 @@ extern double __difftime (time_t time1, time_t time0);
 #ifndef _ISOMAC
 # define CLOCK_IDFIELD_SIZE    3
 #endif
+
+__END_DECLS
+
 #endif
 #endif
index 7ffb4ab590381ab2bc92636d877c638cc66607fc..2c06a91113b6015088580b8a4c41189222278937 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -270,7 +270,10 @@ _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
                                * (1 << pop (mask))
                                * sizeof (struct loaded_l10nfile *)));
   if (retval == NULL)
-    return NULL;
+    {
+      free (abs_filename);
+      return NULL;
+    }
 
   retval->filename = abs_filename;
   /* If more than one directory is in the list this is a pseudo-entry
index 937e9ca5935aaa93f7a6ad1c10dc5b3bf48eca80..fecffd9f061b322b25cc7d8307caa2862f37a213 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,94,95,97,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,94,1995,1997,2002,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
@@ -17,7 +17,7 @@
    02111-1307 USA.  */
 
 #include <mach.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <string.h>
 #include <mach/machine/vm_param.h>
 #include "sysdep.h"            /* Defines stack direction.  */
index c799d268f89762e440d08e6aee335dd6fd88f3ce..e230506427a5fb45ef4f49b876ad690f2c2ed92b 100644 (file)
@@ -1229,6 +1229,42 @@ They are not yet documented.}
 @comment errno ???/???
 @end deftypevr
 
+@comment errno.h
+@comment Linux: Required key not available
+@deftypevr Macro int ENOKEY
+@comment errno ???/???
+@end deftypevr
+
+@comment errno.h
+@comment Linux: Key has expired
+@deftypevr Macro int EKEYEXPIRED
+@comment errno ???/???
+@end deftypevr
+
+@comment errno.h
+@comment Linux: Key has been revoked
+@deftypevr Macro int EKEYREVOKED
+@comment errno ???/???
+@end deftypevr
+
+@comment errno.h
+@comment Linux: Key was rejected by service
+@deftypevr Macro int EKEYREJECTED
+@comment errno ???/???
+@end deftypevr
+
+@comment errno.h
+@comment Linux: Owner died
+@deftypevr Macro int EOWNERDEAD
+@comment errno ???/???
+@end deftypevr
+
+@comment errno.h
+@comment Linux: State not recoverable
+@deftypevr Macro int ENOTRECOVERABLE
+@comment errno ???/???
+@end deftypevr
+
 @node Error Messages,  , Error Codes, Error Reporting
 @section Error Messages
 
index cae13f876bfd05e9c388e9ab557f2e231333562f..6b0e7748fe9b855af443276e7e7661537b5e3f6c 100644 (file)
@@ -35,6 +35,7 @@ static char sccsid[] = "@(#)syslog.c  8.4 (Berkeley) 3/18/94";
 #include <sys/socket.h>
 #include <sys/syslog.h>
 #include <sys/uio.h>
+#include <sys/un.h>
 #include <netdb.h>
 
 #include <errno.h>
@@ -326,7 +327,7 @@ vsyslog(pri, fmt, ap)
 }
 libc_hidden_def (vsyslog)
 
-static struct sockaddr SyslogAddr;     /* AF_UNIX address of local logger */
+static struct sockaddr_un SyslogAddr;  /* AF_UNIX address of local logger */
 
 
 static void
@@ -342,9 +343,9 @@ openlog_internal(const char *ident, int logstat, int logfac)
        int retry = 0;
        while (retry < 2) {
                if (LogFile == -1) {
-                       SyslogAddr.sa_family = AF_UNIX;
-                       (void)strncpy(SyslogAddr.sa_data, _PATH_LOG,
-                                     sizeof(SyslogAddr.sa_data));
+                       SyslogAddr.sun_family = AF_UNIX;
+                       (void)strncpy(SyslogAddr.sun_path, _PATH_LOG,
+                                     sizeof(SyslogAddr.sun_path));
                        if (LogStat & LOG_NDELAY) {
                                if ((LogFile = __socket(AF_UNIX, LogType, 0))
                                    == -1)
index cc4fc0ec5d5781a4e643df72772f3454cf40e432..7c0030cd09d3df11c5ab08b13bc5f540d86b9ca6 100644 (file)
@@ -1,3 +1,98 @@
+2005-12-26  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthreadP.h: Define PTHREAD_MUTEX_ROBUST_PRIVATE_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP,
+       PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP,
+       PTHREAD_MUTEXATTR_FLAG_ROBUST, PTHREAD_MUTEXATTR_FLAG_PSHARED,
+       and PTHREAD_MUTEXATTR_FLAG_BITS.
+       * descr.h (struct pthread): Add robust_list field and define
+       ENQUEUE_MUTEX and DEQUEUE_MUTEX macros.
+       * pthread_mutexattr_getrobust.c: New file.
+       * pthread_mutexattr_setrobust.c: New file.
+       * pthread_mutex_consistent.c: New file.
+       * sysdeps/pthread/pthread.h: Declare pthread_mutexattr_getrobust,
+       pthread_mutexattr_setrobust, and pthread_mutex_consistent.
+       Define PTHREAD_MUTEX_STALLED_NP and PTHREAD_MUTEX_ROBUST_NP.
+       Adjust pthread_mutex_t initializers.
+       * nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Add __next
+       field to pthread_mutex_t.
+       * nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Add __next
+       and __prev field to pthread_mutex_t.
+       * Versions [GLIBC_2.4]: Export pthread_mutexattr_getrobust_np,
+       pthread_mutexattr_setrobust_np, and pthread_mutex_consistent_np.
+       * pthread_mutexattr_getpshared.c: Use PTHREAD_MUTEXATTR_FLAG_PSHARED
+       and PTHREAD_MUTEXATTR_FLAG_BITS macros instead of magic numbers.
+       * pthread_mutexattr_gettype.c: Likewise.
+       * pthread_mutexattr_setpshared.c: Likewise.
+       * pthread_mutexattr_settype.c: Likewise.
+       * pthread_mutex_init.c: Reject robust+pshared attribute for now.
+       Initialize mutex kind according to robust flag.
+       * pthread_mutex_lock.c: Implement local robust mutex.
+       * pthread_mutex_timedlock.c: Likewise.
+       * pthread_mutex_trylock.c: Likewise.
+       * pthread_mutex_unlock.c: Likewise.
+       * pthread_create.c (start_thread): Mark robust mutexes which remained
+       locked as dead.
+       * tst-robust1.c: New file.
+       * tst-robust2.c: New file.
+       * tst-robust3.c: New file.
+       * tst-robust4.c: New file.
+       * tst-robust5.c: New file.
+       * tst-robust6.c: New file.
+       * tst-robust7.c: New file.
+       * Makefile (libpthread-routines): Add pthread_mutexattr_getrobust,
+       pthread_mutexattr_setrobust, and pthread_mutex_consistent.
+       (tests): Add tst-robust1, tst-robust2, tst-robust3, tst-robust4,
+       tst-robust5, tst-robust6, and tst-robust7.
+
+       * tst-typesizes.c: New file.
+       * Makefile (tests): Add tst-typesizes.
+
+       * tst-once3.c: More debug output.
+
+2005-12-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthread_mutex_trylock.c (__pthread_mutex_trylock): Add break
+       missing after last change.
+
+       * version.c: Update cpoyright year.
+
+2005-12-23  Ulrich Drepper  <drepper@redhat.com>
+
+       * pthread_mutex_destroy.c: Set mutex type to an invalid value.
+       * pthread_mutex_lock.c: Return EINVAL for invalid mutex type.
+       * pthread_mutex_trylock.c: Likewise.
+       * pthread_mutex_timedlock.c: Likewise.
+       * pthread_mutex_unlock.c: Likewise.
+
+2005-12-22  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/pthread/sigaction.c: Use "" instead of <> to include self,
+       so that #include_next's search location is not reset to the -I..
+       directory where <nptl/...> can be found.
+
+2005-12-22  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1913]
+       * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
+       Fix unwind info.  Remove useless branch prediction prefix.
+       * tst-cancel24.cc: New file.
+       * Makefile: Add rules to build and run tst-cancel24.
+
+2005-12-21  Roland McGrath  <roland@redhat.com>
+
+       * libc-cancellation.c: Use <> rather than "" #includes.
+       * pt-cleanup.c: Likewise.
+       * pthread_create.c: Likewise.
+       * pthread_join.c: Likewise.
+       * pthread_timedjoin.c: Likewise.
+       * pthread_tryjoin.c: Likewise.
+       * sysdeps/unix/sysv/linux/libc_pthread_init.c: Likewise.
+       * sysdeps/unix/sysv/linux/register-atfork.c: Likewise.
+       * sysdeps/unix/sysv/linux/unregister-atfork.c: Likewise.
+       * unwind.c: Likewise.
+
 2005-12-19  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
        * sysdeps/sh/tcb-offsets.sym: Add POINTER_GUARD.
index dbe84b1c4f387e90190e9ce3a16a731aa6c27411..a3b11730a11ecf4f3149b348860190e53b26d3ed 100644 (file)
@@ -116,6 +116,8 @@ libpthread-routines = init vars events version \
                      pthread_kill_other_threads \
                      pthread_getaffinity pthread_setaffinity \
                      pthread_attr_getaffinity pthread_attr_setaffinity \
+                     pthread_mutexattr_getrobust pthread_mutexattr_setrobust \
+                     pthread_mutex_consistent \
                      cleanup_routine unwind-forcedunwind
 #                    pthread_setuid pthread_seteuid pthread_setreuid \
 #                    pthread_setresuid \
@@ -189,7 +191,8 @@ CFLAGS-pt-system.c = -fexceptions
 omit-deps = $(unix-syscalls:%=ptw-%)
 
 
-tests = tst-attr1 tst-attr2 tst-attr3 \
+tests = tst-typesizes \
+       tst-attr1 tst-attr2 tst-attr3 \
        tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
        tst-mutex7 tst-mutex8 tst-mutex9 tst-mutex5a tst-mutex7a \
        tst-spin1 tst-spin2 tst-spin3 \
@@ -197,6 +200,8 @@ tests = tst-attr1 tst-attr2 tst-attr3 \
        tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
        tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \
        tst-cond20 tst-cond21 \
+       tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \
+       tst-robust6 tst-robust7 \
        tst-rwlock1 tst-rwlock2 tst-rwlock3 tst-rwlock4 tst-rwlock5 \
        tst-rwlock6 tst-rwlock7 tst-rwlock8 tst-rwlock9 tst-rwlock10 \
        tst-rwlock11 tst-rwlock12 tst-rwlock13 tst-rwlock14 \
@@ -220,7 +225,7 @@ tests = tst-attr1 tst-attr2 tst-attr3 \
        tst-cancel6 tst-cancel7 tst-cancel8 tst-cancel9 tst-cancel10 \
        tst-cancel11 tst-cancel12 tst-cancel13 tst-cancel14 tst-cancel15 \
        tst-cancel16 tst-cancel17 tst-cancel18 tst-cancel19 tst-cancel20 \
-       tst-cancel21 tst-cancel22 tst-cancel23 \
+       tst-cancel21 tst-cancel22 tst-cancel23 tst-cancel24 \
        tst-cleanup0 tst-cleanup1 tst-cleanup2 tst-cleanup3 tst-cleanup4 \
        tst-flock1 tst-flock2 \
        tst-signal1 tst-signal2 tst-signal3 tst-signal4 tst-signal5 \
@@ -479,6 +484,8 @@ $(objpfx)tst-clock2: $(common-objpfx)rt/librt.a
 $(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.a
 endif
 
+LDFLAGS-tst-cancel24 = -lstdc++
+
 extra-B-pthread.so = -B$(common-objpfx)nptl/
 $(objpfx)libpthread.so: $(addprefix $(objpfx),$(crti-objs) $(crtn-objs))
 $(objpfx)libpthread.so: +preinit += $(addprefix $(objpfx),$(crti-objs))
index 79bf190c3aa89bc155fe36f09827bfff40d6aba0..2b4dd01ab595d6a2aabef3528fbb0cfaa77f4d73 100644 (file)
@@ -232,6 +232,11 @@ libpthread {
     pthread_setschedprio;
   }
 
+  GLIBC_2.4 {
+    pthread_mutexattr_getrobust_np; pthread_mutexattr_setrobust_np;
+    pthread_mutex_consistent_np;
+  };
+
   GLIBC_PRIVATE {
     __pthread_initialize_minimal;
     __pthread_clock_gettime; __pthread_clock_settime;
index aaef9bc621a9706d4485ba5506ec6f7c6a2c3497..a9f830ef0bb9a9d27fd56247a12edd96c85c6821 100644 (file)
@@ -134,6 +134,51 @@ struct pthread
   /* Process ID - thread group ID in kernel speak.  */
   pid_t pid;
 
+  /* List of robust mutexes the thread is holding.  */
+  pthread_mutex_t *robust_list;
+
+#ifdef __PTHREAD_MUTEX_HAVE_PREV
+# define ENQUEUE_MUTEX(mutex) \
+  do {                                                                       \
+    mutex->__data.__next = THREAD_GETMEM (THREAD_SELF, robust_list);         \
+    THREAD_SETMEM (THREAD_SELF, robust_list, mutex);                         \
+    if (mutex->__data.__next != NULL)                                        \
+      mutex->__data.__next->__data.__prev = mutex;                           \
+    mutex->__data.__prev = NULL;                                             \
+  } while (0)
+# define DEQUEUE_MUTEX(mutex) \
+  do {                                                                       \
+    if (mutex->__data.__prev == NULL)                                        \
+      THREAD_SETMEM (THREAD_SELF, robust_list, mutex->__data.__next);        \
+    else                                                                     \
+      mutex->__data.__prev->__data.__next = mutex->__data.__next;            \
+    if (mutex->__data.__next != NULL)                                        \
+      mutex->__data.__next->__data.__prev = mutex->__data.__prev;            \
+    mutex->__data.__prev = NULL;                                             \
+    mutex->__data.__next = NULL;                                             \
+  } while (0)
+#else
+# define ENQUEUE_MUTEX(mutex) \
+  do {                                                                       \
+    mutex->__data.__next = THREAD_GETMEM (THREAD_SELF, robust_list);         \
+    THREAD_SETMEM (THREAD_SELF, robust_list, mutex);                         \
+  } while (0)
+# define DEQUEUE_MUTEX(mutex) \
+  do {                                                                       \
+    pthread_mutex_t *runp = THREAD_GETMEM (THREAD_SELF, robust_list);        \
+    if (runp == mutex)                                                       \
+      THREAD_SETMEM (THREAD_SELF, robust_list, runp->__data.__next);         \
+    else                                                                     \
+      {                                                                              \
+       while (runp->__data.__next != mutex)                                  \
+         runp = runp->__data.__next;                                         \
+                                                                             \
+       runp->__data.__next = runp->__data.__next->__data.__next;             \
+       mutex->__data.__next = NULL;                                          \
+      }                                                                              \
+  } while (0)
+#endif
+
   /* List of cleanup buffers.  */
   struct _pthread_cleanup_buffer *cleanup;
 
index c9237e0950553c0a1fa9e2afc8983cf89da35900..b88a32fefd0fad2e1d3ad5b9028c064b1c739d2d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -20,7 +20,7 @@
 #include <setjmp.h>
 #include <stdlib.h>
 #include "pthreadP.h"
-#include "atomic.h"
+#include <atomic.h>
 #include <bits/libc-lock.h>
 
 
index 96836a14a16f5bd90f5bb91922a4700680c0efd7..f72ea26e96086e4dacf82075388f800e2e04c343 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -20,7 +20,7 @@
 #include <setjmp.h>
 #include <stdlib.h>
 #include "pthreadP.h"
-#include "jmpbuf-unwind.h"
+#include <jmpbuf-unwind.h>
 
 void
 __pthread_cleanup_upto (__jmp_buf target, char *targetframe)
@@ -61,4 +61,3 @@ __pthread_cleanup_upto (__jmp_buf target, char *targetframe)
   THREAD_SETMEM (self, cleanup, cbuf);
 }
 hidden_def (__pthread_cleanup_upto)
-
index 24168146fa3742d267af0043df219cf6cf13bf19..61b7176159e25869949b9ad85e4658a79e5495be 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
 #endif
 
 
+/* Magic cookie representing robust mutex with dead owner.  */
+#define PTHREAD_MUTEX_OWNERDEAD                INT_MAX
+/* Magic cookie representing not recoverable robust mutex.  */
+#define PTHREAD_MUTEX_NOTRECOVERABLE   (INT_MAX - 1)
+
+
+/* Internal mutex type value.  */
+enum
+{
+  PTHREAD_MUTEX_ROBUST_PRIVATE_NP = 256,
+  PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP
+  = PTHREAD_MUTEX_ROBUST_PRIVATE_NP | PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP
+  = PTHREAD_MUTEX_ROBUST_PRIVATE_NP | PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP
+  = PTHREAD_MUTEX_ROBUST_PRIVATE_NP | PTHREAD_MUTEX_ADAPTIVE_NP
+};
+
+
+/* Flags in mutex attr.  */
+#define PTHREAD_MUTEXATTR_FLAG_ROBUST  0x40000000
+#define PTHREAD_MUTEXATTR_FLAG_PSHARED 0x80000000
+#define PTHREAD_MUTEXATTR_FLAG_BITS \
+  (PTHREAD_MUTEXATTR_FLAG_ROBUST | PTHREAD_MUTEXATTR_FLAG_PSHARED)
+
+
 /* Internal variables.  */
 
 
index c11d97257219c1aaa8b47f102a55e372b012a886..2dbe58dcd400415ea3641a10464d733d21af248d 100644 (file)
@@ -52,7 +52,7 @@ unsigned int __nptl_nthreads = 1;
 #include "allocatestack.c"
 
 /* Code to create the thread.  */
-#include "createthread.c"
+#include <createthread.c>
 
 
 struct pthread *
@@ -310,6 +310,33 @@ start_thread (void *arg)
      the breakpoint reports TD_THR_RUN state rather than TD_THR_ZOMBIE.  */
   atomic_bit_set (&pd->cancelhandling, EXITING_BIT);
 
+  /* If this thread has any robust mutexes locked, handle them now.  */
+  pthread_mutex_t *robust = THREAD_GETMEM (pd, robust_list);
+  if (__builtin_expect (robust != NULL, 0))
+    {
+      do
+       {
+         pthread_mutex_t *this = robust;
+         robust = robust->__data.__next;
+
+         assert (lll_mutex_islocked (this->__data.__lock));
+         this->__data.__count = 0;
+         --this->__data.__nusers;
+         assert (this->__data.__owner != PTHREAD_MUTEX_NOTRECOVERABLE);
+         this->__data.__owner = PTHREAD_MUTEX_OWNERDEAD;
+         this->__data.__next = NULL;
+#ifdef __PTHREAD_MUTEX_HAVE_PREV
+         this->__data.__prev = NULL;
+#endif
+
+         lll_mutex_unlock (this->__data.__lock);
+       }
+      while (robust != NULL);
+
+      /* Clean up so that the thread descriptor can be reused.  */
+      THREAD_SETMEM (pd, robust_list, NULL);
+    }
+
   /* If the thread is detached free the TCB.  */
   if (IS_DETACHED (pd))
     /* Free the TCB.  */
index f94128dd9623f832f31c4db4ad8f888c20a61c47..70dc81a023dd049767b316ea53851ddf6b95e405 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <stdlib.h>
 
-#include "atomic.h"
+#include <atomic.h>
 #include "pthreadP.h"
 
 
similarity index 61%
rename from sysdeps/generic/bits/uio.h
rename to nptl/pthread_mutex_consistent.c
index 410ce2a98ae1c6ba6b2979b709d09e832a9c71be..2edfe8a5a6a422839148dbef64f15147e20371d4 100644 (file)
@@ -1,5 +1,6 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2005.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _SYS_UIO_H
-# error "Never include <bits/uio.h> directly; use <sys/uio.h> instead."
-#endif
+#include <errno.h>
+#include <pthreadP.h>
 
 
-/* `struct iovec' -- Structure describing a section of memory.  */
-
-struct iovec
+int
+pthread_mutex_consistent_np (mutex)
+     pthread_mutex_t *mutex;
 {
-  /* Starting address.  */
-  __ptr_t iov_base;
-  /* Length in bytes.  */
-  size_t iov_len;
-};
+  /* Test whether this is a robust mutex with a dead owner.  */
+  if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_PRIVATE_NP) == 0
+      || mutex->__data.__owner != -THREAD_GETMEM (THREAD_SELF, tid))
+    return EINVAL;
+
+  mutex->__data.__owner = -mutex->__data.__owner;
+
+  return 0;
+}
index 91ccfb0d29d0d503bea3c09afe4fda8532c04a82..2bf76a9da3d141bcf70311d3a6e9037cc3f886f1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -28,6 +28,9 @@ __pthread_mutex_destroy (mutex)
   if (mutex->__data.__nusers != 0)
     return EBUSY;
 
+  /* Set to an invalid value.  */
+  mutex->__data.__kind = -1;
+
   return 0;
 }
 strong_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
index 074941daf36f2c2b696622f5d4962ba2997d7ff7..17d1c995751a9029970113099a92ac80a9d733f0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -18,6 +18,7 @@
    02111-1307 USA.  */
 
 #include <assert.h>
+#include <errno.h>
 #include <string.h>
 #include "pthreadP.h"
 
@@ -40,17 +41,26 @@ __pthread_mutex_init (mutex, mutexattr)
 
   imutexattr = (const struct pthread_mutexattr *) mutexattr ?: &default_attr;
 
+  /* Sanity checks.  */
+  // XXX For now we cannot implement robust mutexes if they are shared.
+  if ((imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_ROBUST) != 0
+      && (imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_PSHARED) != 0)
+    return ENOTSUP;
+
   /* Clear the whole variable.  */
   memset (mutex, '\0', __SIZEOF_PTHREAD_MUTEX_T);
 
   /* Copy the values from the attribute.  */
-  mutex->__data.__kind = imutexattr->mutexkind & ~0x80000000;
+  mutex->__data.__kind = imutexattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS;
+  if ((imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_ROBUST) != 0)
+    mutex->__data.__kind |= PTHREAD_MUTEX_ROBUST_PRIVATE_NP;
 
   /* Default values: mutex not used yet.  */
   // mutex->__count = 0;       already done by memset
   // mutex->__owner = 0;       already done by memset
   // mutex->__nusers = 0;      already done by memset
   // mutex->__spins = 0;       already done by memset
+  // mutex->__next = NULL;     already done by memset
 
   return 0;
 }
index ee39f208203272d54708f2e49437d7ffa84738ae..420711a4d43ee75e85955d5a98e22fb419928d56 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -19,6 +19,7 @@
 
 #include <assert.h>
 #include <errno.h>
+#include <stdlib.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
 
@@ -37,6 +38,7 @@ __pthread_mutex_lock (mutex)
 
   pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
 
+  int retval = 0;
   switch (__builtin_expect (mutex->__data.__kind, PTHREAD_MUTEX_TIMED_NP))
     {
       /* Recursive mutex.  */
@@ -57,23 +59,23 @@ __pthread_mutex_lock (mutex)
       /* We have to get the mutex.  */
       LLL_MUTEX_LOCK (mutex->__data.__lock);
 
+      assert (mutex->__data.__owner == 0);
       mutex->__data.__count = 1;
       break;
 
       /* Error checking mutex.  */
     case PTHREAD_MUTEX_ERRORCHECK_NP:
       /* Check whether we already hold the mutex.  */
-      if (mutex->__data.__owner == id)
+      if (__builtin_expect (mutex->__data.__owner == id, 0))
        return EDEADLK;
 
       /* FALLTHROUGH */
 
-    default:
-      /* Correct code cannot set any other type.  */
     case PTHREAD_MUTEX_TIMED_NP:
     simple:
       /* Normal mutex.  */
       LLL_MUTEX_LOCK (mutex->__data.__lock);
+      assert (mutex->__data.__owner == 0);
       break;
 
     case PTHREAD_MUTEX_ADAPTIVE_NP:
@@ -101,17 +103,79 @@ __pthread_mutex_lock (mutex)
 
          mutex->__data.__spins += (cnt - mutex->__data.__spins) / 8;
        }
+      assert (mutex->__data.__owner == 0);
+      break;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP:
+      /* Check whether we already hold the mutex.  */
+      if (abs (mutex->__data.__owner) == id)
+       {
+         /* Just bump the counter.  */
+         if (__builtin_expect (mutex->__data.__count + 1 == 0, 0))
+           /* Overflow of the counter.  */
+           return EAGAIN;
+
+         ++mutex->__data.__count;
+
+         return 0;
+       }
+
+      /* We have to get the mutex.  */
+      LLL_MUTEX_LOCK (mutex->__data.__lock);
+
+      mutex->__data.__count = 1;
+
+      goto robust;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP:
+      /* Check whether we already hold the mutex.  */
+      if (__builtin_expect (abs (mutex->__data.__owner) == id, 0))
+       return EDEADLK;
+
+      /* FALLTHROUGH */
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_NP:
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP:
+      LLL_MUTEX_LOCK (mutex->__data.__lock);
+
+    robust:
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_NOTRECOVERABLE, 0))
+       {
+         /* This mutex is now not recoverable.  */
+         mutex->__data.__count = 0;
+         lll_mutex_unlock (mutex->__data.__lock);
+         return ENOTRECOVERABLE;
+       }
+
+      /* This mutex is either healthy or we can try to recover it.  */
+      assert (mutex->__data.__owner == 0
+             || mutex->__data.__owner == PTHREAD_MUTEX_OWNERDEAD);
+
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_OWNERDEAD, 0))
+       {
+         retval = EOWNERDEAD;
+         /* We signal ownership of a not yet recovered robust mutex
+            by storing the negative thread ID.  */
+         id = -id;
+       }
+
+      ENQUEUE_MUTEX (mutex);
       break;
+
+    default:
+      /* Correct code cannot set any other type.  */
+      return EINVAL;
     }
 
   /* Record the ownership.  */
-  assert (mutex->__data.__owner == 0);
   mutex->__data.__owner = id;
 #ifndef NO_INCR
   ++mutex->__data.__nusers;
 #endif
 
-  return 0;
+  return retval;
 }
 #ifndef __pthread_mutex_lock
 strong_alias (__pthread_mutex_lock, pthread_mutex_lock)
index 1cd2c7e6064858ed9a4ae5c1ed9f3e4a042f533f..bc4ead765dc9a4b41b267565c5640a35ff27c5d6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -17,6 +17,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <errno.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
@@ -49,17 +50,15 @@ pthread_mutex_timedlock (mutex, abstime)
 
          goto out;
        }
-      else
-       {
-         /* We have to get the mutex.  */
-         result = lll_mutex_timedlock (mutex->__data.__lock, abstime);
 
-         if (result != 0)
-           goto out;
+      /* We have to get the mutex.  */
+      result = lll_mutex_timedlock (mutex->__data.__lock, abstime);
 
-         /* Only locked once so far.  */
-         mutex->__data.__count = 1;
-       }
+      if (result != 0)
+       goto out;
+
+      /* Only locked once so far.  */
+      mutex->__data.__count = 1;
       break;
 
       /* Error checking mutex.  */
@@ -70,8 +69,6 @@ pthread_mutex_timedlock (mutex, abstime)
 
       /* FALLTHROUGH */
 
-    default:
-      /* Correct code cannot set any other type.  */
     case PTHREAD_MUTEX_TIMED_NP:
     simple:
       /* Normal mutex.  */
@@ -104,6 +101,75 @@ pthread_mutex_timedlock (mutex, abstime)
          mutex->__data.__spins += (cnt - mutex->__data.__spins) / 8;
        }
       break;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP:
+      /* Check whether we already hold the mutex.  */
+      if (abs (mutex->__data.__owner) == id)
+       {
+         /* Just bump the counter.  */
+         if (__builtin_expect (mutex->__data.__count + 1 == 0, 0))
+           /* Overflow of the counter.  */
+           return EAGAIN;
+
+         ++mutex->__data.__count;
+
+         goto out;
+       }
+
+      /* We have to get the mutex.  */
+      result = lll_mutex_timedlock (mutex->__data.__lock, abstime);
+
+      if (result != 0)
+       goto out;
+
+      /* Only locked once so far.  */
+      mutex->__data.__count = 1;
+      goto robust;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP:
+      /* Check whether we already hold the mutex.  */
+      if (__builtin_expect (abs (mutex->__data.__owner) == id, 0))
+       return EDEADLK;
+
+      /* FALLTHROUGH */
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_NP:
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP:
+      result = lll_mutex_timedlock (mutex->__data.__lock, abstime);
+
+      if (result != 0)
+       goto out;
+
+    robust:
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_NOTRECOVERABLE, 0))
+       {
+         /* This mutex is now not recoverable.  */
+         mutex->__data.__count = 0;
+         lll_mutex_unlock (mutex->__data.__lock);
+         return ENOTRECOVERABLE;
+       }
+
+      /* This mutex is either healthy or we can try to recover it.  */
+      assert (mutex->__data.__owner == 0
+             || mutex->__data.__owner == PTHREAD_MUTEX_OWNERDEAD);
+
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_OWNERDEAD, 0))
+       {
+         result = EOWNERDEAD;
+         /* We signal ownership of a not yet recovered robust mutex
+            by storing the negative thread ID.  */
+         mutex->__data.__owner = -id;
+         ++mutex->__data.__nusers;
+       }
+
+      ENQUEUE_MUTEX (mutex);
+      break;
+
+    default:
+      /* Correct code cannot set any other type.  */
+      return EINVAL;
     }
 
   if (result == 0)
index 7008af3d97c4ce108504421e9b93eb469bcdc71e..ae73ecc39bbdf24913a9e3f94348e93aeef666bf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -17,7 +17,9 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <errno.h>
+#include <stdlib.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
 
@@ -26,13 +28,12 @@ int
 __pthread_mutex_trylock (mutex)
      pthread_mutex_t *mutex;
 {
-  pid_t id;
+  pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
 
   switch (__builtin_expect (mutex->__data.__kind, PTHREAD_MUTEX_TIMED_NP))
     {
       /* Recursive mutex.  */
     case PTHREAD_MUTEX_RECURSIVE_NP:
-      id = THREAD_GETMEM (THREAD_SELF, tid);
       /* Check whether we already hold the mutex.  */
       if (mutex->__data.__owner == id)
        {
@@ -56,20 +57,96 @@ __pthread_mutex_trylock (mutex)
       break;
 
     case PTHREAD_MUTEX_ERRORCHECK_NP:
-      /* Error checking mutex.  We do not check for deadlocks.  */
-    default:
-      /* Correct code cannot set any other type.  */
+      /* Check whether we already hold the mutex.  */
+      if (__builtin_expect (mutex->__data.__owner == id, 0))
+       return EDEADLK;
+
+      /* FALLTHROUGH */
+
     case PTHREAD_MUTEX_TIMED_NP:
     case PTHREAD_MUTEX_ADAPTIVE_NP:
       /* Normal mutex.  */
-      if (lll_mutex_trylock (mutex->__data.__lock) == 0)
+      if (lll_mutex_trylock (mutex->__data.__lock) != 0)
+       break;
+
+      /* Record the ownership.  */
+      mutex->__data.__owner = id;
+      ++mutex->__data.__nusers;
+
+      return 0;
+
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP:
+      /* Check whether we already hold the mutex.  */
+      if (abs (mutex->__data.__owner) == id)
        {
-         /* Record the ownership.  */
-         mutex->__data.__owner = THREAD_GETMEM (THREAD_SELF, tid);
-         ++mutex->__data.__nusers;
+         /* Just bump the counter.  */
+         if (__builtin_expect (mutex->__data.__count + 1 == 0, 0))
+           /* Overflow of the counter.  */
+           return EAGAIN;
+
+         ++mutex->__data.__count;
 
          return 0;
        }
+
+      /* We have to get the mutex.  */
+      if (lll_mutex_trylock (mutex->__data.__lock) == 0)
+       {
+         mutex->__data.__count = 1;
+
+         goto robust;
+       }
+
+      break;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP:
+      /* Check whether we already hold the mutex.  */
+      if (__builtin_expect (abs (mutex->__data.__owner) == id, 0))
+       return EDEADLK;
+
+      /* FALLTHROUGH */
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_NP:
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP:
+      if (lll_mutex_trylock (mutex->__data.__lock) != 0)
+       break;
+
+    robust:
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_NOTRECOVERABLE, 0))
+       {
+         /* This mutex is now not recoverable.  */
+         mutex->__data.__count = 0;
+         lll_mutex_unlock (mutex->__data.__lock);
+         return ENOTRECOVERABLE;
+       }
+
+      /* This mutex is either healthy or we can try to recover it.  */
+      assert (mutex->__data.__owner == 0
+             || mutex->__data.__owner == PTHREAD_MUTEX_OWNERDEAD);
+
+      /* Record the ownership.  */
+      int retval = 0;
+      if (__builtin_expect (mutex->__data.__owner
+                           == PTHREAD_MUTEX_OWNERDEAD, 0))
+       {
+         retval = EOWNERDEAD;
+         /* We signal ownership of a not yet recovered robust
+            mutex by storing the negative thread ID.  */
+         id = -id;
+       }
+
+      ENQUEUE_MUTEX (mutex);
+
+      mutex->__data.__owner = id;
+      ++mutex->__data.__nusers;
+
+      return retval
+;
+    default:
+      /* Correct code cannot set any other type.  */
+      return EINVAL;
     }
 
   return EBUSY;
index 32bc2a4bc185871d75840eb91c69234058c5b928..babce51a6f0d0389b23520a9346fe4f0af8a731e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -18,6 +18,7 @@
    02111-1307 USA.  */
 
 #include <errno.h>
+#include <stdlib.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
 
@@ -28,6 +29,8 @@ __pthread_mutex_unlock_usercnt (mutex, decr)
      pthread_mutex_t *mutex;
      int decr;
 {
+  int newowner = 0;
+
   switch (__builtin_expect (mutex->__data.__kind, PTHREAD_MUTEX_TIMED_NP))
     {
     case PTHREAD_MUTEX_RECURSIVE_NP:
@@ -47,16 +50,63 @@ __pthread_mutex_unlock_usercnt (mutex, decr)
        return EPERM;
       break;
 
-    default:
-      /* Correct code cannot set any other type.  */
     case PTHREAD_MUTEX_TIMED_NP:
     case PTHREAD_MUTEX_ADAPTIVE_NP:
       /* Normal mutex.  Nothing special to do.  */
       break;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_RECURSIVE_NP:
+      /* Recursive mutex.  */
+      if (mutex->__data.__owner == -THREAD_GETMEM (THREAD_SELF, tid))
+       {
+         if (--mutex->__data.__count != 0)
+           /* We still hold the mutex.  */
+           return ENOTRECOVERABLE;
+
+         goto notrecoverable;
+       }
+
+      if (mutex->__data.__owner != THREAD_GETMEM (THREAD_SELF, tid))
+       return EPERM;
+
+      if (--mutex->__data.__count != 0)
+       /* We still hold the mutex.  */
+       return 0;
+
+      goto robust;
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ERRORCHECK_NP:
+      /* Error checking mutex.  */
+      if (abs (mutex->__data.__owner) != THREAD_GETMEM (THREAD_SELF, tid)
+         || ! lll_mutex_islocked (mutex->__data.__lock))
+       return EPERM;
+
+      /* FALLTHROUGH */
+
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_NP:
+    case PTHREAD_MUTEX_ROBUST_PRIVATE_ADAPTIVE_NP:
+      /* If the previous owner died and the caller did not succeed in
+        making the state consistent, mark the mutex as unrecoverable
+        and make all waiters.  */
+      if (__builtin_expect (mutex->__data.__owner
+                           == -THREAD_GETMEM (THREAD_SELF, tid)
+                           || (mutex->__data.__owner
+                               == PTHREAD_MUTEX_NOTRECOVERABLE), 0))
+      notrecoverable:
+       newowner = PTHREAD_MUTEX_NOTRECOVERABLE;
+
+    robust:
+      /* Remove mutex from the list.  */
+      DEQUEUE_MUTEX (mutex);
+      break;
+
+    default:
+      /* Correct code cannot set any other type.  */
+      return EINVAL;
     }
 
   /* Always reset the owner field.  */
-  mutex->__data.__owner = 0;
+  mutex->__data.__owner = newowner;
   if (decr)
     /* One less user.  */
     --mutex->__data.__nusers;
index 4bd4ea18db48e061b533fd00daa6bae7310f129c..6454125db2d23bef269cd58096e253d38c8cff38 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -29,9 +29,7 @@ pthread_mutexattr_getpshared (attr, pshared)
 
   iattr = (const struct pthread_mutexattr *) attr;
 
-  /* We use bit 31 to signal whether the mutex is going to be
-     process-shared or not.  */
-  *pshared = ((iattr->mutexkind & 0x80000000) != 0
+  *pshared = ((iattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_PSHARED) != 0
              ? PTHREAD_PROCESS_SHARED : PTHREAD_PROCESS_PRIVATE);
 
   return 0;
similarity index 62%
rename from sysdeps/generic/bits/ipctypes.h
rename to nptl/pthread_mutexattr_getrobust.c
index b88ca1d87b0f0196d5c664407bf90a926cda7034..5ec43d1f7c569aa3bf3174fe830aacb118f62ecd 100644 (file)
@@ -1,6 +1,6 @@
-/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.  Generic.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2005.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-/*
- * Never include <bits/ipctypes.h> directly.
- */
+#include <pthreadP.h>
 
-#ifndef _BITS_IPCTYPES_H
-#define _BITS_IPCTYPES_H       1
 
-#include <bits/types.h>
+int
+pthread_mutexattr_getrobust_np (attr, robustness)
+     const pthread_mutexattr_t *attr;
+     int *robustness;
+{
+  const struct pthread_mutexattr *iattr;
 
-/* Used in `struct shmid_ds'.  */
-# if __WORDSIZE == 32
-typedef unsigned short int __ipc_pid_t;
-# else
-typedef int __ipc_pid_t;
-# endif
+  iattr = (const struct pthread_mutexattr *) attr;
 
+  *robustness = ((iattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_ROBUST) != 0
+                ? PTHREAD_MUTEX_ROBUST_NP : PTHREAD_MUTEX_STALLED_NP);
 
-#endif /* bits/ipctypes.h */
+  return 0;
+}
index 5c32b2c6f1c526e62de41290a2fc516176ded1ce..7303703bf403becbdf22734db7524fe22297d6fc 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -29,9 +29,7 @@ pthread_mutexattr_gettype (attr, kind)
 
   iattr = (const struct pthread_mutexattr *) attr;
 
-  /* We use bit 31 to signal whether the mutex is going to be
-     process-shared or not.  */
-  *kind = iattr->mutexkind & ~0x80000000;
+  *kind = iattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS;
 
   return 0;
 }
index 5f2cf417e38b39175962caeb649a81fd7d37a4be..8e08b9e16109844e60524dc5070d8b29c2a76984 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -34,12 +34,10 @@ pthread_mutexattr_setpshared (attr, pshared)
 
   iattr = (struct pthread_mutexattr *) attr;
 
-  /* We use bit 31 to signal whether the mutex is going to be
-     process-shared or not.  */
   if (pshared == PTHREAD_PROCESS_PRIVATE)
-    iattr->mutexkind &= ~0x80000000;
+    iattr->mutexkind &= ~PTHREAD_MUTEXATTR_FLAG_PSHARED;
   else
-    iattr->mutexkind |= 0x80000000;
+    iattr->mutexkind |= PTHREAD_MUTEXATTR_FLAG_PSHARED;
 
   return 0;
 }
similarity index 52%
rename from sysdeps/generic/bits/utmp.h
rename to nptl/pthread_mutexattr_setrobust.c
index 03a2b1f40b41e2e68696bdac547cd0ad3737fd4b..cf95e35b6fa40756ed32e20202f2f19218c883f9 100644 (file)
@@ -1,6 +1,6 @@
-/* The `struct utmp' type, describing entries in the utmp file.  Generic/BSDish
-   Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2005.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _UTMP_H
-# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
-#endif
+#include <errno.h>
+#include <pthreadP.h>
 
-#include <paths.h>
-#include <time.h>
 
+int
+pthread_mutexattr_setrobust_np (attr, robustness)
+     pthread_mutexattr_t *attr;
+     int robustness;
+{
+  if (robustness != PTHREAD_MUTEX_STALLED_NP
+      && __builtin_expect (robustness != PTHREAD_MUTEX_ROBUST_NP, 0))
+    return EINVAL;
 
-#define        UT_NAMESIZE     8
-#define        UT_LINESIZE     8
-#define        UT_HOSTSIZE     16
+  struct pthread_mutexattr *iattr = (struct pthread_mutexattr *) attr;
 
+  /* We use bit 30 to signal whether the mutex is going to be
+     robust or not.  */
+  if (robustness == PTHREAD_MUTEX_STALLED_NP)
+    iattr->mutexkind &= ~PTHREAD_MUTEXATTR_FLAG_ROBUST;
+  else
+    iattr->mutexkind |= PTHREAD_MUTEXATTR_FLAG_ROBUST;
 
-struct lastlog
-  {
-    time_t ll_time;
-    char ll_line[UT_LINESIZE];
-    char ll_host[UT_HOSTSIZE];
-  };
-
-struct utmp
-  {
-    char ut_line[UT_LINESIZE];
-    char ut_user[UT_NAMESIZE];
-#define ut_name ut_user
-    char ut_host[UT_HOSTSIZE];
-    long int ut_time;
-  };
-
-
-#define _HAVE_UT_HOST 1                /* We have the ut_host field.  */
+  return 0;
+}
index c77fe79df5e47a5a4a4e44ba44cbcea7410198d7..fe6b5c22cdaaaf7d82279788a1d42f43d5c163f6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -33,9 +33,7 @@ __pthread_mutexattr_settype (attr, kind)
 
   iattr = (struct pthread_mutexattr *) attr;
 
-  /* We use bit 31 to signal whether the mutex is going to be
-     process-shared or not.  */
-  iattr->mutexkind = (iattr->mutexkind & 0x80000000) | kind;
+  iattr->mutexkind = (iattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_BITS) | kind;
 
   return 0;
 }
index 1cc07213c8b8413ad4caba0e6bcb93477ca7b69c..5df6ab6a8085d6273bd80fb363437dd92b87fe23 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -19,7 +19,7 @@
 
 #include <errno.h>
 #include <stdlib.h>
-#include "atomic.h"
+#include <atomic.h>
 #include "pthreadP.h"
 
 
index 904cb5280b555acbd0c94b66f06ff84075752134..fc363dd778b90e0fe7ab9f901f1c70ee7e569ea3 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <stdlib.h>
 
-#include "atomic.h"
+#include <atomic.h>
 #include "pthreadP.h"
 
 
index badadae169ba87fba9e2583c76b5fd201e00d15a..5413661eb351b11d5738ec3fd8ddf3405684c875 100644 (file)
@@ -60,24 +60,39 @@ enum
 #endif
 };
 
-/* Mutex initializers.  */
-#define PTHREAD_MUTEX_INITIALIZER \
-  { { 0, 0, 0, 0, 0, 0 } }
+
 #ifdef __USE_GNU
-# if __WORDSIZE == 64
+/* Robust mutex or not flags.  */
+enum
+{
+  PTHREAD_MUTEX_STALLED_NP,
+  PTHREAD_MUTEX_ROBUST_NP
+};
+#endif
+
+
+/* Mutex initializers.  */
+#if __WORDSIZE == 64
+# define PTHREAD_MUTEX_INITIALIZER \
+  { { 0, 0, 0, 0, 0, 0, (void *) 0, (void *) 0 } }
+# ifdef __USE_GNU
 #  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0 } }
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, (void *) 0, (void *) 0 } }
 #  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0 } }
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, (void *) 0, (void *) 0 } }
 #  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0 } }
-# else
+  { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, (void *) 0, (void *) 0 } }
+# endif
+#else
+# define PTHREAD_MUTEX_INITIALIZER \
+  { { 0, 0, 0, 0, 0, { 0 } } }
+# ifdef __USE_GNU
 #  define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, 0 } }
+  { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }
 #  define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, 0 } }
+  { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0 } } }
 #  define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
-  { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, 0 } }
+  { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0 } } }
 # endif
 #endif
 
@@ -696,6 +711,12 @@ extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __THROW;
 
 
+#ifdef __USE_GNU
+/* Declare the state protected by MUTEX as consistent.  */
+extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) __THROW;
+#endif
+
+
 /* Functions for handling mutex attributes.  */
 
 /* Initialize mutex attribute object ATTR with default attributes
@@ -726,6 +747,16 @@ extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
      __THROW;
 #endif
 
+#ifdef __USE_GNU
+/* Get the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
+                                          int *__robustness) __THROW;
+
+/* Set the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
+                                          int __robustness) __THROW;
+#endif
+
 
 #if defined __USE_UNIX98 || defined __USE_XOPEN2K
 /* Functions for handling read-write locks.  */
index 4d36150a90ae585559179b055f34ae6f3f6e11f7..445a2cb36fae1448cbb9e157d2c62a491d019548 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
    SIGCANCEL or SIGTIMER to be handled.  */
 # define LIBC_SIGACTION        1
 
-# include <nptl/sysdeps/pthread/sigaction.c>
+/* Note this include must be one that isn't found using a -I directory such
+   as -I. or -I.. for using an explicit <sysdeps/...> path, because that
+   would reset the search path starting position for the #include_next
+   below, to after that -I directory, and skip the search we want to do.  */
+# include "sigaction.c"
 
 int
 __sigaction (sig, act, oact)
index ddb3574aaa17976e59c2f624517b4af3fe84ebaf..3bd101999564b697dd999722acca7f5663990869 100644 (file)
@@ -45,7 +45,7 @@ typedef union
 
 /* Data structures for mutex handling.  The structure of the attribute
    type is not exposed on purpose.  */
-typedef union
+typedef union __pthread_mutex_u
 {
   struct
   {
@@ -56,7 +56,11 @@ typedef union
        binary compatibility.  */
     int __kind;
     unsigned int __nusers;
-    int __spins;
+    union
+    {
+      int __spins;
+      union __pthread_mutex_u *__next;
+    };
   } __data;
   char __size[__SIZEOF_PTHREAD_MUTEX_T];
   long int __align;
index 1605b69b6902b7357f224208d96bdd4a4d1ff060..3e908aef9c2e0e5f13a87079c20fe2a560118142 100644 (file)
@@ -57,7 +57,7 @@ __new_sem_wait:
        cfi_offset(6, -12)              /* %esi */
 3:     movl    (%ebx), %eax
 2:     testl   %eax, %eax
-       je,pn   1f
+       je      1f
 
        leal    -1(%eax), %edx
        LOCK
@@ -73,7 +73,7 @@ __new_sem_wait:
        cfi_adjust_cfa_offset(-12)
        ret
 
-       cfi_adjust_cfa_offset(8)
+       cfi_adjust_cfa_offset(12)
        cfi_offset(3, -8)               /* %ebx */
        cfi_offset(6, -12)              /* %esi */
 1:     call    __pthread_enable_asynccancel
index 3d1c02181952210bdcd673cfc88e0ba872c6ecda..4e60596f7decaf115b1fe8d096da82325a7b1e59 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -19,7 +19,7 @@
 
 #include <unistd.h>
 #include <list.h>
-#include "fork.h"
+#include <fork.h>
 #include <dl-sysdep.h>
 #include <tls.h>
 #include <string.h>
index 9707e4663c204b2c9f0ba34f8275bd0a7f3b9e0c..cb5b2b832f0c16c59235b0496c588db1f80cd24d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
-#include "fork.h"
+#include <fork.h>
 
 
 /* Lock to protect allocation and deallocation of fork handlers.  */
index 72c8d615eb06c3885f4a3341a7008e0c24b399ba..964f5b70949aac74e311561f5ef9dd6d92c4d7d7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -19,7 +19,7 @@
 
 #include <errno.h>
 #include <stdlib.h>
-#include "fork.h"
+#include <fork.h>
 #include <atomic.h>
 
 
index 7f1ace693cb0f3ef01b9cd9ecd816da2350f4bc7..3eb33a8646cf60ff58fc89b13b8ae32915906590 100644 (file)
@@ -59,7 +59,7 @@ typedef union
 
 /* Data structures for mutex handling.  The structure of the attribute
    type is not exposed on purpose.  */
-typedef union
+typedef union __pthread_mutex_u
 {
   struct
   {
@@ -72,10 +72,19 @@ typedef union
     /* KIND must stay at this position in the structure to maintain
        binary compatibility.  */
     int __kind;
-#if __WORDSIZE != 64
+#if __WORDSIZE == 64
+    int __spins;
+    union __pthread_mutex_u *__next;
+    union __pthread_mutex_u *__prev;
+# define __PTHREAD_MUTEX_HAVE_PREV     1
+#else
     unsigned int __nusers;
+    union
+    {
+      int __spins;
+      union __pthread_mutex_u *__next;
+    };
 #endif
-    int __spins;
   } __data;
   char __size[__SIZEOF_PTHREAD_MUTEX_T];
   long int __align;
diff --git a/nptl/tst-cancel24.cc b/nptl/tst-cancel24.cc
new file mode 100644 (file)
index 0000000..52cf079
--- /dev/null
@@ -0,0 +1,113 @@
+#include <cstdlib>
+#include <cstdio>
+#include <pthread.h>
+#include <semaphore.h>
+#include <unistd.h>
+
+
+static volatile bool destr_called;
+static volatile bool except_caught;
+
+static pthread_barrier_t b;
+
+
+struct monitor
+{
+  // gcc is broken and would generate a warning without this dummy
+  // constructor.
+  monitor () { }
+  ~monitor() { destr_called = true; }
+};
+
+
+static void *
+tf (void *arg)
+{
+  sem_t *s = static_cast<sem_t *> (arg);
+
+  try
+    {
+      monitor m;
+
+      pthread_barrier_wait (&b);
+
+      while (1)
+      sem_wait (s);
+    }
+  catch (...)
+    {
+      except_caught = true;
+      throw;
+    }
+
+  return NULL;
+}
+
+
+static int
+do_test ()
+{
+  if (pthread_barrier_init (&b, NULL, 2) != 0)
+    {
+      puts ("barrier_init failed");
+      return 1;
+    }
+
+  sem_t s;
+  if (sem_init (&s, 0, 0) != 0)
+    {
+      puts ("sem_init failed");
+      return 1;
+    }
+
+  pthread_t th;
+  if (pthread_create (&th, NULL, tf, &s) != 0)
+    {
+      puts ("pthread_create failed");
+      return 1;
+    }
+
+  pthread_barrier_wait (&b);
+
+  /* There is unfortunately no better method to try to assure the
+     child thread reached the sem_wait call and is actually waiting
+     than to sleep here.  */
+  sleep (1);
+
+  if (pthread_cancel (th) != 0)
+    {
+      puts ("cancel failed");
+      return 1;
+    }
+
+  void *res;
+  if (pthread_join (th, &res) != 0)
+    {
+      puts ("join failed");
+      return 1;
+    }
+
+  if (res != PTHREAD_CANCELED)
+    {
+      puts ("thread was not canceled");
+      return 1;
+    }
+
+  if (! except_caught)
+    {
+      puts ("exception not caught");
+      return 1;
+    }
+
+  if (! destr_called)
+    {
+      puts ("destructor not called");
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#define TIMEOUT 3
+#include "../test-skeleton.c"
index 43b354a391e9eb210d945d7b194a59ca4b08fa56..1a74abb530c7977cca3a27145f26145635f822bf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -52,6 +52,8 @@ once_handler1 (void)
       exit (1);
     }
 
+  puts ("once_handler1: going to wait on cond");
+
   pthread_cond_wait (&cond, &mut);
 
   /* We should never get here.  */
@@ -139,6 +141,9 @@ do_test (void)
       puts ("join didn't return PTHREAD_CANCELED");
       return 1;
     }
+  puts ("joined successfully");
+
+  printf ("once = %d\n", *(int *) &once);
 
   if (cl_called != 1)
     {
diff --git a/nptl/tst-robust1.c b/nptl/tst-robust1.c
new file mode 100644 (file)
index 0000000..13267a5
--- /dev/null
@@ -0,0 +1,245 @@
+/* Copyright (C) 2005 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2005.
+
+   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 <errno.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+static pthread_mutex_t m;
+static pthread_barrier_t b;
+
+
+#ifndef LOCK
+# define LOCK(m) pthread_mutex_lock (m)
+#endif
+
+
+static void *
+tf (void *arg)
+{
+  long int round = (long int) arg;
+
+  if (pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL) != 0)
+    {
+      printf ("%ld: setcancelstate failed\n", round);
+      exit (1);
+    }
+
+  int e = LOCK (&m);
+  if (e != 0)
+    {
+      printf ("%ld: child: mutex_lock failed with error %d\n", round, e);
+      exit (1);
+    }
+
+  e = pthread_barrier_wait (&b);
+  if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD)
+    {
+      printf ("%ld: child: 1st barrier_wait failed\n", round);
+      exit (1);
+    }
+
+  e = pthread_barrier_wait (&b);
+  if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD)
+    {
+      printf ("%ld: child: 2nd barrier_wait failed\n", round);
+      exit (1);
+    }
+
+  pthread_testcancel ();
+
+  printf ("%ld: testcancel returned\n", round);
+  exit (1);
+}
+
+
+static int
+do_test (void)
+{
+#ifdef PREPARE_TMO
+  PREPARE_TMO;
+#endif
+
+  pthread_mutexattr_t a;
+  if (pthread_mutexattr_init (&a) != 0)
+    {
+      puts ("mutexattr_init failed");
+      return 1;
+    }
+  if (pthread_mutexattr_setrobust_np (&a, PTHREAD_MUTEX_ROBUST_NP) != 0)
+    {
+      puts ("mutexattr_setrobust failed");
+      return 1;
+    }
+#ifndef NOT_CONSISTENT
+  if (pthread_mutex_init (&m, &a) != 0)
+    {
+      puts ("mutex_init failed");
+      return 1;
+    }
+#endif
+
+  if (pthread_barrier_init (&b, NULL, 2) != 0)
+    {
+      puts ("barrier_init failed");
+      return 1;
+    }
+
+  for (long int round = 1; round < 5; ++round)
+    {
+#ifdef NOT_CONSISTENT
+      if (pthread_mutex_init (&m, &a) != 0)
+       {
+         puts ("mutex_init failed");
+         return 1;
+       }
+#endif
+
+      pthread_t th;
+      if (pthread_create (&th, NULL, tf, (void *) round) != 0)
+       {
+         printf ("%ld: create failed\n", round);
+         return 1;
+       }
+
+      int e = pthread_barrier_wait (&b);
+      if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD)
+       {
+         printf ("%ld: parent: 1st barrier_wait failed\n", round);
+         return 1;
+       }
+
+      if (pthread_cancel (th) != 0)
+       {
+         printf ("%ld: cancel failed\n", round);
+         return 1;
+       }
+
+      e = pthread_barrier_wait (&b);
+      if (e != 0 && e != PTHREAD_BARRIER_SERIAL_THREAD)
+       {
+         printf ("%ld: parent: 2nd barrier_wait failed\n", round);
+         return 1;
+       }
+
+#ifndef AFTER_JOIN
+      if (round & 1)
+#endif
+       {
+         void *res;
+         if (pthread_join (th, &res) != 0)
+           {
+             printf ("%ld: join failed\n", round);
+             return 1;
+           }
+         if (res != PTHREAD_CANCELED)
+           {
+             printf ("%ld: thread not canceled\n", round);
+             return 1;
+           }
+       }
+
+      e = LOCK (&m);
+      if (e == 0)
+       {
+         printf ("%ld: parent: mutex_lock succeeded\n", round);
+         return 1;
+       }
+      if (e != EOWNERDEAD)
+       {
+         printf ("%ld: parent: mutex_lock returned wrong code\n", round);
+         return 1;
+       }
+
+#ifndef AFTER_JOIN
+      if ((round & 1) == 0)
+       {
+         void *res;
+         if (pthread_join (th, &res) != 0)
+           {
+             printf ("%ld: join failed\n", round);
+             return 1;
+           }
+         if (res != PTHREAD_CANCELED)
+           {
+             printf ("%ld: thread not canceled\n", round);
+             return 1;
+           }
+       }
+#endif
+
+#ifndef NOT_CONSISTENT
+      e = pthread_mutex_consistent_np (&m);
+      if (e != 0)
+       {
+         printf ("%ld: mutex_consistent failed with error %d\n", round, e);
+         return 1;
+       }
+#endif
+
+      e = pthread_mutex_unlock (&m);
+      if (e != 0)
+       {
+         printf ("%ld: mutex_unlocked failed\n", round);
+         return 1;
+       }
+
+#ifdef NOT_CONSISTENT
+      e = LOCK (&m);
+      if (e == 0)
+       {
+         printf ("%ld: locking inconsistent mutex succeeded\n", round);
+         return 1;
+       }
+      if (e != ENOTRECOVERABLE)
+       {
+         printf ("%ld: locking inconsistent mutex failed with error %d\n",
+                 round, e);
+         return 1;
+       }
+
+      if (pthread_mutex_destroy (&m) != 0)
+       {
+         puts ("mutex_destroy failed");
+         return 1;
+       }
+#endif
+    }
+
+#ifndef NOT_CONSISTENT
+  if (pthread_mutex_destroy (&m) != 0)
+    {
+      puts ("mutex_destroy failed");
+      return 1;
+    }
+#endif
+
+  if (pthread_mutexattr_destroy (&a) != 0)
+    {
+      puts ("mutexattr_destroy failed");
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/nptl/tst-robust2.c b/nptl/tst-robust2.c
new file mode 100644 (file)
index 0000000..cf603fe
--- /dev/null
@@ -0,0 +1,3 @@
+#define AFTER_JOIN 1
+#define LOCK(m) pthread_mutex_trylock (m)
+#include "tst-robust1.c"
diff --git a/nptl/tst-robust3.c b/nptl/tst-robust3.c
new file mode 100644 (file)
index 0000000..e56f276
--- /dev/null
@@ -0,0 +1,20 @@
+#include <time.h>
+#include <sys/time.h>
+
+
+static struct timespec tmo;
+
+
+#define PREPARE_TMO \
+  do {                                                                       \
+    struct timeval tv;                                                       \
+    gettimeofday (&tv, NULL);                                                \
+                                                                             \
+    /* Define the timeout as one hour in the future.  */                     \
+    tmo.tv_sec = tv.tv_sec + 3600;                                           \
+    tmo.tv_nsec = 0;                                                         \
+  } while (0)
+
+
+#define LOCK(m) pthread_mutex_timedlock (m, &tmo)
+#include "tst-robust1.c"
diff --git a/nptl/tst-robust4.c b/nptl/tst-robust4.c
new file mode 100644 (file)
index 0000000..b9c42b8
--- /dev/null
@@ -0,0 +1,2 @@
+#define NOT_CONSISTENT 1
+#include "tst-robust1.c"
diff --git a/nptl/tst-robust5.c b/nptl/tst-robust5.c
new file mode 100644 (file)
index 0000000..b83d3d6
--- /dev/null
@@ -0,0 +1,2 @@
+#define NOT_CONSISTENT 1
+#include "tst-robust2.c"
diff --git a/nptl/tst-robust6.c b/nptl/tst-robust6.c
new file mode 100644 (file)
index 0000000..6713396
--- /dev/null
@@ -0,0 +1,2 @@
+#define NOT_CONSISTENT 1
+#include "tst-robust3.c"
diff --git a/nptl/tst-typesizes.c b/nptl/tst-typesizes.c
new file mode 100644 (file)
index 0000000..db8936f
--- /dev/null
@@ -0,0 +1,68 @@
+/* Copyright (C) 2005 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2005.
+
+   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 <stdio.h>
+#include <pthreadP.h>
+#include <semaphore.h>
+
+
+static int
+do_test (void)
+{
+  int result = 0;
+
+#define TEST_TYPE(name) \
+  printf ("%s: ", #name);                                                    \
+  if (sizeof (name) != sizeof (((name *) 0)->__size))                        \
+    {                                                                        \
+      printf ("expected %zu, is %zu\n",                                              \
+             sizeof (((name *) 0)->__size), sizeof (name));                  \
+      result = 1;                                                            \
+    }                                                                        \
+  else                                                                       \
+    puts ("OK")
+
+  TEST_TYPE (pthread_mutex_t);
+  TEST_TYPE (pthread_cond_t);
+  TEST_TYPE (pthread_rwlock_t);
+
+#define TEST_TYPE2(name, internal)                                           \
+  printf ("%s: ", #name);                                                    \
+  if (sizeof (((name *) 0)->__size) < sizeof (internal))                     \
+    {                                                                        \
+      printf ("expected %zu, is %zu\n",                                              \
+             sizeof (((name *) 0)->__size), sizeof (internal));              \
+      result = 1;                                                            \
+    }                                                                        \
+  else                                                                       \
+    puts ("OK")
+
+  TEST_TYPE2 (pthread_attr_t, struct pthread_attr);
+  TEST_TYPE2 (pthread_mutexattr_t, struct pthread_mutexattr);
+  TEST_TYPE2 (pthread_condattr_t, struct pthread_condattr);
+  TEST_TYPE2 (pthread_rwlockattr_t, struct pthread_rwlockattr);
+  TEST_TYPE2 (pthread_barrier_t, struct pthread_barrier);
+  TEST_TYPE2 (pthread_barrierattr_t, struct pthread_barrierattr);
+  TEST_TYPE2 (sem_t, struct sem);
+
+  return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
index 56a423815837da9a5e7fe5ffc3efe962ac6f7fa1..9a35695cb58db21f142b5cb44d9ad091704223fe 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>
    and Richard Henderson <rth@redhat.com>, 2003.
@@ -23,7 +23,7 @@
 #include <string.h>
 #include <unistd.h>
 #include "pthreadP.h"
-#include "jmpbuf-unwind.h"
+#include <jmpbuf-unwind.h>
 
 #ifdef HAVE_FORCED_UNWIND
 
index f2fd25fd6ddb2e0afd2b34ebed9b935890d252ef..1be6b7f4a57621f151c46eb2d440e08effcb169a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -23,7 +23,7 @@
 
 static const char banner[] =
 #include "banner.h"
-"Copyright (C) 2003 Free Software Foundation, Inc.\n\
+"Copyright (C) 2005 Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n"
index c1292352afb5ce1c8aa11eae462554f94340a8b4..e9994aefcb77920bb5f0c53feb8bda20eedd63cd 100644 (file)
@@ -1,2 +1,2 @@
 #define BE_AIO64
-#include "aio_read.c"
+#include <aio_read.c>
index e824c6b3de1dc76ad4ef0fece4216afd18f5f30e..0e3ba1f90b16c3bfbd727da0f484b5eadcf63474 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 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
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <signal.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 int
 __aio_sigqueue (sig, val, caller_pid)
index bb1693eeee4b57d714209b4988cf7411cb292e87..88d5c001ce39c4fe5854d40c5c96fe8887c81f1e 100644 (file)
@@ -1,2 +1,2 @@
 #define BE_AIO64
-#include "aio_write.c"
+#include <aio_write.c>
index a315066422374cb86c8113fbc9db727f0a331a32..c529fa42c88200799c2aeb467b5d6f74814e5753 100644 (file)
@@ -13,7 +13,17 @@ BEGIN { started = 0 }
 /^#/ { print; next }
 
 NF >= 1 && !started {
-  print "void dummy(void) {";
+  if (test) {
+    print "\n#include <stdio.h>";
+    print "\nstatic int do_test (void)\n{\n  int bad = 0, good = 0;\n";
+    print "#define TEST(name, source, expr) \\\n" \
+      "  if (asconst_##name != (expr)) { ++bad;" \
+      " fprintf (stderr, \"%s: %s is %ld but %s is %ld\\n\"," \
+      " source, #name, (long int) asconst_##name, #expr, (long int) (expr));" \
+      " } else ++good;\n";
+  }
+  else
+    print "void dummy(void) {";
   started = 1;
 }
 
@@ -25,8 +35,18 @@ NF == 1 { sub(/^.*$/, "& &"); }
 NF > 1 {
   name = $1;
   sub(/^[^     ]+[     ]+/, "");
-  printf "asm (\"@@@name@@@%s@@@value@@@%%0@@@end@@@\" : : \"i\" (%s));\n",
-    name, $0;
+  if (test)
+    print "  TEST (" name ", \"" FILENAME ":" FNR "\", " $0 ")";
+  else
+    printf "asm (\"@@@name@@@%s@@@value@@@%%0@@@end@@@\" : : \"i\" (%s));\n",
+      name, $0;
 }
 
-END { if (started) print "}" }
+END {
+  if (test) {
+    print "  printf (\"%d errors in %d tests\\n\", bad, good + bad);"
+    print "  return bad != 0 || good == 0;\n}\n";
+    print "#define TEST_FUNCTION do_test ()";
+  }
+  else if (started) print "}";
+}
index 2dc66c1ba31f2f21b8658bcf0f39786177729019..24a9b33c08703308e3f9015dd867ee8b5958d11a 100644 (file)
@@ -1,5 +1,6 @@
 /* Software floating-point emulation.
-   Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2002,2003,2005
+       Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@cygnus.com),
                  Jakub Jelinek (jj@ultra.linux.cz),
@@ -24,7 +25,7 @@
 #ifndef SOFT_FP_H
 #define SOFT_FP_H
 
-#include "sfp-machine.h"
+#include <sfp-machine.h>
 
 /* Allow sfp-machine to have its own byte order definitions. */
 #ifndef __BYTE_ORDER
index adce6345560939de7965cffbab143904de63d1af..b265aeee56f6365e97c16df9d26fe0caf03a61bb 100644 (file)
@@ -1,3 +1,3 @@
 #define GEN_THIS       __GT_BIGFILE
 #define tmpfile                tmpfile64
-#include "tmpfile.c"
+#include <tmpfile.c>
index fa65c95121a9856720d6122a0791cf2771dc09b4..f44c66b2834f0712d2e7559199beebda66ac9378 100644 (file)
@@ -63,8 +63,7 @@ tests         := tst-strtol tst-strtod testmb testrand testsort testdiv   \
                   test-canon test-canon2 tst-strtoll tst-environ           \
                   tst-xpg-basename tst-random tst-random2 tst-bsearch      \
                   tst-limits tst-rand48 bug-strtod tst-setcontext          \
-                  test-a64l tst-qsort tst-system testmb2 bug-strtod2       \
-                  tst-ucontext-off
+                  test-a64l tst-qsort tst-system testmb2 bug-strtod2
 
 include ../Makeconfig
 
@@ -125,7 +124,7 @@ endif
 
 $(objpfx)isomac.out: $(objpfx)isomac
        $(dir $<)$(notdir $<) '$(CC)'  \
-       '-I../include -I.. $(+sysdep-includes) $(sysincludes)' > $<.out
+       '-I../include $(+sysdep-includes) $(sysincludes) -I..' > $<.out
 
 isomac-CFLAGS = -O
 $(objpfx)isomac: isomac.c
diff --git a/stdlib/tst-ucontext-off.c b/stdlib/tst-ucontext-off.c
deleted file mode 100644 (file)
index 2e97f21..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <stddef.h>
-#include <stdio.h>
-#include <sys/ucontext.h>
-
-#include <ucontext_i.h>
-
-static int
-do_test  (void)
-{
-  int nerrors = 0;
-  int ntests = 0;
-
-#define TEST(member, val) \
-  do {                                                                 \
-    if (offsetof (struct ucontext, member) != val)                     \
-      {                                                                        \
-       printf ("offsetof(%s) = %zu, %s = %zu\n",                       \
-               #member, offsetof (struct ucontext, member),            \
-               #val, (size_t) val);                                    \
-       ++nerrors;                                                      \
-      }                                                                        \
-    ++ntests;                                                          \
-  } while (0)
-
-#ifdef TESTS
-  TESTS
-#endif
-
-  printf ("%d errors in %d tests\n", nerrors, ntests);
-
-  return nerrors != 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/sysdeps/generic/bits/atomic.h b/sysdeps/generic/bits/atomic.h
deleted file mode 100644 (file)
index 6245130..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
-
-   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_ATOMIC_H
-#define _BITS_ATOMIC_H 1
-
-/* We have by default no support for atomic operations.  So define
-   them non-atomic.  If this is a problem somebody will have to come
-   up with real definitions.  */
-
-/* The only basic operation needed is compare and exchange.  */
-#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
-  ({ __typeof (mem) __gmemp = (mem);                                 \
-     __typeof (*mem) __gret = *__gmemp;                                      \
-     __typeof (*mem) __gnewval = (newval);                           \
-                                                                     \
-     if (__gret == (oldval))                                         \
-       *__gmemp = __gnewval;                                         \
-     __gret; })
-
-#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
-  ({ __typeof (mem) __gmemp = (mem);                                 \
-     __typeof (*mem) __gnewval = (newval);                           \
-                                                                     \
-     *__gmemp == (oldval) ? (*__gmemp = __gnewval, 0) : 1; })
-
-#endif /* bits/atomic.h */
diff --git a/sysdeps/generic/bits/dirent.h b/sysdeps/generic/bits/dirent.h
deleted file mode 100644 (file)
index 3407ebd..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Directory entry structure `struct dirent'.  Stub version.
-   Copyright (C) 1996, 1997 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 _DIRENT_H
-# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
-#endif
-
-struct dirent
-  {
-    char d_name[1];            /* Variable length.  */
-    int d_fileno;
-  };
-
-#ifdef __USE_LARGEFILE64
-struct dirent64
-  {
-    char d_name[1];            /* Variable length.  */
-    int d_fileno;
-  };
-#endif
-
diff --git a/sysdeps/generic/bits/elfclass.h b/sysdeps/generic/bits/elfclass.h
deleted file mode 100644 (file)
index 180227d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/* This file specifies the native word size of the machine, which indicates
-   the ELF file class used for executables and shared objects on this
-   machine.  */
-
-#ifndef _LINK_H
-# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-#define __ELF_NATIVE_CLASS __WORDSIZE
-
-/* The entries in the .hash table always have a size of 32 bits.  */
-typedef uint32_t Elf_Symndx;
diff --git a/sysdeps/generic/bits/endian.h b/sysdeps/generic/bits/endian.h
deleted file mode 100644 (file)
index 45afd4a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* This file should define __BYTE_ORDER as appropriate for the machine
-   in question.  See string/endian.h for how to define it.
-
-   If only the stub bits/endian.h applies to a particular configuration,
-   bytesex.h is generated by running a program on the host machine.
-   So if cross-compiling to a machine with a different byte order,
-   the bits/endian.h file for that machine must exist.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#error Machine byte order unknown.
diff --git a/sysdeps/generic/bits/errno.h b/sysdeps/generic/bits/errno.h
deleted file mode 100644 (file)
index 89a5cfd..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991, 1994, 1996, 1997 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.  */
-
-/* This file defines the `errno' constants.  */
-
-#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath)
-#undef __need_Emath
-#define        __Emath_defined 1
-
-# define EDOM  XXX     <--- fill in what is actually needed
-# define EILSEQ        XXX     <--- fill in what is actually needed
-# define ERANGE        XXX     <--- fill in what is actually needed
-#endif
-
-#ifdef _ERRNO_H
-# error "Define here all the missing error messages for the port.  These"
-# error "must match the numbers of the kernel."
-# define Exxxx XXX
-...
-#endif
diff --git a/sysdeps/generic/bits/fcntl.h b/sysdeps/generic/bits/fcntl.h
deleted file mode 100644 (file)
index b397f81..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* O_*, F_*, FD_* bit values for stub configuration.
-   Copyright (C) 1991, 1992, 1997, 2000, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* These values should be changed as appropriate for your system.  */
-
-#ifndef        _FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-
-/* File access modes for `open' and `fcntl'.  */
-#define        O_RDONLY        0       /* Open read-only.  */
-#define        O_WRONLY        1       /* Open write-only.  */
-#define        O_RDWR          2       /* Open read/write.  */
-
-
-/* Bits OR'd into the second argument to open.  */
-#define        O_CREAT         0x0200  /* Create file if it doesn't exist.  */
-#define        O_EXCL          0x0800  /* Fail if file already exists.  */
-#define        O_TRUNC         0x0400  /* Truncate file to zero length.  */
-#define        O_NOCTTY        0x0100  /* Don't assign a controlling terminal.  */
-
-/* File status flags for `open' and `fcntl'.  */
-#define        O_APPEND        0x0008  /* Writes append to the file.  */
-#define        O_NONBLOCK      0x0004  /* Non-blocking I/O.  */
-
-#ifdef __USE_BSD
-# define O_NDELAY      O_NONBLOCK
-#endif
-
-/* Mask for file access modes.  This is system-dependent in case
-   some system ever wants to define some other flavor of access.  */
-#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
-
-/* Values for the second argument to `fcntl'.  */
-#define        F_DUPFD         0       /* Duplicate file descriptor.  */
-#define        F_GETFD         1       /* Get file descriptor flags.  */
-#define        F_SETFD         2       /* Set file descriptor flags.  */
-#define        F_GETFL         3       /* Get file status flags.  */
-#define        F_SETFL         4       /* Set file status flags.  */
-#if defined __USE_BSD || defined __USE_UNIX98
-# define F_GETOWN      5       /* Get owner (receiver of SIGIO).  */
-# define F_SETOWN      6       /* Set owner (receiver of SIGIO).  */
-#endif
-#define        F_GETLK         7       /* Get record locking info.  */
-#define        F_SETLK         8       /* Set record locking info.  */
-#define        F_SETLKW        9       /* Set record locking info, wait.  */
-
-/* File descriptor flags used with F_GETFD and F_SETFD.  */
-#define        FD_CLOEXEC      1       /* Close on exec.  */
-
-
-#include <bits/types.h>
-
-/* The structure describing an advisory lock.  This is the type of the third
-   argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests.  */
-struct flock
-  {
-    short int l_type;  /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
-    short int l_whence;        /* Where `l_start' is relative to (like `lseek').  */
-    __off_t l_start;   /* Offset where the lock begins.  */
-    __off_t l_len;     /* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;     /* Process holding the lock.  */
-  };
-
-/* Values for the `l_type' field of a `struct flock'.  */
-#define        F_RDLCK 1       /* Read lock.  */
-#define        F_WRLCK 2       /* Write lock.  */
-#define        F_UNLCK 3       /* Remove lock.  */
-
-/* Advise to `posix_fadvise'.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_FADV_NORMAL     0 /* No further special treatment.  */
-# define POSIX_FADV_RANDOM     1 /* Expect random page references.  */
-# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references.  */
-# define POSIX_FADV_WILLNEED   3 /* Will need these pages.  */
-# define POSIX_FADV_DONTNEED   4 /* Don't need these pages.  */
-# define POSIX_FADV_NOREUSE    5 /* Data will be accessed once.  */
-#endif
diff --git a/sysdeps/generic/bits/fenv.h b/sysdeps/generic/bits/fenv.h
deleted file mode 100644 (file)
index a9cb53b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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 _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Here should be the exception be defined:
-    FE_INVALID
-    FE_DIVBYZERO
-    FE_OVERFLOW
-    FE_UNDERFLOW
-    FE_INEXACT
-   We define no macro which signals no exception is supported.  */
-
-#define FE_ALL_EXCEPT 0
-
-
-/* Here should the rounding modes be defined:
-    FE_TONEAREST
-    FE_DOWNWARD
-    FE_UPWARD
-    FE_TOWARDZERO
-   We define no macro which signals no rounding mode is selectable.  */
-
-
-/* Type representing exception flags.  */
-typedef unsigned int fexcept_t;
-
-
-/* Type representing floating-point environment.  */
-typedef struct
-  {
-    fexcept_t __excepts;
-    /* XXX I don't know what else we should save.  */
-  }
-fenv_t;
-
-/* If the default argument is used we use this value.  */
-#define FE_DFL_ENV     ((__const fenv_t *) -1l)
diff --git a/sysdeps/generic/bits/fenvinline.h b/sysdeps/generic/bits/fenvinline.h
deleted file mode 100644 (file)
index 42f77b5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* This file provides inline versions of floating-pint environment
-   handling functions.  If there were any.  */
-
-#ifndef __NO_MATH_INLINES
-
-/* Here is where the code would go.  */
-
-#endif
diff --git a/sysdeps/generic/bits/huge_val.h b/sysdeps/generic/bits/huge_val.h
deleted file mode 100644 (file)
index e102ac3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Stub `HUGE_VAL' constant.
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   Copyright (C) 1992, 1996, 1997, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
-#endif
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VAL      (__builtin_huge_val())
-#else
-# define HUGE_VAL      1e37
-#endif
diff --git a/sysdeps/generic/bits/huge_valf.h b/sysdeps/generic/bits/huge_valf.h
deleted file mode 100644 (file)
index 4cb5ebd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Stub `HUGE_VALF' constant.
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   Copyright (C) 1992, 1996, 1997, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_valf.h> directly; include <math.h> instead."
-#endif
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VALF     (__builtin_huge_valf())
-#else
-# define HUGE_VALF     1e37f
-#endif
diff --git a/sysdeps/generic/bits/huge_vall.h b/sysdeps/generic/bits/huge_vall.h
deleted file mode 100644 (file)
index d5e8e22..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Default `HUGE_VALL' constant.
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   Copyright (C) 1992, 1996, 1997, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_vall.h> directly; include <math.h> instead."
-#endif
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VALL     (__builtin_huge_vall())
-#else
-# define HUGE_VALL     ((long double) HUGE_VAL)
-#endif
diff --git a/sysdeps/generic/bits/in.h b/sysdeps/generic/bits/in.h
deleted file mode 100644 (file)
index 31eb0f9..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright (C) 1997, 2000, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* Generic version.  */
-
-#ifndef _NETINET_IN_H
-# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
-#endif
-
-/* Options for use with `getsockopt' and `setsockopt' at the IP level.
-   The first word in the comment at the right is the data type used;
-   "bool" means a boolean value stored in an `int'.  */
-#define        IP_OPTIONS      1       /* ip_opts; IP per-packet options.  */
-#define        IP_HDRINCL      2       /* int; Header is included with data.  */
-#define        IP_TOS          3       /* int; IP type of service and precedence.  */
-#define        IP_TTL          4       /* int; IP time to live.  */
-#define        IP_RECVOPTS     5       /* bool; Receive all IP options w/datagram.  */
-#define        IP_RECVRETOPTS  6       /* bool; Receive IP options for response.  */
-#define        IP_RECVDSTADDR  7       /* bool; Receive IP dst addr w/datagram.  */
-#define        IP_RETOPTS      8       /* ip_opts; Set/get IP per-packet options.  */
-#define IP_MULTICAST_IF 9      /* in_addr; set/get IP multicast i/f */
-#define IP_MULTICAST_TTL 10    /* u_char; set/get IP multicast ttl */
-#define IP_MULTICAST_LOOP 11   /* i_char; set/get IP multicast loopback */
-#define IP_ADD_MEMBERSHIP 12   /* ip_mreq; add an IP group membership */
-#define IP_DROP_MEMBERSHIP 13  /* ip_mreq; drop an IP group membership */
-
-/* Structure used to describe IP options for IP_OPTIONS and IP_RETOPTS.
-   The `ip_dst' field is used for the first-hop gateway when using a
-   source route (this gets put into the header proper).  */
-struct ip_opts
-  {
-    struct in_addr ip_dst;     /* First hop; zero without source route.  */
-    char ip_opts[40];          /* Actually variable in size.  */
-  };
-
-/* IPV6 socket options.  */
-#define IPV6_ADDRFORM          1
-#define IPV6_RXINFO            2
-#define IPV6_HOPOPTS           3
-#define IPV6_DSTOPTS           4
-#define IPV6_RTHDR             5
-#define IPV6_PKTOPTIONS                6
-#define IPV6_CHECKSUM          7
-#define IPV6_HOPLIMIT          8
-
-#define IPV6_TXINFO            IPV6_RXINFO
-#define SCM_SRCINFO            IPV6_TXINFO
-#define SCM_SRCRT              IPV6_RXSRCRT
-
-#define IPV6_UNICAST_HOPS      16
-#define IPV6_MULTICAST_IF      17
-#define IPV6_MULTICAST_HOPS    18
-#define IPV6_MULTICAST_LOOP    19
-#define IPV6_JOIN_GROUP                20
-#define IPV6_LEAVE_GROUP       21
-
-/* Obsolete synonyms for the above.  */
-#define IPV6_ADD_MEMBERSHIP    IPV6_JOIN_GROUP
-#define IPV6_DROP_MEMBERSHIP   IPV6_LEAVE_GROUP
-#define IPV6_RXHOPOPTS         IPV6_HOPOPTS
-#define IPV6_RXDSTOPTS         IPV6_DSTOPTS
-
-/* Routing header options for IPv6.  */
-#define IPV6_RTHDR_LOOSE       0       /* Hop doesn't need to be neighbour. */
-#define IPV6_RTHDR_STRICT      1       /* Hop must be a neighbour.  */
-
-#define IPV6_RTHDR_TYPE_0      0       /* IPv6 Routing header type 0.  */
diff --git a/sysdeps/generic/bits/inf.h b/sysdeps/generic/bits/inf.h
deleted file mode 100644 (file)
index 2d526ad..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Default `INFINITY' constant.
-   Copyright (C) 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MATH_H
-# error "Never use <bits/inf.h> directly; include <math.h> instead."
-#endif
-
-/* If we don't have real infinity, then we're supposed to produce a float
-   value that overflows at translation time, which is required to produce
-   a diagnostic.  GCC's __builtin_inff produces a quite nice diagnostic
-   that tells the user that the target doesn't support infinities.  */
-
-#if __GNUC_PREREQ(3,3)
-# define INFINITY      (__builtin_inff())
-#else
-# define INFINITY      (1e9999f)
-#endif
diff --git a/sysdeps/generic/bits/ioctl-types.h b/sysdeps/generic/bits/ioctl-types.h
deleted file mode 100644 (file)
index 58b78a6..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Structure types for pre-termios terminal ioctls.  Generic Unix version.
-   Copyright (C) 1996, 1997 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 _SYS_IOCTL_H
-# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
-#endif
-
-#if defined TIOCGETC || defined TIOCSETC
-/* Type of ARG for TIOCGETC and TIOCSETC requests.  */
-struct tchars
-{
-  char t_intrc;                        /* Interrupt character.  */
-  char t_quitc;                        /* Quit character.  */
-  char t_startc;               /* Start-output character.  */
-  char t_stopc;                        /* Stop-output character.  */
-  char t_eofc;                 /* End-of-file character.  */
-  char t_brkc;                 /* Input delimiter character.  */
-};
-
-#define        _IOT_tchars     /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (char), 6, 0, 0, 0, 0)
-#endif
-
-#if defined TIOCGLTC || defined TIOCSLTC
-/* Type of ARG for TIOCGLTC and TIOCSLTC requests.  */
-struct ltchars
-{
-  char t_suspc;                        /* Suspend character.  */
-  char t_dsuspc;               /* Delayed suspend character.  */
-  char t_rprntc;               /* Reprint-line character.  */
-  char t_flushc;               /* Flush-output character.  */
-  char t_werasc;               /* Word-erase character.  */
-  char t_lnextc;               /* Literal-next character.  */
-};
-
-#define        _IOT_ltchars    /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (char), 6, 0, 0, 0, 0)
-#endif
-
-/* Type of ARG for TIOCGETP and TIOCSETP requests (and gtty and stty).  */
-struct sgttyb
-{
-  char sg_ispeed;              /* Input speed.  */
-  char sg_ospeed;              /* Output speed.  */
-  char sg_erase;               /* Erase character.  */
-  char sg_kill;                        /* Kill character.  */
-  short int sg_flags;          /* Mode flags.  */
-};
-
-#define        _IOT_sgttyb     /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (char), 6, _IOTS (short int), 1, 0, 0)
-
-#if defined TIOCGWINSZ || defined TIOCSWINSZ
-/* Type of ARG for TIOCGWINSZ and TIOCSWINSZ requests.  */
-struct winsize
-{
-  unsigned short int ws_row;   /* Rows, in characters.  */
-  unsigned short int ws_col;   /* Columns, in characters.  */
-
-  /* These are not actually used.  */
-  unsigned short int ws_xpixel;        /* Horizontal pixels.  */
-  unsigned short int ws_ypixel;        /* Vertical pixels.  */
-};
-
-#define        _IOT_winsize    /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (unsigned short int), 4, 0, 0, 0, 0)
-#endif
-
-#if defined TIOCGSIZE || defined TIOCSSIZE
-/* The BSD-style ioctl constructor macros use `sizeof', which can't be used
-   in a preprocessor conditional.  Since the commands are always unique
-   regardless of the size bits, we can safely define away `sizeof' for the
-   purpose of the conditional.  */
-#  define sizeof(type) 0
-#  if defined TIOCGWINSZ && TIOCGSIZE == TIOCGWINSZ
-/* Many systems that have TIOCGWINSZ define TIOCGSIZE for source
-   compatibility with Sun; they define `struct ttysize' to have identical
-   layout as `struct winsize' and #define TIOCGSIZE to be TIOCGWINSZ
-   (likewise TIOCSSIZE and TIOCSWINSZ).  */
-struct ttysize
-{
-  unsigned short int ts_lines;
-  unsigned short int ts_cols;
-  unsigned short int ts_xxx;
-  unsigned short int ts_yyy;
-};
-#define        _IOT_ttysize    _IOT_winsize
-#  else
-/* Suns use a different layout for `struct ttysize', and TIOCGSIZE and
-   TIOCGWINSZ are separate commands that do the same thing with different
-   structures (likewise TIOCSSIZE and TIOCSWINSZ).  */
-struct ttysize
-{
-  int ts_lines, ts_cols;       /* Lines and columns, in characters.  */
-};
-#  endif
-#  undef sizeof                        /* See above.  */
-#endif
diff --git a/sysdeps/generic/bits/ioctls.h b/sysdeps/generic/bits/ioctls.h
deleted file mode 100644 (file)
index d3ecad9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef _SYS_IOCTL_H
-# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
-#endif
-
-/* This space intentionally left blank.  */
diff --git a/sysdeps/generic/bits/ipc.h b/sysdeps/generic/bits/ipc.h
deleted file mode 100644 (file)
index 5ba227d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 1999 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 _SYS_IPC_H
-# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Mode bits for `msgget', `semget', and `shmget'.  */
-#define IPC_CREAT      01000           /* create key if key does not exist */
-#define IPC_EXCL       02000           /* fail if key exists */
-#define IPC_NOWAIT     04000           /* return error on wait */
-
-/* Control commands for `msgctl', `semctl', and `shmctl'.  */
-#define IPC_RMID       0               /* remove identifier */
-#define IPC_SET                1               /* set `ipc_perm' options */
-#define IPC_STAT       2               /* get `ipc_perm' options */
-
-/* Special key values.  */
-#define IPC_PRIVATE    ((key_t) 0)     /* private key */
-
-
-/* Data structure used to pass permission information to IPC operations.  */
-struct ipc_perm
-  {
-    __uid_t uid;                       /* owner's user ID */
-    __gid_t gid;                       /* owner's group ID */
-    __uid_t cuid;                      /* creator's user ID */
-    __gid_t cgid;                      /* creator's group ID */
-    __mode_t mode;                     /* read/write permission */
-  };
diff --git a/sysdeps/generic/bits/libc-lock.h b/sysdeps/generic/bits/libc-lock.h
deleted file mode 100644 (file)
index 3f9c211..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/* libc-internal interface for mutex locks.  Stub version.
-   Copyright (C) 1996,97,99,2000-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_LIBC_LOCK_H
-#define _BITS_LIBC_LOCK_H 1
-
-
-/* Define a lock variable NAME with storage class CLASS.  The lock must be
-   initialized with __libc_lock_init before it can be used (or define it
-   with __libc_lock_define_initialized, below).  Use `extern' for CLASS to
-   declare a lock defined in another module.  In public structure
-   definitions you must use a pointer to the lock structure (i.e., NAME
-   begins with a `*'), because its storage size will not be known outside
-   of libc.  */
-#define __libc_lock_define(CLASS,NAME)
-#define __libc_lock_define_recursive(CLASS,NAME)
-#define __rtld_lock_define_recursive(CLASS,NAME)
-#define __libc_rwlock_define(CLASS,NAME)
-
-/* Define an initialized lock variable NAME with storage class CLASS.  */
-#define __libc_lock_define_initialized(CLASS,NAME)
-#define __libc_rwlock_define_initialized(CLASS,NAME)
-
-/* Define an initialized recursive lock variable NAME with storage
-   class CLASS.  */
-#define __libc_lock_define_initialized_recursive(CLASS,NAME)
-#define __rtld_lock_define_initialized_recursive(CLASS,NAME)
-
-/* Initialize the named lock variable, leaving it in a consistent, unlocked
-   state.  */
-#define __libc_lock_init(NAME)
-#define __libc_rwlock_init(NAME)
-
-/* Same as last but this time we initialize a recursive mutex.  */
-#define __libc_lock_init_recursive(NAME)
-#define __rtld_lock_init_recursive(NAME)
-
-/* Finalize the named lock variable, which must be locked.  It cannot be
-   used again until __libc_lock_init is called again on it.  This must be
-   called on a lock variable before the containing storage is reused.  */
-#define __libc_lock_fini(NAME)
-#define __libc_rwlock_fini(NAME)
-
-/* Finalize recursive named lock.  */
-#define __libc_lock_fini_recursive(NAME)
-
-/* Lock the named lock variable.  */
-#define __libc_lock_lock(NAME)
-#define __libc_rwlock_rdlock(NAME)
-#define __libc_rwlock_wrlock(NAME)
-
-/* Lock the recursive named lock variable.  */
-#define __libc_lock_lock_recursive(NAME)
-#define __rtld_lock_lock_recursive(NAME)
-
-/* Try to lock the named lock variable.  */
-#define __libc_lock_trylock(NAME) 0
-#define __libc_rwlock_tryrdlock(NAME) 0
-#define __libc_rwlock_trywrlock(NAME) 0
-
-/* Try to lock the recursive named lock variable.  */
-#define __libc_lock_trylock_recursive(NAME) 0
-
-/* Unlock the named lock variable.  */
-#define __libc_lock_unlock(NAME)
-#define __libc_rwlock_unlock(NAME)
-
-/* Unlock the recursive named lock variable.  */
-#define __libc_lock_unlock_recursive(NAME)
-#define __rtld_lock_unlock_recursive(NAME)
-
-
-/* Define once control variable.  */
-#define __libc_once_define(CLASS, NAME) CLASS int NAME = 0
-
-/* Call handler iff the first call.  */
-#define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \
-  do {                                                                       \
-    if ((ONCE_CONTROL) == 0) {                                               \
-      INIT_FUNCTION ();                                                              \
-      (ONCE_CONTROL) = 1;                                                    \
-    }                                                                        \
-  } while (0)
-
-
-/* Start a critical region with a cleanup function */
-#define __libc_cleanup_region_start(DOIT, FCT, ARG)                        \
-{                                                                          \
-  typeof (***(FCT)) *__save_FCT = (DOIT) ? (FCT) : 0;                      \
-  typeof (ARG) __save_ARG = ARG;                                           \
-  /* close brace is in __libc_cleanup_region_end below. */
-
-/* End a critical region started with __libc_cleanup_region_start. */
-#define __libc_cleanup_region_end(DOIT)                                            \
-  if ((DOIT) && __save_FCT != 0)                                           \
-    (*__save_FCT)(__save_ARG);                                             \
-}
-
-/* Sometimes we have to exit the block in the middle.  */
-#define __libc_cleanup_end(DOIT)                                           \
-  if ((DOIT) && __save_FCT != 0)                                           \
-    (*__save_FCT)(__save_ARG);                                             \
-
-#define __libc_cleanup_push(fct, arg) __libc_cleanup_region_start (1, fct, arg)
-#define __libc_cleanup_pop(execute) __libc_cleanup_region_end (execute)
-
-/* We need portable names for some of the functions.  */
-#define __libc_mutex_unlock
-
-/* Type for key of thread specific data.  */
-typedef int __libc_key_t;
-
-/* Create key for thread specific data.  */
-#define __libc_key_create(KEY,DEST) -1
-
-/* Set thread-specific data associated with KEY to VAL.  */
-#define __libc_setspecific(KEY,VAL) ((void)0)
-
-/* Get thread-specific data associated with KEY.  */
-#define __libc_getspecific(KEY) 0
-
-#endif /* bits/libc-lock.h */
diff --git a/sysdeps/generic/bits/libc-tsd.h b/sysdeps/generic/bits/libc-tsd.h
deleted file mode 100644 (file)
index d393829..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* libc-internal interface for thread-specific data.  Stub or TLS version.
-   Copyright (C) 1998,2001,02 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 _GENERIC_BITS_LIBC_TSD_H
-#define _GENERIC_BITS_LIBC_TSD_H 1
-
-/* This file defines the following macros for accessing a small fixed
-   set of thread-specific `void *' data used only internally by libc.
-
-   __libc_tsd_define(CLASS, KEY)       -- Define or declare a `void *' datum
-                                          for KEY.  CLASS can be `static' for
-                                          keys used in only one source file,
-                                          empty for global definitions, or
-                                          `extern' for global declarations.
-   __libc_tsd_address(KEY)             -- Return the `void **' pointing to
-                                          the current thread's datum for KEY.
-   __libc_tsd_get(KEY)                 -- Return the `void *' datum for KEY.
-   __libc_tsd_set(KEY, VALUE)          -- Set the datum for KEY to VALUE.
-
-   The set of available KEY's will usually be provided as an enum,
-   and contains (at least):
-               _LIBC_TSD_KEY_MALLOC
-               _LIBC_TSD_KEY_DL_ERROR
-               _LIBC_TSD_KEY_RPC_VARS
-   All uses must be the literal _LIBC_TSD_* name in the __libc_tsd_* macros.
-   Some implementations may not provide any enum at all and instead
-   using string pasting in the macros.  */
-
-#include <tls.h>
-
-/* When full support for __thread variables is available, this interface is
-   just a trivial wrapper for it.  Without TLS, this is the generic/stub
-   implementation for wholly single-threaded systems.
-
-   We don't define an enum for the possible key values, because the KEYs
-   translate directly into variables by macro magic.  */
-
-#if USE___THREAD
-# define __libc_tsd_define(CLASS, KEY) \
-  CLASS __thread void *__libc_tsd_##KEY attribute_tls_model_ie;
-
-# define __libc_tsd_address(KEY)       (&__libc_tsd_##KEY)
-# define __libc_tsd_get(KEY)           (__libc_tsd_##KEY)
-# define __libc_tsd_set(KEY, VALUE)    (__libc_tsd_##KEY = (VALUE))
-#else
-# define __libc_tsd_define(CLASS, KEY) CLASS void *__libc_tsd_##KEY##_data;
-
-# define __libc_tsd_address(KEY)       (&__libc_tsd_##KEY##_data)
-# define __libc_tsd_get(KEY)           (__libc_tsd_##KEY##_data)
-# define __libc_tsd_set(KEY, VALUE)    (__libc_tsd_##KEY##_data = (VALUE))
-#endif
-
-#endif /* bits/libc-tsd.h */
diff --git a/sysdeps/generic/bits/local_lim.h b/sysdeps/generic/bits/local_lim.h
deleted file mode 100644 (file)
index 42cc7eb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/* This file should define the implementation-specific limits described
-   in posix[12]_lim.h.  If there are no useful values to give a limit,
-   don't define it.  */
diff --git a/sysdeps/generic/bits/mathdef.h b/sysdeps/generic/bits/mathdef.h
deleted file mode 100644 (file)
index 00c6724..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF       1
-
-/* Normally, there is no long double type and the `float' and `double'
-   expressions are evaluated as `double'.  */
-typedef double float_t;                /* `float' expressions are evaluated as
-                                  `double'.  */
-typedef double double_t;       /* `double' expressions are evaluated as
-                                  `double'.  */
-
-/* The values returned by `ilogb' for 0 and NaN respectively.  */
-# define FP_ILOGB0     (-2147483647)
-# define FP_ILOGBNAN   2147483647
-
-#endif /* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'.  The disables the
-   declaration of all the `long double' function variants.  */
-# define __NO_LONG_DOUBLE_MATH 1
-#endif
diff --git a/sysdeps/generic/bits/mathinline.h b/sysdeps/generic/bits/mathinline.h
deleted file mode 100644 (file)
index 5498af6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This file should provide inline versions of math functions.
-
-   Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inline'.
-
-   This file should define __MATH_INLINES if functions are actually defined as
-   inlines.  */
-
-#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
-
-/* Here goes the real code.  */
-
-#endif
diff --git a/sysdeps/generic/bits/mqueue.h b/sysdeps/generic/bits/mqueue.h
deleted file mode 100644 (file)
index 27bb482..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _MQUEUE_H
-# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
-#endif
-
-typedef int mqd_t;
-
-struct mq_attr
-{
-  long int mq_flags;   /* Message queue flags.  */
-  long int mq_maxmsg;  /* Maximum number of messages.  */
-  long int mq_msgsize; /* Maximum message size.  */
-  long int mq_curmsgs; /* Number of messages currently queued.  */
-};
diff --git a/sysdeps/generic/bits/msq.h b/sysdeps/generic/bits/msq.h
deleted file mode 100644 (file)
index 0125c43..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1995, 1997, 2000 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 _SYS_MSG_H
-#error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Define options for message queue functions.  */
-#define MSG_NOERROR    010000  /* no error if message is too big */
-
-/* Types used in the structure definition.  */
-typedef unsigned short int msgqnum_t;
-typedef unsigned short int msglen_t;
-
-
-/* Structure of record for one message inside the kernel.
-   The type `struct __msg' is opaque.  */
-struct msqid_ds
-{
-  struct ipc_perm msg_perm;    /* structure describing operation permission */
-  __time_t msg_stime;          /* time of last msgsnd command */
-  __time_t msg_rtime;          /* time of last msgrcv command */
-  __time_t msg_ctime;          /* time of last change */
-  msgqnum_t msg_qnum;          /* number of messages currently on queue */
-  msglen_t msg_qbytes;         /* max number of bytes allowed on queue */
-  __pid_t msg_lspid;           /* pid of last msgsnd() */
-  __pid_t msg_lrpid;           /* pid of last msgrcv() */
-};
diff --git a/sysdeps/generic/bits/nan.h b/sysdeps/generic/bits/nan.h
deleted file mode 100644 (file)
index ab38168..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef _MATH_H
-#error "Never use <bits/nan.h> directly; include <math.h> instead."
-#endif
-
-/* This file should define `NAN' on machines that have such things.  */
diff --git a/sysdeps/generic/bits/netdb.h b/sysdeps/generic/bits/netdb.h
deleted file mode 100644 (file)
index 41dc731..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 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 _NETDB_H
-# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
-#endif
-
-
-/* Description of data base entry for a single network.  NOTE: here a
-   poor assumption is made.  The network number is expected to fit
-   into an unsigned long int variable.  */
-struct netent
-{
-  char *n_name;                        /* Official name of network.  */
-  char **n_aliases;            /* Alias list.  */
-  int n_addrtype;              /* Net address type.  */
-  uint32_t n_net;              /* Network number.  */
-};
diff --git a/sysdeps/generic/bits/poll.h b/sysdeps/generic/bits/poll.h
deleted file mode 100644 (file)
index 022a06c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1997, 2000, 2001 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 _SYS_POLL_H
-# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
-#endif
-
-/* Event types that can be polled for.  These bits may be set in `events'
-   to indicate the interesting event types; they will appear in `revents'
-   to indicate the status of the file descriptor.  */
-#define POLLIN         01              /* There is data to read.  */
-#define POLLPRI                02              /* There is urgent data to read.  */
-#define POLLOUT                04              /* Writing now will not block.  */
-
-#ifdef __USE_XOPEN
-/* These values are defined in XPG4.2.  */
-# define POLLRDNORM    POLLIN          /* Normal data may be read.  */
-# define POLLRDBAND    POLLPRI         /* Priority data may be read.  */
-# define POLLWRNORM    POLLOUT         /* Writing now will not block.  */
-# define POLLWRBAND    POLLOUT         /* Priority data may be written.  */
-#endif
-
-/* Event types always implicitly polled for.  These bits need not be set in
-   `events', but they will appear in `revents' to indicate the status of
-   the file descriptor.  */
-#define POLLERR         010             /* Error condition.  */
-#define POLLHUP         020             /* Hung up.  */
-#define POLLNVAL        040             /* Invalid polling request.  */
diff --git a/sysdeps/generic/bits/posix_opt.h b/sysdeps/generic/bits/posix_opt.h
deleted file mode 100644 (file)
index 54f5a79..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/* This file should define the POSIX options described in <unistd.h>,
-   or leave them undefined, as appropriate.  */
diff --git a/sysdeps/generic/bits/pthreadtypes.h b/sysdeps/generic/bits/pthreadtypes.h
deleted file mode 100644 (file)
index 0e26952..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/* No thread support.  */
diff --git a/sysdeps/generic/bits/resource.h b/sysdeps/generic/bits/resource.h
deleted file mode 100644 (file)
index 05b28df..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Bit values & structures for resource limits.  4.4 BSD/generic GNU version.
-   Copyright (C) 1994, 1996, 1997, 1998 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 _SYS_RESOURCE_H
-# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* These are the values for 4.4 BSD and GNU.  Earlier BSD systems have a
-   subset of these kinds of resource limit.  In systems where `getrlimit'
-   and `setrlimit' are not system calls, these are the values used by the C
-   library to emulate them.  */
-
-/* Kinds of resource limit.  */
-enum __rlimit_resource
-  {
-    /* Per-process CPU limit, in seconds.  */
-    RLIMIT_CPU,
-#define        RLIMIT_CPU      RLIMIT_CPU
-    /* Largest file that can be created, in bytes.  */
-    RLIMIT_FSIZE,
-#define        RLIMIT_FSIZE    RLIMIT_FSIZE
-    /* Maximum size of data segment, in bytes.  */
-    RLIMIT_DATA,
-#define        RLIMIT_DATA     RLIMIT_DATA
-    /* Maximum size of stack segment, in bytes.  */
-    RLIMIT_STACK,
-#define        RLIMIT_STACK    RLIMIT_STACK
-    /* Largest core file that can be created, in bytes.  */
-    RLIMIT_CORE,
-#define        RLIMIT_CORE     RLIMIT_CORE
-    /* Largest resident set size, in bytes.
-       This affects swapping; processes that are exceeding their
-       resident set size will be more likely to have physical memory
-       taken from them.  */
-    RLIMIT_RSS,
-#define        RLIMIT_RSS      RLIMIT_RSS
-    /* Locked-in-memory address space.  */
-    RLIMIT_MEMLOCK,
-#define        RLIMIT_MEMLOCK  RLIMIT_MEMLOCK
-    /* Number of processes.  */
-    RLIMIT_NPROC,
-#define        RLIMIT_NPROC    RLIMIT_NPROC
-    /* Number of open files.  */
-    RLIMIT_OFILE,
-    RLIMIT_NOFILE = RLIMIT_OFILE, /* Another name for the same thing.  */
-#define        RLIMIT_OFILE    RLIMIT_OFILE
-#define        RLIMIT_NOFILE   RLIMIT_NOFILE
-
-    RLIMIT_NLIMITS,            /* Number of limit flavors.  */
-    RLIM_NLIMITS = RLIMIT_NLIMITS /* Traditional name for same.  */
-  };
-
-/* Value to indicate that there is no limit.  */
-#ifndef __USE_FILE_OFFSET64
-# define RLIM_INFINITY 0x7fffffff
-#else
-# define RLIM_INFINITY 0x7fffffffffffffffLL
-#endif
-
-#ifdef __USE_LARGEFILE64
-# define RLIM64_INFINITY 0x7fffffffffffffffLL
-#endif
-
-
-/* Type for resource quantity measurement.  */
-#ifndef __USE_FILE_OFFSET64
-typedef __rlim_t rlim_t;
-#else
-typedef __rlim64_t rlim_t;
-#endif
-#ifdef __USE_LARGEFILE64
-typedef __rlim64_t rlim64_t;
-#endif
-
-struct rlimit
-  {
-    /* The current (soft) limit.  */
-    rlim_t rlim_cur;
-    /* The hard limit.  */
-    rlim_t rlim_max;
-  };
-
-#ifdef __USE_LARGEFILE64
-struct rlimit64
-  {
-    /* The current (soft) limit.  */
-    rlim64_t rlim_cur;
-    /* The hard limit.  */
-    rlim64_t rlim_max;
- };
-#endif
-
-/* Whose usage statistics do you want?  */
-enum __rusage_who
-/* The macro definitions are necessary because some programs want
-   to test for operating system features with #ifdef RUSAGE_SELF.
-   In ISO C the reflexive definition is a no-op.  */
-  {
-    /* The calling process.  */
-    RUSAGE_SELF = 0,
-#define RUSAGE_SELF     RUSAGE_SELF
-    /* All of its terminated child processes.  */
-    RUSAGE_CHILDREN = -1
-#define RUSAGE_CHILDREN RUSAGE_CHILDREN
-  };
-
-#define __need_timeval
-#include <bits/time.h>           /* For `struct timeval'.  */
-
-/* Structure which says how much of each resource has been used.  */
-struct rusage
-  {
-    /* Total amount of user time used.  */
-    struct timeval ru_utime;
-    /* Total amount of system time used.  */
-    struct timeval ru_stime;
-    /* Maximum resident set size (in kilobytes).  */
-    long int ru_maxrss;
-    /* Amount of sharing of text segment memory
-       with other processes (kilobyte-seconds).  */
-    long int ru_ixrss;
-    /* Amount of data segment memory used (kilobyte-seconds).  */
-    long int ru_idrss;
-    /* Amount of stack memory used (kilobyte-seconds).  */
-    long int ru_isrss;
-    /* Number of soft page faults (i.e. those serviced by reclaiming
-       a page from the list of pages awaiting reallocation.  */
-    long int ru_minflt;
-    /* Number of hard page faults (i.e. those that required I/O).  */
-    long int ru_majflt;
-    /* Number of times a process was swapped out of physical memory.  */
-    long int ru_nswap;
-    /* Number of input operations via the file system.  Note: This
-       and `ru_oublock' do not include operations with the cache.  */
-    long int ru_inblock;
-    /* Number of output operations via the file system.  */
-    long int ru_oublock;
-    /* Number of IPC messages sent.  */
-    long int ru_msgsnd;
-    /* Number of IPC messages received.  */
-    long int ru_msgrcv;
-    /* Number of signals delivered.  */
-    long int ru_nsignals;
-    /* Number of voluntary context switches, i.e. because the process
-       gave up the process before it had to (usually to wait for some
-       resource to be available).  */
-    long int ru_nvcsw;
-    /* Number of involuntary context switches, i.e. a higher priority process
-       became runnable or the current process used up its time slice.  */
-    long int ru_nivcsw;
-  };
-
-/* Priority limits.  */
-#define PRIO_MIN        -20     /* Minimum priority a process can have.  */
-#define PRIO_MAX        20      /* Maximum priority a process can have.  */
-
-/* The type of the WHICH argument to `getpriority' and `setpriority',
-   indicating what flavor of entity the WHO argument specifies.  */
-enum __priority_which
-  {
-    PRIO_PROCESS = 0,           /* WHO is a process ID.  */
-    PRIO_PGRP = 1,              /* WHO is a process group ID.  */
-    PRIO_USER = 2               /* WHO is a user ID.  */
-  };
diff --git a/sysdeps/generic/bits/sched.h b/sysdeps/generic/bits/sched.h
deleted file mode 100644 (file)
index 91b6dca..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Definitions of constants and data structure for POSIX 1003.1b-1993
-   scheduling interface.
-   Copyright (C) 1996, 1997, 2001, 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 _SCHED_H
-# error "Never include <bits/sched.h> directly; use <sched.h> instead."
-#endif
-
-
-/* Scheduling algorithms.  */
-#define SCHED_OTHER    0
-#define SCHED_FIFO     1
-#define SCHED_RR       2
-
-/* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int __sched_priority;
-};
-
-
-#if defined _SCHED_H && !defined __cpu_set_t_defined
-# define __cpu_set_t_defined
-/* Size definition for CPU sets.  */
-# define __CPU_SETSIZE 1024
-# define __NCPUBITS    (8 * sizeof (__cpu_mask))
-
-/* Type for array elements in 'cpu_set'.  */
-typedef unsigned long int __cpu_mask;
-
-/* Basic access functions.  */
-# define __CPUELT(cpu) ((cpu) / __NCPUBITS)
-# define __CPUMASK(cpu)        ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
-
-/* Data structure to describe CPU mask.  */
-typedef struct
-{
-  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
-} cpu_set_t;
-
-/* Access functions for CPU masks.  */
-# define __CPU_ZERO(cpusetp) \
-  do {                                                                       \
-    unsigned int __i;                                                        \
-    cpu_set *__arr = (cpusetp);                                                      \
-    for (__i = 0; __i < sizeof (cpu_set) / sizeof (__cpu_mask); ++__i)       \
-      __arr->__bits[__i] = 0;                                                \
-  } while (0)
-# define __CPU_SET(cpu, cpusetp) \
-  ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
-# define __CPU_CLR(cpu, cpusetp) \
-  ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
-# define __CPU_ISSET(cpu, cpusetp) \
-  (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
-#endif
diff --git a/sysdeps/generic/bits/select.h b/sysdeps/generic/bits/select.h
deleted file mode 100644 (file)
index 47e7ded..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1997, 1998, 2001 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 _SYS_SELECT_H
-# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
-#endif
-
-
-/* We don't use `memset' because this would require a prototype and
-   the array isn't too big.  */
-#define __FD_ZERO(s) \
-  do {                                                                       \
-    unsigned int __i;                                                        \
-    fd_set *__arr = (s);                                                     \
-    for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)         \
-      __FDS_BITS (__arr)[__i] = 0;                                           \
-  } while (0)
-#define __FD_SET(d, s)     (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
-#define __FD_CLR(d, s)     (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
-#define __FD_ISSET(d, s)   ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
diff --git a/sysdeps/generic/bits/sem.h b/sysdeps/generic/bits/sem.h
deleted file mode 100644 (file)
index dcb1c3e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 1998
-   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 _SYS_SEM_H
-# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Flags for `semop'.  */
-#define SEM_UNDO       0x1000          /* undo the operation on exit */
-
-/* Commands for `semctl'.  */
-#define GETPID         11              /* get sempid */
-#define GETVAL         12              /* get semval */
-#define GETALL         13              /* get all semval's */
-#define GETNCNT                14              /* get semncnt */
-#define GETZCNT                15              /* get semzcnt */
-#define SETVAL         16              /* set semval */
-#define SETALL         17              /* set all semval's */
-
-
-/* Data structure describing a set of semaphores.  */
-struct semid_ds
-{
-  struct ipc_perm sem_perm;            /* operation permission struct */
-  __time_t sem_otime;                  /* last semop() time */
-  __time_t sem_ctime;                  /* last time changed by semctl() */
-  unsigned short int sem_nsems;                /* number of semaphores in set */
-};
-
-/* The user should define a union like the following to use it for arguments
-   for `semctl'.
-
-   union semun
-   {
-     int val;                          <= value for SETVAL
-     struct semid_ds *buf;             <= buffer for IPC_STAT & IPC_SET
-     unsigned short int *array;                <= array for GETALL & SETALL
-     struct seminfo *__buf;            <= buffer for IPC_INFO
-   };
-
-   Previous versions of this file used to define this union but this is
-   incorrect.  One can test the macro _SEM_SEMUN_UNDEFINED to see whether
-   one must define the union or not.  */
-#define _SEM_SEMUN_UNDEFINED   1
diff --git a/sysdeps/generic/bits/setjmp.h b/sysdeps/generic/bits/setjmp.h
deleted file mode 100644 (file)
index 9150d8d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Define the machine-dependent type `jmp_buf'.  Stub version.  */
-
-#ifndef _SETJMP_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-typedef int __jmp_buf[1];
diff --git a/sysdeps/generic/bits/shm.h b/sysdeps/generic/bits/shm.h
deleted file mode 100644 (file)
index 746a863..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002, 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _SYS_SHM_H
-# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Flags for `shmat'.  */
-#define SHM_RDONLY     010000          /* attach read-only else read-write */
-#define SHM_RND                020000          /* round attach address to SHMLBA */
-#define SHM_REMAP      040000          /* take-over region on attach */
-
-/* Commands for `shmctl'.  */
-#define SHM_LOCK       11              /* lock segment (root only) */
-#define SHM_UNLOCK     12              /* unlock segment (root only) */
-
-__BEGIN_DECLS
-
-/* Segment low boundary address multiple.  */
-#define SHMLBA         (__getpagesize ())
-extern int __getpagesize (void) __THROW __attribute__ ((__const__));
-
-
-/* Type to count number of attaches.  */
-typedef unsigned short int shmatt_t;
-
-/* Data structure describing a set of semaphores.  */
-struct shmid_ds
-  {
-    struct ipc_perm shm_perm;          /* operation permission struct */
-    int shm_segsz;                     /* size of segment in bytes */
-    __time_t shm_atime;                        /* time of last shmat() */
-    __time_t shm_dtime;                        /* time of last shmdt() */
-    __time_t shm_ctime;                        /* time of last change by shmctl() */
-    __pid_t shm_cpid;                  /* pid of creator */
-    __pid_t shm_lpid;                  /* pid of last shmop */
-    shmatt_t shm_nattch;               /* number of current attaches */
-  };
-
-__END_DECLS
diff --git a/sysdeps/generic/bits/sigaction.h b/sysdeps/generic/bits/sigaction.h
deleted file mode 100644 (file)
index adcc276..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1991,92,96,97,98,2001 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 _SIGNAL_H
-# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
-#endif
-
-/* These definitions match those used by the 4.4 BSD kernel.
-   If the operating system has a `sigaction' system call that correctly
-   implements the POSIX.1 behavior, there should be a system-dependent
-   version of this file that defines `struct sigaction' and the `SA_*'
-   constants appropriately.  */
-
-/* Structure describing the action to be taken when a signal arrives.  */
-struct sigaction
-  {
-    /* Signal handler.  */
-#ifdef __USE_POSIX199309
-    union
-      {
-       /* Used if SA_SIGINFO is not set.  */
-       __sighandler_t sa_handler;
-       /* Used if SA_SIGINFO is set.  */
-       void (*sa_sigaction) (int, siginfo_t *, void *);
-      }
-    __sigaction_handler;
-# define sa_handler    __sigaction_handler.sa_handler
-# define sa_sigaction  __sigaction_handler.sa_sigaction
-#else
-    __sighandler_t sa_handler;
-#endif
-
-    /* Additional set of signals to be blocked.  */
-    __sigset_t sa_mask;
-
-    /* Special flags.  */
-    int sa_flags;
-  };
-
-/* Bits in `sa_flags'.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
-# define SA_ONSTACK    0x0001  /* Take signal on signal stack.  */
-# define SA_RESTART    0x0002  /* Restart syscall on signal return.  */
-# define SA_NODEFER    0x0010  /* Don't automatically block the signal when
-                                   its handler is being executed.  */
-# define SA_RESETHAND  0x0004  /* Reset to SIG_DFL on entry to handler.  */
-#endif
-#define        SA_NOCLDSTOP    0x0008  /* Don't send SIGCHLD when children stop.  */
-
-#ifdef __USE_MISC
-# define SA_INTERRUPT  0       /* Historical no-op ("not SA_RESTART").  */
-
-/* Some aliases for the SA_ constants.  */
-# define SA_NOMASK    SA_NODEFER
-# define SA_ONESHOT   SA_RESETHAND
-# define SA_STACK     SA_ONSTACK
-#endif
-
-
-/* Values for the HOW argument to `sigprocmask'.  */
-#define        SIG_BLOCK       1       /* Block signals.  */
-#define        SIG_UNBLOCK     2       /* Unblock signals.  */
-#define        SIG_SETMASK     3       /* Set the set of blocked signals.  */
diff --git a/sysdeps/generic/bits/sigcontext.h b/sysdeps/generic/bits/sigcontext.h
deleted file mode 100644 (file)
index 7e90e78..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Structure describing state saved while handling a signal.  Stub version.
-   Copyright (C) 1991, 1994, 1997 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 _SIGNAL_H
-# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-#endif
-
-/* State of this thread when the signal was taken.  */
-struct sigcontext
-  {
-    int sc_onstack;
-    __sigset_t sc_mask;
-
-    /* Registers and such.  */
-  };
-
-/* Signal subcodes should be defined here.  */
diff --git a/sysdeps/generic/bits/siginfo.h b/sysdeps/generic/bits/siginfo.h
deleted file mode 100644 (file)
index fe7b3b5..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/* siginfo_t, sigevent and constants.  Stub version.
-   Copyright (C) 1997, 1998, 2000, 2001 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.  */
-
-#if !defined _SIGNAL_H && !defined __need_siginfo_t \
-    && !defined __need_sigevent_t
-# error "Never include this file directly.  Use <signal.h> instead"
-#endif
-
-#if (!defined __have_sigval_t \
-     && (defined _SIGNAL_H || defined __need_siginfo_t \
-        || defined __need_sigevent_t))
-# define __have_sigval_t 1
-
-/* Type for data associated with a signal.  */
-typedef union sigval
-  {
-    int sival_int;
-    void *sival_ptr;
-  } sigval_t;
-#endif
-
-#if (!defined __have_siginfo_t \
-     && (defined _SIGNAL_H || defined __need_siginfo_t))
-# define __have_siginfo_t      1
-
-typedef struct siginfo
-  {
-    int si_signo;              /* Signal number.  */
-    int si_errno;              /* If non-zero, an errno value associated with
-                                  this signal, as defined in <errno.h>.  */
-    int si_code;               /* Signal code.  */
-    __pid_t si_pid;            /* Sending process ID.  */
-    __uid_t si_uid;            /* Real user ID of sending process.  */
-    void *si_addr;             /* Address of faulting instruction.  */
-    int si_status;             /* Exit value or signal.  */
-    long int si_band;          /* Band event for SIGPOLL.  */
-    union sigval si_value;     /* Signal value.  */
-  } siginfo_t;
-
-
-/* Values for `si_code'.  Positive values are reserved for kernel-generated
-   signals.  */
-enum
-{
-  SI_ASYNCIO = -4,             /* Sent by AIO completion.  */
-# define SI_ASYNCIO    SI_ASYNCIO
-  SI_MESGQ,                    /* Sent by real time mesq state change.  */
-# define SI_MESGQ      SI_MESGQ
-  SI_TIMER,                    /* Sent by timer expiration.  */
-# define SI_TIMER      SI_TIMER
-  SI_QUEUE,                    /* Sent by sigqueue.  */
-# define SI_QUEUE      SI_QUEUE
-  SI_USER                      /* Sent by kill, sigsend, raise.  */
-# define SI_USER       SI_USER
-};
-
-
-/* `si_code' values for SIGILL signal.  */
-enum
-{
-  ILL_ILLOPC = 1,              /* Illegal opcode.  */
-# define ILL_ILLOPC    ILL_ILLOPC
-  ILL_ILL_OPN,                 /* Illegal operand.  */
-# define ILL_ILLOPN    ILL_ILLOPN
-  ILL_ILLADR,                  /* Illegal addressing mode.  */
-# define ILL_ILLADR    ILL_ILLADR
-  ILL_ILLTRP,                  /* Illegal trap. */
-# define ILL_ILLTRP    ILL_ILLTRP
-  ILL_PRVOPC,                  /* Privileged opcode.  */
-# define ILL_PRVOPC    ILL_PRVOPC
-  ILL_PRVREG,                  /* Privileged register.  */
-# define ILL_PRVREG    ILL_PRVREG
-  ILL_COPROC,                  /* Coprocessor error.  */
-# define ILL_COPROC    ILL_COPROC
-  ILL_BADSTK                   /* Internal stack error.  */
-# define ILL_BADSTK    ILL_BADSTK
-};
-
-/* `si_code' values for SIGFPE signal.  */
-enum
-{
-  FPE_INTDIV = 1,              /* Integer divide by zero.  */
-# define FPE_INTDIV    FPE_INTDIV
-  FPE_INTOVF,                  /* Integer overflow.  */
-# define FPE_INTOVF    FPE_INTOVF
-  FPE_FLTDIV,                  /* Floating point divide by zero.  */
-# define FPE_FLTDIV    FPE_FLTDIV
-  FPE_FLTOVF,                  /* Floating point overflow.  */
-# define FPE_FLTOVF    FPE_FLTOVF
-  FPE_FLTUND,                  /* Floating point underflow.  */
-# define FPE_FLTUND    FPE_FLTUND
-  FPE_FLTRES,                  /* Floating point inexact result.  */
-# define FPE_FLTRES    FPE_FLTRES
-  FPE_FLTINV,                  /* Floating point invalid operation.  */
-# define FPE_FLTINV    FPE_FLTINV
-  FPE_FLTSUB                   /* Subscript out of range.  */
-# define FPE_FLTSUB    FPE_FLTSUB
-};
-
-/* `si_code' values for SIGSEGV signal.  */
-enum
-{
-  SEGV_MAPERR = 1,             /* Address not mapped to object.  */
-# define SEGV_MAPERR   SEGV_MAPERR
-  SEGV_ACCERR                  /* Invalid permissions for mapped object.  */
-# define SEGV_ACCERR   SEGV_ACCERR
-};
-
-/* `si_code' values for SIGBUS signal.  */
-enum
-{
-  BUS_ADRALN = 1,              /* Invalid address alignment.  */
-# define BUS_ADRALN    BUS_ADRALN
-  BUS_ADRERR,                  /* Non-existant physical address.  */
-# define BUS_ADRERR    BUS_ADRERR
-  BUS_OBJERR                   /* Object specific hardware error.  */
-# define BUS_OBJERR    BUS_OBJERR
-};
-
-/* `si_code' values for SIGTRAP signal.  */
-enum
-{
-  TRAP_BRKPT = 1,              /* Process breakpoint.  */
-# define TRAP_BRKPT    TRAP_BRKPT
-  TRAP_TRACE                   /* Process trace trap.  */
-# define TRAP_TRACE    TRAP_TRACE
-};
-
-/* `si_code' values for SIGCHLD signal.  */
-enum
-{
-  CLD_EXITED = 1,              /* Child has exited.  */
-# define CLD_EXITED    CLD_EXITED
-  CLD_KILLED,                  /* Child was killed.  */
-# define CLD_KILLED    CLD_KILLED
-  CLD_DUMPED,                  /* Child terminated abnormally.  */
-# define CLD_DUMPED    CLD_DUMPED
-  CLD_TRAPPED,                 /* Traced child has trapped.  */
-# define CLD_TRAPPED   CLD_TRAPPED
-  CLD_STOPPED,                 /* Child has stopped.  */
-# define CLD_STOPPED   CLD_STOPPED
-  CLD_CONTINUED                        /* Stopped child has continued.  */
-# define CLD_CONTINUED CLD_CONTINUED
-};
-
-/* `si_code' values for SIGPOLL signal.  */
-enum
-{
-  POLL_IN = 1,                 /* Data input available.  */
-# define POLL_IN       POLL_IN
-  POLL_OUT,                    /* Output buffers available.  */
-# define POLL_OUT      POLL_OUT
-  POLL_MSG,                    /* Input message available.   */
-# define POLL_MSG      POLL_MSG
-  POLL_ERR,                    /* I/O error.  */
-# define POLL_ERR      POLL_ERR
-  POLL_PRI,                    /* High priority input available.  */
-# define POLL_PRI      POLL_PRI
-  POLL_HUP                     /* Device disconnected.  */
-# define POLL_HUP      POLL_HUP
-};
-
-# undef __need_siginfo_t
-#endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
-
-
-#if (defined _SIGNAL_H || defined __need_sigevent_t) \
-    && !defined __have_sigevent_t
-# define __have_sigevent_t     1
-
-/* Structure to transport application-defined values with signals.  */
-# define SIGEV_MAX_SIZE        64
-# define SIGEV_PAD_SIZE        ((SIGEV_MAX_SIZE / sizeof (int)) - 3)
-
-typedef struct sigevent
-  {
-    sigval_t sigev_value;
-    int sigev_signo;
-    int sigev_notify;
-    void (*sigev_notify_function) (sigval_t);      /* Function to start.  */
-    void *sigev_notify_attributes;                 /* Really pthread_attr_t.*/
-  } sigevent_t;
-
-/* `sigev_notify' values.  */
-enum
-{
-  SIGEV_SIGNAL = 0,            /* Notify via signal.  */
-# define SIGEV_SIGNAL  SIGEV_SIGNAL
-  SIGEV_NONE,                  /* Other notification: meaningless.  */
-# define SIGEV_NONE    SIGEV_NONE
-  SIGEV_THREAD                 /* Deliver via thread creation.  */
-# define SIGEV_THREAD  SIGEV_THREAD
-};
-
-#endif /* have _SIGNAL_H.  */
diff --git a/sysdeps/generic/bits/signum.h b/sysdeps/generic/bits/signum.h
deleted file mode 100644 (file)
index 25331f9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 1991, 1993, 1996, 1998 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.  */
-
-#ifdef _SIGNAL_H
-
-/* Fake signal functions.  */
-
-#define        SIG_ERR  ((__sighandler_t) -1)  /* Error return.  */
-#define        SIG_DFL  ((__sighandler_t)  0)  /* Default action.  */
-#define        SIG_IGN  ((__sighandler_t)  1)  /* Ignore signal.  */
-
-#ifdef __USE_UNIX98
-# define SIG_HOLD ((__sighandler_t)  2)        /* Add signal to hold mask.  */
-#endif
-
-/* Signals in the 1-15 range are defined with their historical numbers.
-   Signals in the 20-25 range are relatively new and have no ingrained
-   numbers. */
-
-/* ANSI signals.  */
-#define        SIGINT  2       /* Interactive attention signal.  */
-#define        SIGILL  4       /* Illegal instruction.  */
-#define        SIGABRT 6       /* Abnormal termination.  */
-#define        SIGFPE  8       /* Erroneous arithmetic operation.  */
-#define        SIGSEGV 11      /* Invalid access to storage.  */
-#define        SIGTERM 15      /* Termination request.  */
-
-/* Historical signals specified by POSIX. */
-#define        SIGHUP  1       /* Hangup.  */
-#define        SIGQUIT 3       /* Quit.  */
-#define        SIGKILL 9       /* Kill (cannot be blocked, caught, or ignored).  */
-#define        SIGPIPE 13      /* Broken pipe.  */
-#define        SIGALRM 14      /* Alarm clock.  */
-
-/* New(er) POSIX signals. */
-#define        SIGSTOP 20      /* Stop (cannot be blocked, caught, or ignored).  */
-#define        SIGCONT 21      /* Continue.  */
-#define        SIGTSTP 22      /* Keyboard stop.  */
-#define        SIGTTIN 23      /* Background read from control terminal.  */
-#define        SIGTTOU 24      /* Background write to control terminal.  */
-#define        SIGCHLD 25      /* Child terminated or stopped.  */
-
-#define        _NSIG   26
-
-/* Archaic names for compatibility. */
-#define        SIGIOT  SIGABRT /* IOT instruction, abort() on a PDP11 */
-#define        SIGCLD  SIGCHLD /* Old System V name */
-
-#endif /* <signal.h> included.  */
diff --git a/sysdeps/generic/bits/sigset.h b/sysdeps/generic/bits/sigset.h
deleted file mode 100644 (file)
index 5fc8692..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/* __sig_atomic_t, __sigset_t, and related definitions.  Generic/BSD version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997 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        _SIGSET_H_types
-#define        _SIGSET_H_types 1
-
-typedef int __sig_atomic_t;
-
-/* A `sigset_t' has a bit for each signal.  */
-typedef unsigned long int __sigset_t;
-
-#endif
-
-
-/* We only want to define these functions if <signal.h> was actually
-   included; otherwise we were included just to define the types.  Since we
-   are namespace-clean, it wouldn't hurt to define extra macros.  But
-   trouble can be caused by functions being defined (e.g., any global
-   register vars declared later will cause compilation errors).  */
-
-#if !defined _SIGSET_H_fns && defined _SIGNAL_H
-#define _SIGSET_H_fns 1
-
-#ifndef _EXTERN_INLINE
-# define _EXTERN_INLINE extern __inline
-#endif
-
-/* Return a mask that includes SIG only.  The cast to `sigset_t' avoids
-   overflow if `sigset_t' is wider than `int'.  */
-#define        __sigmask(sig)  (((__sigset_t) 1) << ((sig) - 1))
-
-#define        __sigemptyset(set)      ((*(set) = (__sigset_t) 0), 0)
-#define        __sigfillset(set)       ((*(set) = ~(__sigset_t) 0), 0)
-
-#ifdef _GNU_SOURCE
-# define __sigisemptyset(set)  (*(set) == (__sigset_t) 0)
-# define __sigandset(dest, left, right) \
-                               ((*(dest) = (*(left) & *(right))), 0)
-# define __sigorset(dest, left, right) \
-                               ((*(dest) = (*(left) | *(right))), 0)
-#endif
-
-/* These functions needn't check for a bogus signal number -- error
-   checking is done in the non __ versions.  */
-
-extern int __sigismember (__const __sigset_t *, int);
-extern int __sigaddset (__sigset_t *, int);
-extern int __sigdelset (__sigset_t *, int);
-
-#ifdef __USE_EXTERN_INLINES
-# define __SIGSETFN(NAME, BODY, CONST)                                       \
-  _EXTERN_INLINE int                                                         \
-  NAME (CONST __sigset_t *__set, int __sig)                                  \
-  {                                                                          \
-    __sigset_t __mask = __sigmask (__sig);                                   \
-    return BODY;                                                             \
-  }
-
-__SIGSETFN (__sigismember, (*__set & __mask) ? 1 : 0, __const)
-__SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
-__SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
-
-# undef __SIGSETFN
-#endif
-
-
-#endif /* ! _SIGSET_H_fns.  */
diff --git a/sysdeps/generic/bits/sigstack.h b/sysdeps/generic/bits/sigstack.h
deleted file mode 100644 (file)
index de79c90..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* sigstack, sigaltstack definitions.
-   Copyright (C) 1998, 1999 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 _SIGNAL_H
-# error "Never include this file directly.  Use <signal.h> instead"
-#endif
-
-
-/* Structure describing a signal stack (obsolete).  */
-struct sigstack
-  {
-    __ptr_t ss_sp;             /* Signal stack pointer.  */
-    int ss_onstack;            /* Nonzero if executing on this stack.  */
-  };
-
-
-/* Alternate, preferred interface.  */
-typedef struct sigaltstack
-  {
-    __ptr_t ss_sp;
-    size_t ss_size;
-    int ss_flags;
-  } stack_t;
-
-
-/* Possible values for `ss_flags.'.  */
-enum
-{
-  SS_ONSTACK = 0x0001,
-#define SS_ONSTACK     SS_ONSTACK
-  SS_DISABLE = 0x0004
-#define SS_DISABLE     SS_DISABLE
-};
-
-/* Minumum stack size for a signal handler.  */
-#define MINSIGSTKSZ    8192
-
-/* System default stack size.  */
-#define SIGSTKSZ       (MINSIGSTKSZ + 32768)
diff --git a/sysdeps/generic/bits/sigthread.h b/sysdeps/generic/bits/sigthread.h
deleted file mode 100644 (file)
index 2edb58c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Signal handling function for threaded programs.  Generic version.
-   Copyright (C) 2000 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_SIGTHREAD_H
-#define _BITS_SIGTHREAD_H      1
-
-#if !defined _SIGNAL_H && !defined _PTHREAD_H
-# error "Never include this file directly.  Use <pthread.h> instead"
-#endif
-
-/* Modify the signal mask for the calling thread.  The arguments have the
-   same meaning as for sigprocmask; in fact, this and sigprocmask might be
-   the same function.  We declare this the same on all platforms, since it
-   doesn't use any thread-related types.  */
-extern int pthread_sigmask (int __how, __const __sigset_t *__newmask,
-                           __sigset_t *__oldmask) __THROW;
-
-
-#endif /* bits/sigthread.h */
diff --git a/sysdeps/generic/bits/sockaddr.h b/sysdeps/generic/bits/sockaddr.h
deleted file mode 100644 (file)
index 3e1d131..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Definition of `struct sockaddr_*' common members.  Generic/4.2 BSD version.
-   Copyright (C) 1995,1996,1997,1998,2000,2001 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.  */
-
-/*
- * Never include this file directly; use <sys/socket.h> instead.
- */
-
-#ifndef _BITS_SOCKADDR_H
-#define _BITS_SOCKADDR_H       1
-
-
-/* POSIX.1g specifies this type name for the `sa_family' member.  */
-typedef unsigned short int sa_family_t;
-
-/* This macro is used to declare the initial common members
-   of the data types used for socket addresses, `struct sockaddr',
-   `struct sockaddr_in', `struct sockaddr_un', etc.  */
-
-#define        __SOCKADDR_COMMON(sa_prefix) \
-  sa_family_t sa_prefix##family
-
-#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int))
-
-#endif /* bits/sockaddr.h */
diff --git a/sysdeps/generic/bits/socket.h b/sysdeps/generic/bits/socket.h
deleted file mode 100644 (file)
index 20e6f03..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/* System-specific socket constants and types.  Generic/4.3 BSD version.
-   Copyright (C) 1991,92,1994-1999,2000,2001 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_SOCKET_H
-#define __BITS_SOCKET_H        1
-
-#if !defined _SYS_SOCKET_H && !defined _NETINET_IN_H
-# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
-#endif
-
-#include <limits.h>
-#include <bits/types.h>
-
-#define        __need_size_t
-#include <stddef.h>
-
-/* Type for length arguments in socket calls.  */
-#ifndef __socklen_t_defined
-typedef __socklen_t socklen_t;
-# define __socklen_t_defined
-#endif
-
-
-/* Types of sockets.  */
-enum __socket_type
-{
-  SOCK_STREAM = 1,             /* Sequenced, reliable, connection-based
-                                  byte streams.  */
-#define SOCK_STREAM SOCK_STREAM
-  SOCK_DGRAM = 2,              /* Connectionless, unreliable datagrams
-                                  of fixed maximum length.  */
-#define SOCK_DGRAM SOCK_DGRAM
-  SOCK_RAW = 3,                        /* Raw protocol interface.  */
-#define SOCK_RAW SOCK_RAW
-  SOCK_RDM = 4,                        /* Reliably-delivered messages.  */
-#define SOCK_RDM SOCK_RDM
-  SOCK_SEQPACKET = 5           /* Sequenced, reliable, connection-based,
-                                  datagrams of fixed maximum length.  */
-#define SOCK_SEQPACKET SOCK_SEQPACKET
-};
-
-/* Protocol families.  */
-#define        PF_UNSPEC       0       /* Unspecified.  */
-#define        PF_LOCAL        1       /* Local to host (pipes and file-domain).  */
-#define        PF_UNIX         PF_LOCAL /* Old BSD name for PF_LOCAL.  */
-#define        PF_FILE         PF_LOCAL /* POSIX name for PF_LOCAL.  */
-#define        PF_INET         2       /* IP protocol family.  */
-#define        PF_IMPLINK      3       /* ARPAnet IMP protocol.  */
-#define        PF_PUP          4       /* PUP protocols.  */
-#define        PF_CHAOS        5       /* MIT Chaos protocols.  */
-#define        PF_NS           6       /* Xerox NS protocols.  */
-#define        PF_ISO          7       /* ISO protocols.  */
-#define        PF_OSI          PF_ISO
-#define        PF_ECMA         8       /* ECMA protocols.  */
-#define        PF_DATAKIT      9       /* AT&T Datakit protocols.  */
-#define        PF_CCITT        10      /* CCITT protocols (X.25 et al).  */
-#define        PF_SNA          11      /* IBM SNA protocol.  */
-#define        PF_DECnet       12      /* DECnet protocols.  */
-#define        PF_DLI          13      /* Direct data link interface.  */
-#define        PF_LAT          14      /* DEC Local Area Transport protocol.  */
-#define        PF_HYLINK       15      /* NSC Hyperchannel protocol.  */
-#define        PF_APPLETALK    16      /* Don't use this.  */
-#define        PF_ROUTE        17      /* Internal Routing Protocol.  */
-#define        PF_LINK         18      /* Link layer interface.  */
-#define        PF_XTP          19      /* eXpress Transfer Protocol (no AF).  */
-#define        PF_COIP         20      /* Connection-oriented IP, aka ST II.  */
-#define        PF_CNT          21      /* Computer Network Technology.  */
-#define PF_RTIP                22      /* Help Identify RTIP packets.  **/
-#define        PF_IPX          23      /* Novell Internet Protocol.  */
-#define        PF_SIP          24      /* Simple Internet Protocol.  */
-#define PF_PIP         25      /* Help Identify PIP packets.  */
-#define PF_INET6       26      /* IP version 6.  */
-#define        PF_MAX          27
-
-/* Address families.  */
-#define        AF_UNSPEC       PF_UNSPEC
-#define        AF_LOCAL        PF_LOCAL
-#define        AF_UNIX         PF_UNIX
-#define        AF_FILE         PF_FILE
-#define        AF_INET         PF_INET
-#define        AF_IMPLINK      PF_IMPLINK
-#define        AF_PUP          PF_PUP
-#define        AF_CHAOS        PF_CHAOS
-#define        AF_NS           PF_NS
-#define        AF_ISO          PF_ISO
-#define        AF_OSI          PF_OSI
-#define        AF_ECMA         PF_ECMA
-#define        AF_DATAKIT      PF_DATAKIT
-#define        AF_CCITT        PF_CCITT
-#define        AF_SNA          PF_SNA
-#define        AF_DECnet       PF_DECnet
-#define        AF_DLI          PF_DLI
-#define        AF_LAT          PF_LAT
-#define        AF_HYLINK       PF_HYLINK
-#define        AF_APPLETALK    PF_APPLETALK
-#define        AF_ROUTE        PF_ROUTE
-#define        AF_LINK         PF_LINK
-#define        pseudo_AF_XTP   PF_XTP
-#define        AF_COIP         PF_COIP
-#define        AF_CNT          PF_CNT
-#define pseudo_AF_RTIP PF_RTIP
-#define        AF_IPX          PF_IPX
-#define        AF_SIP          PF_SIP
-#define pseudo_AF_PIP  PF_PIP
-#define AF_INET6       PF_INET6
-#define        AF_MAX          PF_MAX
-
-
-/* Get the definition of the macro to define the common sockaddr members.  */
-#include <bits/sockaddr.h>
-
-/* Structure describing a generic socket address.  */
-struct sockaddr
-  {
-    __SOCKADDR_COMMON (sa_);   /* Common data: address family and length.  */
-    char sa_data[14];          /* Address data.  */
-  };
-
-
-/* Structure large enough to hold any socket address (with the historical
-   exception of AF_UNIX).  We reserve 128 bytes.  */
-#if ULONG_MAX > 0xffffffff
-# define __ss_aligntype        __uint64_t
-#else
-# define __ss_aligntype        __uint32_t
-#endif
-#define _SS_SIZE       128
-#define _SS_PADSIZE    (_SS_SIZE - (2 * sizeof (__ss_aligntype)))
-
-struct sockaddr_storage
-  {
-    __SOCKADDR_COMMON (ss_);   /* Address family, etc.  */
-    __ss_aligntype __ss_align; /* Force desired alignment.  */
-    char __ss_padding[_SS_PADSIZE];
-  };
-
-
-/* Bits in the FLAGS argument to `send', `recv', et al.  */
-enum
-  {
-    MSG_OOB            = 0x01, /* Process out-of-band data.  */
-#define MSG_OOB MSG_OOB
-    MSG_PEEK           = 0x02, /* Peek at incoming messages.  */
-#define MSG_PEEK MSG_PEEK
-    MSG_DONTROUTE      = 0x04, /* Don't use local routing.  */
-#define MSG_DONTROUTE MSG_DONTROUTE
-    MSG_EOR            = 0x08, /* Data completes record.  */
-#define MSG_EOR MSG_EOR
-    MSG_TRUNC          = 0x10, /* Data discarded before delivery.  */
-#define MSG_TRUNC MSG_TRUNC
-    MSG_CTRUNC         = 0x20, /* Control data lost before delivery.  */
-#define MSG_CTRUNC MSG_CTRUNC
-    MSG_WAITALL                = 0x40, /* Wait for full request or error.  */
-#define MSG_WAITALL MSG_WAITALL
-    MSG_DONTWAIT       = 0x80  /* This message should be nonblocking.  */
-#define MSG_DONTWAIT MSG_DONTWAIT
-  };
-
-
-/* Structure describing messages sent by
-   `sendmsg' and received by `recvmsg'.  */
-struct msghdr
-  {
-    __ptr_t msg_name;          /* Address to send to/receive from.  */
-    socklen_t msg_namelen;     /* Length of address data.  */
-
-    struct iovec *msg_iov;     /* Vector of data to send/receive into.  */
-    int msg_iovlen;            /* Number of elements in the vector.  */
-
-    __ptr_t msg_accrights;     /* Access rights information.  */
-    socklen_t msg_accrightslen;        /* Length of access rights information.  */
-
-    int msg_flags;             /* Flags in received message.  */
-  };
-
-
-/* Protocol number used to manipulate socket-level options
-   with `getsockopt' and `setsockopt'.  */
-#define        SOL_SOCKET      0xffff
-
-/* Socket-level options for `getsockopt' and `setsockopt'.  */
-enum
-  {
-    SO_DEBUG = 0x0001,         /* Record debugging information.  */
-#define SO_DEBUG SO_DEBUG
-    SO_ACCEPTCONN = 0x0002,    /* Accept connections on socket.  */
-#define SO_ACCEPTCONN SO_ACCEPTCONN
-    SO_REUSEADDR = 0x0004,     /* Allow reuse of local addresses.  */
-#define SO_REUSEADDR SO_REUSEADDR
-    SO_KEEPALIVE = 0x0008,     /* Keep connections alive and send
-                                  SIGPIPE when they die.  */
-#define SO_KEEPALIVE SO_KEEPALIVE
-    SO_DONTROUTE = 0x0010,     /* Don't do local routing.  */
-#define SO_DONTROUTE SO_DONTROUTE
-    SO_BROADCAST = 0x0020,     /* Allow transmission of
-                                  broadcast messages.  */
-#define SO_BROADCAST SO_BROADCAST
-    SO_USELOOPBACK = 0x0040,   /* Use the software loopback to avoid
-                                  hardware use when possible.  */
-#define SO_USELOOPBACK SO_USELOOPBACK
-    SO_LINGER = 0x0080,                /* Block on close of a reliable
-                                  socket to transmit pending data.  */
-#define SO_LINGER SO_LINGER
-    SO_OOBINLINE = 0x0100,     /* Receive out-of-band data in-band.  */
-#define SO_OOBINLINE SO_OOBINLINE
-    SO_REUSEPORT = 0x0200,     /* Allow local address and port reuse.  */
-#define SO_REUSEPORT SO_REUSEPORT
-    SO_SNDBUF = 0x1001,                /* Send buffer size.  */
-#define SO_SNDBUF SO_SNDBUF
-    SO_RCVBUF = 0x1002,                /* Receive buffer.  */
-#define SO_RCVBUF SO_RCVBUF
-    SO_SNDLOWAT = 0x1003,      /* Send low-water mark.  */
-#define SO_SNDLOWAT SO_SNDLOWAT
-    SO_RCVLOWAT = 0x1004,      /* Receive low-water mark.  */
-#define SO_RCVLOWAT SO_RCVLOWAT
-    SO_SNDTIMEO = 0x1005,      /* Send timeout.  */
-#define SO_SNDTIMEO SO_SNDTIMEO
-    SO_RCVTIMEO = 0x1006,      /* Receive timeout.  */
-#define SO_RCVTIMEO SO_RCVTIMEO
-    SO_ERROR = 0x1007,         /* Get and clear error status.  */
-#define SO_ERROR SO_ERROR
-    SO_STYLE = 0x1008,         /* Get socket connection style.  */
-#define SO_STYLE SO_STYLE
-    SO_TYPE = SO_STYLE         /* Compatible name for SO_STYLE.  */
-#define SO_TYPE SO_TYPE
-  };
-
-/* Structure used to manipulate the SO_LINGER option.  */
-struct linger
-  {
-    int l_onoff;               /* Nonzero to linger on close.  */
-    int l_linger;              /* Time to linger.  */
-  };
-
-#endif /* bits/socket.h */
diff --git a/sysdeps/generic/bits/stat.h b/sysdeps/generic/bits/stat.h
deleted file mode 100644 (file)
index c8391fc..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (C) 1992, 1996, 1997, 2000 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 _SYS_STAT_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-/* This structure needs to be defined in accordance with the
-   implementation of __stat, __fstat, and __lstat.  */
-
-#include <bits/types.h>
-
-/* Structure describing file characteristics.  */
-struct stat
-  {
-    /* These are the members that POSIX.1 requires.  */
-
-    __mode_t st_mode;          /* File mode.  */
-#ifndef __USE_FILE_OFFSET64
-    __ino_t st_ino;            /* File serial number.  */
-#else
-    __ino64_t st_ino;          /* File serial number.  */
-#endif
-    __dev_t st_dev;            /* Device containing the file.  */
-    __nlink_t st_nlink;                /* Link count.  */
-
-    __uid_t st_uid;            /* User ID of the file's owner.  */
-    __gid_t st_gid;            /* Group ID of the file's group.  */
-#ifndef __USE_FILE_OFFSET64
-    __off_t st_size;           /* Size of file, in bytes.  */
-#else
-    __off64_t st_size;         /* Size of file, in bytes.  */
-#endif
-
-    __time_t st_atime;         /* Time of last access.  */
-    __time_t st_mtime;         /* Time of last modification.  */
-    __time_t st_ctime;         /* Time of last status change.  */
-
-    /* This should be defined if there is a `st_blksize' member.  */
-#undef _STATBUF_ST_BLKSIZE
-  };
-
-/* Encoding of the file mode.  These are the standard Unix values,
-   but POSIX.1 does not specify what values should be used.  */
-
-#define        __S_IFMT        0170000 /* These bits determine file type.  */
-
-/* File types.  */
-#define        __S_IFDIR       0040000 /* Directory.  */
-#define        __S_IFCHR       0020000 /* Character device.  */
-#define        __S_IFBLK       0060000 /* Block device.  */
-#define        __S_IFREG       0100000 /* Regular file.  */
-#define        __S_IFIFO       0010000 /* FIFO.  */
-
-/* POSIX.1b objects.  */
-#define __S_TYPEISMQ(buf) 0
-#define __S_TYPEISSEM(buf) 0
-#define __S_TYPEISSHM(buf) 0
-
-/* Protection bits.  */
-
-#define        __S_ISUID       04000   /* Set user ID on execution.  */
-#define        __S_ISGID       02000   /* Set group ID on execution.  */
-#define        __S_IREAD       0400    /* Read by owner.  */
-#define        __S_IWRITE      0200    /* Write by owner.  */
-#define        __S_IEXEC       0100    /* Execute by owner.  */
-
-#ifdef __USE_LARGEFILE64
-struct stat64
-  {
-    __mode_t st_mode;          /* File mode.  */
-    __ino64_t st_ino;          /* File serial number.  */
-    __dev_t st_dev;            /* Device.  */
-    __nlink_t st_nlink;                /* Link count.  */
-
-    __uid_t st_uid;            /* User ID of the file's owner. */
-    __gid_t st_gid;            /* Group ID of the file's group.*/
-    __off64_t st_size;         /* Size of file, in bytes.  */
-
-    __time_t st_atime;         /* Time of last access.  */
-    __time_t st_mtime;         /* Time of last modification.  */
-    __time_t st_ctime;         /* Time of last status change.  */
-  };
-#endif
diff --git a/sysdeps/generic/bits/statfs.h b/sysdeps/generic/bits/statfs.h
deleted file mode 100644 (file)
index 851e464..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Definition of `struct statfs', information about a filesystem.
-   Copyright (C) 1996, 1997 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 _SYS_STATFS_H
-# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* GNU Hurd NOTE: The size of this structure (16 ints) is known in
-   <hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC.  MiG
-   does not cope at all well with the passed C structure not being of the
-   expected size.  There are some filler words at the end to allow for
-   future expansion.  To increase the size of the structure used in the RPC
-   and retain binary compatibility, we would need to assign a new message
-   number.  */
-
-struct statfs
-  {
-    unsigned int f_type;
-    unsigned int f_bsize;
-#ifndef __USE_FILE_OFFSET64
-    __fsblkcnt_t f_blocks;
-    __fsblkcnt_t f_bfree;
-    __fsblkcnt_t f_bavail;
-    __fsblkcnt_t f_files;
-    __fsblkcnt_t f_ffree;
-#else
-    __fsblkcnt64_t f_blocks;
-    __fsblkcnt64_t f_bfree;
-    __fsblkcnt64_t f_bavail;
-    __fsblkcnt64_t f_files;
-    __fsblkcnt64_t f_ffree;
-#endif
-    __fsid_t f_fsid;
-    unsigned int f_namelen;
-    unsigned int f_spare[6];
-  };
-
-#ifdef __USE_LARGEFILE64
-struct statfs64
-  {
-    unsigned int f_type;
-    unsigned int f_bsize;
-    __fsblkcnt64_t f_blocks;
-    __fsblkcnt64_t f_bfree;
-    __fsblkcnt64_t f_bavail;
-    __fsblkcnt64_t f_files;
-    __fsblkcnt64_t f_ffree;
-    __fsid_t f_fsid;
-    unsigned int f_namelen;
-    unsigned int f_spare[6];
-  };
-#endif
diff --git a/sysdeps/generic/bits/statvfs.h b/sysdeps/generic/bits/statvfs.h
deleted file mode 100644 (file)
index 66841bf..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Definition of `struct statvfs', information about a filesystem.
-   Copyright (C) 1998 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 _SYS_STATVFS_H
-# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* GNU Hurd NOTE: The size of this structure (16 ints) is known in
-   <hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC.  MiG
-   does not cope at all well with the passed C structure not being of the
-   expected size.  There are some filler words at the end to allow for
-   future expansion.  To increase the size of the structure used in the RPC
-   and retain binary compatibility, we would need to assign a new message
-   number.  */
-
-struct statvfs
-  {
-    unsigned long int f_bsize;
-    unsigned long int f_frsize;
-#ifndef __USE_FILE_OFFSET64
-    __fsblkcnt_t f_blocks;
-    __fsblkcnt_t f_bfree;
-    __fsblkcnt_t f_bavail;
-    __fsfilcnt_t f_files;
-    __fsfilcnt_t f_ffree;
-    __fsfilcnt_t f_favail;
-#else
-    __fsblkcnt64_t f_blocks;
-    __fsblkcnt64_t f_bfree;
-    __fsblkcnt64_t f_bavail;
-    __fsfilcnt64_t f_files;
-    __fsfilcnt64_t f_ffree;
-    __fsfilcnt64_t f_favail;
-#endif
-    __fsid_t f_fsid;
-    unsigned long int f_flag;
-    unsigned long int f_namemax;
-    unsigned int f_spare[6];
-  };
-
-#ifdef __USE_LARGEFILE64
-struct statvfs64
-  {
-    unsigned long int f_bsize;
-    unsigned long int f_frsize;
-    __fsblkcnt64_t f_blocks;
-    __fsblkcnt64_t f_bfree;
-    __fsblkcnt64_t f_bavail;
-    __fsfilcnt64_t f_files;
-    __fsfilcnt64_t f_ffree;
-    __fsfilcnt64_t f_favail;
-    __fsid_t f_fsid;
-    unsigned long int f_flag;
-    unsigned long int f_namemax;
-    unsigned int f_spare[6];
-  };
-#endif
-
-/* Definitions for the flag in `f_flag'.  */
-enum
-{
-  ST_RDONLY = 1,
-#define ST_RDONLY      ST_RDONLY
-  ST_NOSUID = 2
-#define ST_NOSUID      ST_NOSUID
-};
diff --git a/sysdeps/generic/bits/stdio-lock.h b/sysdeps/generic/bits/stdio-lock.h
deleted file mode 100644 (file)
index d7c1db0..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Thread package specific definitions of stream lock type.  Generic version.
-   Copyright (C) 2000, 2001, 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_STDIO_LOCK_H
-#define _BITS_STDIO_LOCK_H 1
-
-#include <bits/libc-lock.h>
-
-__libc_lock_define_recursive (typedef, _IO_lock_t)
-
-/* We need recursive (counting) mutexes.  */
-#ifdef _LIBC_LOCK_RECURSIVE_INITIALIZER
-# define _IO_lock_initializer _LIBC_LOCK_RECURSIVE_INITIALIZER
-#elif _IO_MTSAFE_IO
- #error libio needs recursive mutexes for _IO_MTSAFE_IO
-#endif
-
-#define _IO_lock_init(_name)   __libc_lock_init_recursive (_name)
-#define _IO_lock_fini(_name)   __libc_lock_fini_recursive (_name)
-#define _IO_lock_lock(_name)   __libc_lock_lock_recursive (_name)
-#define _IO_lock_trylock(_name)        __libc_lock_trylock_recursive (_name)
-#define _IO_lock_unlock(_name) __libc_lock_unlock_recursive (_name)
-
-
-#define _IO_cleanup_region_start(_fct, _fp) \
-  __libc_cleanup_region_start (((_fp)->_flags & _IO_USER_LOCK) == 0, _fct, _fp)
-#define _IO_cleanup_region_start_noarg(_fct) \
-  __libc_cleanup_region_start (1, _fct, NULL)
-#define _IO_cleanup_region_end(_doit) \
-  __libc_cleanup_region_end (_doit)
-
-#if defined _LIBC && !defined NOT_IN_libc
-# define _IO_acquire_lock(_fp) \
-  _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp));      \
-  _IO_flockfile (_fp)
-
-# define _IO_release_lock(_fp) \
-  _IO_funlockfile (_fp);                                                     \
-  _IO_cleanup_region_end (0)
-#endif
-
-#endif /* bits/stdio-lock.h */
diff --git a/sysdeps/generic/bits/string.h b/sysdeps/generic/bits/string.h
deleted file mode 100644 (file)
index ad68b03..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This file should provide inline versions of string functions.
-
-   Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inline'.
-
-   This file should define __STRING_INLINES if functions are actually defined
-   as inlines.  */
-
-#ifndef _BITS_STRING_H
-#define _BITS_STRING_H 1
-
-
-#endif /* bits/string.h */
diff --git a/sysdeps/generic/bits/stropts.h b/sysdeps/generic/bits/stropts.h
deleted file mode 100644 (file)
index c8e2c2c..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-/* 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; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef _STROPTS_H
-# error "Never include <bits/stropts.h> directly; use <stropts.h> instead."
-#endif
-
-#ifndef _BITS_STROPTS_H
-#define _BITS_STROPTS_H        1
-
-#include <bits/types.h>
-
-/* Macros used as `request' argument to `ioctl'.  */
-#define __SID          ('S' << 8)
-
-#define I_NREAD            (__SID | 1) /* Counts the number of data bytes in the data
-                                  block in the first message.  */
-#define I_PUSH     (__SID | 2) /* Push STREAMS module onto top of the current
-                                  STREAM, just below the STREAM head.  */
-#define I_POP      (__SID | 3) /* Remove STREAMS module from just below the
-                                  STREAM head.  */
-#define I_LOOK     (__SID | 4) /* Retrieve the name of the module just below
-                                  the STREAM head and place it in a character
-                                  string.  */
-#define I_FLUSH            (__SID | 5) /* Flush all input and/or output.  */
-#define I_SRDOPT    (__SID | 6)        /* Sets the read mode.  */
-#define I_GRDOPT    (__SID | 7)        /* Returns the current read mode setting.  */
-#define I_STR      (__SID | 8) /* Construct an internal STREAMS `ioctl'
-                                  message and send that message downstream. */
-#define I_SETSIG    (__SID | 9)        /* Inform the STREAM head that the process
-                                  wants the SIGPOLL signal issued.  */
-#define I_GETSIG    (__SID |10) /* Return the events for which the calling
-                                  process is currently registered to be sent
-                                  a SIGPOLL signal.  */
-#define I_FIND     (__SID |11) /* Compares the names of all modules currently
-                                  present in the STREAM to the name pointed to
-                                  by `arg'.  */
-#define I_LINK     (__SID |12) /* Connect two STREAMs.  */
-#define I_UNLINK    (__SID |13) /* Disconnects the two STREAMs.  */
-#define I_PEEK     (__SID |15) /* Allows a process to retrieve the information
-                                  in the first message on the STREAM head read
-                                  queue without taking the message off the
-                                  queue.  */
-#define I_FDINSERT  (__SID |16) /* Create a message from the specified
-                                  buffer(s), adds information about another
-                                  STREAM, and send the message downstream.  */
-#define I_SENDFD    (__SID |17) /* Requests the STREAM associated with `fildes'
-                                  to send a message, containing a file
-                                  pointer, to the STREAM head at the other end
-                                  of a STREAMS pipe.  */
-#define I_RECVFD    (__SID |14) /* Non-EFT definition.  */
-#define I_SWROPT    (__SID |19) /* Set the write mode.  */
-#define I_GWROPT    (__SID |20) /* Return the current write mode setting.  */
-#define I_LIST     (__SID |21) /* List all the module names on the STREAM, up
-                                  to and including the topmost driver name. */
-#define I_PLINK            (__SID |22) /* Connect two STREAMs with a persistent
-                                  link.  */
-#define I_PUNLINK   (__SID |23) /* Disconnect the two STREAMs that were
-                                  connected with a persistent link.  */
-#define I_FLUSHBAND (__SID |28) /* Flush only band specified.  */
-#define I_CKBAND    (__SID |29) /* Check if the message of a given priority
-                                  band exists on the STREAM head read
-                                  queue.  */
-#define I_GETBAND   (__SID |30) /* Return the priority band of the first
-                                  message on the STREAM head read queue.  */
-#define I_ATMARK    (__SID |31) /* See if the current message on the STREAM
-                                  head read queue is "marked" by some module
-                                  downstream.  */
-#define I_SETCLTIME (__SID |32) /* Set the time the STREAM head will delay when
-                                  a STREAM is closing and there is data on
-                                  the write queues.  */
-#define I_GETCLTIME (__SID |33) /* Get current value for closing timeout.  */
-#define I_CANPUT    (__SID |34) /* Check if a certain band is writable.  */
-
-
-/* Used in `I_LOOK' request.  */
-#define FMNAMESZ       8       /* compatibility w/UnixWare/Solaris.  */
-
-/* Flush options.  */
-#define FLUSHR         0x01    /* Flush read queues.  */
-#define FLUSHW         0x02    /* Flush write queues.  */
-#define FLUSHRW                0x03    /* Flush read and write queues.  */
-#ifdef __USE_GNU
-# define FLUSHBAND     0x04    /* Flush only specified band.  */
-#endif
-
-/* Possible arguments for `I_SETSIG'.  */
-#define S_INPUT                0x0001  /* A message, other than a high-priority
-                                  message, has arrived.  */
-#define S_HIPRI                0x0002  /* A high-priority message is present.  */
-#define S_OUTPUT       0x0004  /* The write queue for normal data is no longer
-                                  full.  */
-#define S_MSG          0x0008  /* A STREAMS signal message that contains the
-                                  SIGPOLL signal reaches the front of the
-                                  STREAM head read queue.  */
-#define S_ERROR                0x0010  /* Notification of an error condition.  */
-#define S_HANGUP       0x0020  /* Notification of a hangup.  */
-#define S_RDNORM       0x0040  /* A normal message has arrived.  */
-#define S_WRNORM       S_OUTPUT
-#define S_RDBAND       0x0080  /* A message with a non-zero priority has
-                                  arrived.  */
-#define S_WRBAND       0x0100  /* The write queue for a non-zero priority
-                                  band is no longer full.  */
-#define S_BANDURG      0x0200  /* When used in conjunction with S_RDBAND,
-                                  SIGURG is generated instead of SIGPOLL when
-                                  a priority message reaches the front of the
-                                  STREAM head read queue.  */
-
-/* Option for `I_PEEK'.  */
-#define RS_HIPRI       0x01    /* Only look for high-priority messages.  */
-
-/* Options for `I_SRDOPT'.  */
-#define RNORM          0x0000  /* Byte-STREAM mode, the default.  */
-#define RMSGD          0x0001  /* Message-discard mode.   */
-#define RMSGN          0x0002  /* Message-nondiscard mode.   */
-#define RPROTDAT       0x0004  /* Deliver the control part of a message as
-                                  data.  */
-#define RPROTDIS       0x0008  /* Discard the control part of a message,
-                                  delivering any data part.  */
-#define RPROTNORM      0x0010  /* Fail `read' with EBADMSG if a message
-                                  containing a control part is at the front
-                                  of the STREAM head read queue.  */
-#ifdef __USE_GNU
-# define RPROTMASK     0x001C  /* The RPROT bits */
-#endif
-
-/* Possible mode for `I_SWROPT'.  */
-#define SNDZERO                0x001   /* Send a zero-length message downstream when a
-                                  `write' of 0 bytes occurs.  */
-#ifdef __USE_GNU
-# define SNDPIPE       0x002   /* Send SIGPIPE on write and putmsg if
-                                  sd_werror is set.  */
-#endif
-
-/* Arguments for `I_ATMARK'.  */
-#define ANYMARK                0x01    /* Check if the message is marked.  */
-#define LASTMARK       0x02    /* Check if the message is the last one marked
-                                  on the queue.  */
-
-/* Argument for `I_UNLINK'.  */
-#ifdef __USE_GNU
-# define MUXID_ALL     (-1)    /* Unlink all STREAMs linked to the STREAM
-                                  associated with `fildes'.  */
-#endif
-
-
-/* Macros for `getmsg', `getpmsg', `putmsg' and `putpmsg'.  */
-#define MSG_HIPRI      0x01    /* Send/receive high priority message.  */
-#define MSG_ANY                0x02    /* Receive any message.  */
-#define MSG_BAND       0x04    /* Receive message from specified band.  */
-
-/* Values returned by getmsg and getpmsg */
-#define MORECTL                1       /* More control information is left in
-                                  message.  */
-#define MOREDATA       2       /* More data is left in message.  */
-
-
-/* Structure used for the I_FLUSHBAND ioctl on streams.  */
-struct bandinfo
-  {
-    unsigned char bi_pri;
-    int bi_flag;
-  };
-
-struct strbuf
-  {
-    int maxlen;                /* Maximum buffer length.  */
-    int len;           /* Length of data.  */
-    char *buf;         /* Pointer to buffer.  */
-  };
-
-struct strpeek
-  {
-    struct strbuf ctlbuf;
-    struct strbuf databuf;
-    t_uscalar_t flags;                 /* UnixWare/Solaris compatibility.  */
-  };
-
-struct strfdinsert
-  {
-    struct strbuf ctlbuf;
-    struct strbuf databuf;
-    t_uscalar_t flags;                 /* UnixWare/Solaris compatibility.  */
-    int fildes;
-    int offset;
-  };
-
-struct strioctl
-  {
-    int ic_cmd;
-    int ic_timout;
-    int ic_len;
-    char *ic_dp;
-  };
-
-struct strrecvfd
-  {
-    int fd;
-    uid_t uid;
-    gid_t gid;
-    char __fill[8];                    /* UnixWare/Solaris compatibility */
-  };
-
-
-struct str_mlist
-  {
-    char l_name[FMNAMESZ + 1];
-  };
-
-struct str_list
-  {
-    int sl_nmods;
-    struct str_mlist *sl_modlist;
-  };
-
-#endif /* bits/stropts.h */
diff --git a/sysdeps/generic/bits/sys_errlist.h b/sysdeps/generic/bits/sys_errlist.h
deleted file mode 100644 (file)
index ab839b7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Declare sys_errlist and sys_nerr, or don't.  Don't version.
-   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 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 _STDIO_H
-# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
-#endif
-
-/* sys_errlist and sys_nerr are deprecated.  Use strerror instead.  */
diff --git a/sysdeps/generic/bits/termios.h b/sysdeps/generic/bits/termios.h
deleted file mode 100644 (file)
index 43bb1ce..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/* termios type and macro definitions.  4.4 BSD/generic GNU version.
-   Copyright (C) 1993,94,96,97,99,2001 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 _TERMIOS_H
-# error "Never include <bits/termios.h> directly; use <termios.h> instead."
-#endif
-
-/* These macros are also defined in some <bits/ioctls.h> files (with
-   numerically identical values), but this serves to shut up cpp's
-   complaining. */
-#ifdef __USE_BSD
-
-# ifdef MDMBUF
-#  undef MDMBUF
-# endif
-# ifdef FLUSHO
-#  undef FLUSHO
-# endif
-# ifdef PENDIN
-#  undef PENDIN
-# endif
-
-#endif /* __USE_BSD */
-
-#ifdef ECHO
-# undef ECHO
-#endif
-#ifdef TOSTOP
-# undef TOSTOP
-#endif
-#ifdef NOFLSH
-# undef NOFLSH
-#endif
-
-
-/* These definitions match those used by the 4.4 BSD kernel.
-   If the operating system has termios system calls or ioctls that
-   correctly implement the POSIX.1 behavior, there should be a
-   system-dependent version of this file that defines `struct termios',
-   `tcflag_t', `cc_t', `speed_t' and the `TC*' constants appropriately.  */
-
-/* Type of terminal control flag masks.  */
-typedef unsigned long int tcflag_t;
-
-/* Type of control characters.  */
-typedef unsigned char cc_t;
-
-/* Type of baud rate specifiers.  */
-typedef long int speed_t;
-
-/* Terminal control structure.  */
-struct termios
-{
-  /* Input modes.  */
-  tcflag_t c_iflag;
-#define        IGNBRK  (1 << 0)        /* Ignore break condition.  */
-#define        BRKINT  (1 << 1)        /* Signal interrupt on break.  */
-#define        IGNPAR  (1 << 2)        /* Ignore characters with parity errors.  */
-#define        PARMRK  (1 << 3)        /* Mark parity and framing errors.  */
-#define        INPCK   (1 << 4)        /* Enable input parity check.  */
-#define        ISTRIP  (1 << 5)        /* Strip 8th bit off characters.  */
-#define        INLCR   (1 << 6)        /* Map NL to CR on input.  */
-#define        IGNCR   (1 << 7)        /* Ignore CR.  */
-#define        ICRNL   (1 << 8)        /* Map CR to NL on input.  */
-#define        IXON    (1 << 9)        /* Enable start/stop output control.  */
-#define        IXOFF   (1 << 10)       /* Enable start/stop input control.  */
-#ifdef __USE_BSD
-# define IXANY (1 << 11)       /* Any character will restart after stop.  */
-# define IMAXBEL (1 << 13)     /* Ring bell when input queue is full.  */
-#endif
-#ifdef __USE_GNU
-# define IUCLC (1 << 14)       /* Translate upper case input to lower case. */
-#endif
-
-  /* Output modes.  */
-  tcflag_t c_oflag;
-#define        OPOST   (1 << 0)        /* Perform output processing.  */
-#ifdef __USE_BSD
-# define ONLCR (1 << 1)        /* Map NL to CR-NL on output.  */
-# define OXTABS        (1 << 2)        /* Expand tabs to spaces.  */
-# define ONOEOT        (1 << 3)        /* Discard EOT (^D) on output.  */
-#endif
-#ifdef __USE_GNU
-# define OLCUC (1 << 9)        /* Translate lower case output to upper case */
-#endif
-
-  /* Control modes.  */
-  tcflag_t c_cflag;
-#ifdef __USE_BSD
-# define CIGNORE       (1 << 0)        /* Ignore these control flags.  */
-#endif
-#define        CSIZE   (CS5|CS6|CS7|CS8)       /* Number of bits per byte (mask).  */
-#define        CS5     0               /* 5 bits per byte.  */
-#define        CS6     (1 << 8)        /* 6 bits per byte.  */
-#define        CS7     (1 << 9)        /* 7 bits per byte.  */
-#define        CS8     (CS6|CS7)       /* 8 bits per byte.  */
-#define        CSTOPB  (1 << 10)       /* Two stop bits instead of one.  */
-#define        CREAD   (1 << 11)       /* Enable receiver.  */
-#define        PARENB  (1 << 12)       /* Parity enable.  */
-#define        PARODD  (1 << 13)       /* Odd parity instead of even.  */
-#define        HUPCL   (1 << 14)       /* Hang up on last close.  */
-#define        CLOCAL  (1 << 15)       /* Ignore modem status lines.  */
-#ifdef __USE_BSD
-# define CCTS_OFLOW    (1 << 16)       /* CTS flow control of output.  */
-# define CRTS_IFLOW    (1 << 17)       /* RTS flow control of input.  */
-# define CRTSCTS       (CCTS_OFLOW|CRTS_IFLOW) /* CTS/RTS flow control.  */
-# define MDMBUF                (1 << 20)       /* Carrier flow control of output.  */
-#endif
-
-  /* Local modes.  */
-  tcflag_t c_lflag;
-#ifdef __USE_BSD
-# define ECHOKE        (1 << 0)        /* Visual erase for KILL.  */
-#endif
-#define        _ECHOE  (1 << 1)        /* Visual erase for ERASE.  */
-#define        ECHOE   _ECHOE
-#define        _ECHOK  (1 << 2)        /* Echo NL after KILL.  */
-#define        ECHOK   _ECHOK
-#define        _ECHO   (1 << 3)        /* Enable echo.  */
-#define        ECHO    _ECHO
-#define        _ECHONL (1 << 4)        /* Echo NL even if ECHO is off.  */
-#define        ECHONL  _ECHONL
-#ifdef __USE_BSD
-# define ECHOPRT       (1 << 5)        /* Hardcopy visual erase.  */
-# define ECHOCTL       (1 << 6)        /* Echo control characters as ^X.  */
-#endif
-#define        _ISIG   (1 << 7)        /* Enable signals.  */
-#define        ISIG    _ISIG
-#define        _ICANON (1 << 8)        /* Do erase and kill processing.  */
-#define        ICANON  _ICANON
-#ifdef __USE_BSD
-# define ALTWERASE (1 << 9)    /* Alternate WERASE algorithm.  */
-#endif
-#define        _IEXTEN (1 << 10)       /* Enable DISCARD and LNEXT.  */
-#define        IEXTEN  _IEXTEN
-#define        EXTPROC (1 << 11)       /* External processing.  */
-#define        _TOSTOP (1 << 22)       /* Send SIGTTOU for background output.  */
-#define        TOSTOP  _TOSTOP
-#ifdef __USE_BSD
-# define FLUSHO        (1 << 23)       /* Output being flushed (state).  */
-# define NOKERNINFO (1 << 25)  /* Disable VSTATUS.  */
-# define PENDIN        (1 << 29)       /* Retype pending input (state).  */
-#endif
-#define        _NOFLSH (1 << 31)       /* Disable flush after interrupt.  */
-#define        NOFLSH  _NOFLSH
-
-  /* Control characters.  */
-#define        VEOF    0               /* End-of-file character [ICANON].  */
-#define        VEOL    1               /* End-of-line character [ICANON].  */
-#ifdef __USE_BSD
-# define VEOL2 2               /* Second EOL character [ICANON].  */
-#endif
-#define        VERASE  3               /* Erase character [ICANON].  */
-#ifdef __USE_BSD
-# define VWERASE       4               /* Word-erase character [ICANON].  */
-#endif
-#define        VKILL   5               /* Kill-line character [ICANON].  */
-#ifdef __USE_BSD
-# define VREPRINT 6            /* Reprint-line character [ICANON].  */
-#endif
-#define        VINTR   8               /* Interrupt character [ISIG].  */
-#define        VQUIT   9               /* Quit character [ISIG].  */
-#define        VSUSP   10              /* Suspend character [ISIG].  */
-#ifdef __USE_BSD
-# define VDSUSP        11              /* Delayed suspend character [ISIG].  */
-#endif
-#define        VSTART  12              /* Start (X-ON) character [IXON, IXOFF].  */
-#define        VSTOP   13              /* Stop (X-OFF) character [IXON, IXOFF].  */
-#ifdef __USE_BSD
-# define VLNEXT        14              /* Literal-next character [IEXTEN].  */
-# define VDISCARD 15           /* Discard character [IEXTEN].  */
-#endif
-#define        VMIN    16              /* Minimum number of bytes read at once [!ICANON].  */
-#define        VTIME   17              /* Time-out value (tenths of a second) [!ICANON].  */
-#ifdef __USE_BSD
-# define VSTATUS       18              /* Status character [ICANON].  */
-#endif
-#define        NCCS    20              /* Value duplicated in <hurd/tioctl.defs>.  */
-  cc_t c_cc[NCCS];
-
-  /* Input and output baud rates.  */
-  speed_t __ispeed, __ospeed;
-#define        B0      0               /* Hang up.  */
-#define        B50     50              /* 50 baud.  */
-#define        B75     75              /* 75 baud.  */
-#define        B110    110             /* 110 baud.  */
-#define        B134    134             /* 134.5 baud.  */
-#define        B150    150             /* 150 baud.  */
-#define        B200    200             /* 200 baud.  */
-#define        B300    300             /* 300 baud.  */
-#define        B600    600             /* 600 baud.  */
-#define        B1200   1200            /* 1200 baud.  */
-#define        B1800   1800            /* 1800 baud.  */
-#define        B2400   2400            /* 2400 baud.  */
-#define        B4800   4800            /* 4800 baud.  */
-#define        B9600   9600            /* 9600 baud.  */
-#define        B19200  19200           /* 19200 baud.  */
-#define        B38400  38400           /* 38400 baud.  */
-#ifdef __USE_MISC
-# define EXTA  19200
-# define EXTB  38400
-#endif
-#define        B57600  57600
-#define        B115200 115200
-#define        B230400 230400
-#define        B460800 460800
-#define        B500000 500000
-#define        B576000 576000
-#define        B921600 921600
-#define        B1000000 1000000
-#define        B1152000 1152000
-#define        B1500000 1500000
-#define        B2000000 2000000
-#define        B2500000 2500000
-#define        B3000000 3000000
-#define        B3500000 3500000
-#define        B4000000 4000000
-};
-
-#define _IOT_termios /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (tcflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
-
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
-#define        TCSANOW         0       /* Change immediately.  */
-#define        TCSADRAIN       1       /* Change when pending output is written.  */
-#define        TCSAFLUSH       2       /* Flush pending input before changing.  */
-#ifdef __USE_BSD
-# define TCSASOFT      0x10    /* Flag: Don't alter hardware state.  */
-#endif
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
-#define        TCIFLUSH        1       /* Discard data received but not yet read.  */
-#define        TCOFLUSH        2       /* Discard data written but not yet sent.  */
-#define        TCIOFLUSH       3       /* Discard all pending data.  */
-
-/* Values for the ACTION argument to `tcflow'.  */
-#define        TCOOFF  1               /* Suspend output.  */
-#define        TCOON   2               /* Restart suspended output.  */
-#define        TCIOFF  3               /* Send a STOP character.  */
-#define        TCION   4               /* Send a START character.  */
diff --git a/sysdeps/generic/bits/time.h b/sysdeps/generic/bits/time.h
deleted file mode 100644 (file)
index b3184d1..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* System-dependent timing definitions.  Generic version.
-   Copyright (C) 1996,1997,1999-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.  */
-
-/*
- * Never include this file directly; use <time.h> instead.
- */
-
-#ifndef __need_timeval
-# ifndef _BITS_TIME_H
-#  define _BITS_TIME_H 1
-
-/* ISO/IEC 9899:1990 7.12.1: <time.h>
-   The macro `CLOCKS_PER_SEC' is the number per second of the value
-   returned by the `clock' function. */
-/* CAE XSH, Issue 4, Version 2: <time.h>
-   The value of CLOCKS_PER_SEC is required to be 1 million on all
-   XSI-conformant systems. */
-#  define CLOCKS_PER_SEC  1000000l
-
-#  if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K
-/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
-   presents the real value for clock ticks per second for the system.  */
-#   include <bits/types.h>
-extern long int __sysconf (int);
-#   define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */
-#  endif
-
-#  ifdef __USE_POSIX199309
-/* Identifier for system-wide realtime clock.  */
-#   define CLOCK_REALTIME              0
-/* Monotonic system-wide clock.  */
-#   define CLOCK_MONOTONIC             1
-/* High-resolution timer from the CPU.  */
-#   define CLOCK_PROCESS_CPUTIME_ID    2
-/* Thread-specific CPU-time clock.  */
-#   define CLOCK_THREAD_CPUTIME_ID     3
-
-/* Flag to indicate time is absolute.  */
-#   define TIMER_ABSTIME               1
-#  endif
-
-# endif        /* bits/time.h */
-#endif
-
-#ifdef __need_timeval
-# undef __need_timeval
-# ifndef _STRUCT_TIMEVAL
-#  define _STRUCT_TIMEVAL      1
-#  include <bits/types.h>
-
-/* A time value that is accurate to the nearest
-   microsecond but also has a range of years.  */
-struct timeval
-  {
-    __time_t tv_sec;           /* Seconds.  */
-    __suseconds_t tv_usec;     /* Microseconds.  */
-  };
-# endif        /* struct timeval */
-#endif /* need timeval */
diff --git a/sysdeps/generic/bits/typesizes.h b/sysdeps/generic/bits/typesizes.h
deleted file mode 100644 (file)
index e9226c4..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t.  Generic 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 <bits/typesizes.h> directly; use <sys/types.h> instead."
-#endif
-
-#ifndef        _BITS_TYPESIZES_H
-#define        _BITS_TYPESIZES_H       1
-
-/* See <bits/types.h> for the meaning of these macros.  This file exists so
-   that <bits/types.h> need not vary across different GNU platforms.  */
-
-#define __DEV_T_TYPE           __UQUAD_TYPE
-#define __UID_T_TYPE           __U32_TYPE
-#define __GID_T_TYPE           __U32_TYPE
-#define __INO_T_TYPE           __ULONGWORD_TYPE
-#define __INO64_T_TYPE         __UQUAD_TYPE
-#define __MODE_T_TYPE          __U32_TYPE
-#define __NLINK_T_TYPE         __UWORD_TYPE
-#define __OFF_T_TYPE           __SLONGWORD_TYPE
-#define __OFF64_T_TYPE         __SQUAD_TYPE
-#define __PID_T_TYPE           __S32_TYPE
-#define __RLIM_T_TYPE          __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE                __UQUAD_TYPE
-#define        __BLKCNT_T_TYPE         __SLONGWORD_TYPE
-#define        __BLKCNT64_T_TYPE       __SQUAD_TYPE
-#define        __FSBLKCNT_T_TYPE       __ULONGWORD_TYPE
-#define        __FSBLKCNT64_T_TYPE     __UQUAD_TYPE
-#define        __FSFILCNT_T_TYPE       __ULONGWORD_TYPE
-#define        __FSFILCNT64_T_TYPE     __UQUAD_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     __SLONGWORD_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         void *
-#define __BLKSIZE_T_TYPE       __SLONGWORD_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/sysdeps/generic/bits/ustat.h b/sysdeps/generic/bits/ustat.h
deleted file mode 100644 (file)
index 69c6b72..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1997, 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.  */
-
-#ifndef _SYS_USTAT_H
-# error "Never include <bits/ustat.h> directly; use <sys/ustat.h> instead."
-#endif
-
-#include <sys/types.h>
-
-struct ustat
-  {
-    __daddr_t f_tfree;         /* Number of free blocks.  */
-    __ino_t f_tinode;          /* Number of free inodes.  */
-    char f_fname[6];
-    char f_fpack[6];
-  };
diff --git a/sysdeps/generic/bits/utsname.h b/sysdeps/generic/bits/utsname.h
deleted file mode 100644 (file)
index 48e8a8e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 1997 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 _SYS_UTSNAME_H
-# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."
-#endif
-
-/* The size of the character arrays used to hold the information
-   in a `struct utsname'.  Enlarge this as necessary.  */
-#define        _UTSNAME_LENGTH 1024
diff --git a/sysdeps/generic/bits/waitflags.h b/sysdeps/generic/bits/waitflags.h
deleted file mode 100644 (file)
index 157dd12..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Definitions of flag bits for `waitpid' et al.
-   Copyright (C) 1992, 1996, 1997, 2000 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.  */
-
-#if !defined _SYS_WAIT_H && !defined _STDLIB_H
-# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
-#endif
-
-
-/* Bits in the third argument to `waitpid'.  */
-#define        WNOHANG         1       /* Don't block waiting.  */
-#define        WUNTRACED       2       /* Report status of stopped children.  */
diff --git a/sysdeps/generic/bits/wchar.h b/sysdeps/generic/bits/wchar.h
deleted file mode 100644 (file)
index ef1f563..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/* wchar_t type related definitions.
-   Copyright (C) 2000 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_WCHAR_H
-#define _BITS_WCHAR_H  1
-
-#define __WCHAR_MIN    (-2147483647 - 1)
-#define __WCHAR_MAX    (2147483647)
-
-#endif /* bits/wchar.h */
diff --git a/sysdeps/generic/bits/wordsize.h b/sysdeps/generic/bits/wordsize.h
deleted file mode 100644 (file)
index 9ef0e85..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#error "This file must be written based on the data type sizes of the target"
diff --git a/sysdeps/generic/bits/xtitypes.h b/sysdeps/generic/bits/xtitypes.h
deleted file mode 100644 (file)
index c21bfb0..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>.  Generic.
-   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 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 _STROPTS_H
-# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
-#endif
-
-#ifndef _BITS_XTITYPES_H
-#define _BITS_XTITYPES_H       1
-
-#include <bits/types.h>
-
-/* This type is used by some structs in <bits/stropts.h>.  */
-typedef __SLONGWORD_TYPE __t_scalar_t;
-typedef __ULONGWORD_TYPE __t_uscalar_t;
-
-
-#endif /* bits/xtitypes.h */
index 619250e61410e543e0b74ea76235b7e12ac751b1..301b53176e380af05d8263749aefcd7daa5c1c61 100644 (file)
@@ -1,6 +1,6 @@
 /* DWARF2 exception handling and frame unwind runtime interface routines.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
-   Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2005
+       Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
@@ -256,7 +256,7 @@ extract_cie_info (struct dwarf_cie *cie, struct _Unwind_Context *context,
                  _Unwind_FrameState *fs)
 {
   const unsigned char *aug = cie->augmentation;
-  const unsigned char *p = aug + strlen (aug) + 1;
+  const unsigned char *p = aug + strlen ((const char *) aug) + 1;
   const unsigned char *ret = NULL;
   _Unwind_Word utmp;
 
index 1508311a4a15dad3731ec28a52655a9ed7ca5c14..56da01756ddade67418ad7d4666dba5b29477921 100644 (file)
@@ -1407,6 +1407,54 @@ TRANS error; @pxref{Cancel AIO Operations}. */
 # undef ERR_MAX
 # define ERR_MAX EMEDIUMTYPE
 # endif
+#endif
+#ifdef ENOKEY
+/* */
+    [ERR_REMAP (ENOKEY)] = N_("Required key not available"),
+# if ENOKEY > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX ENOKEY
+# endif
+#endif
+#ifdef EKEYEXPIRED
+/* */
+    [ERR_REMAP (EKEYEXPIRED)] = N_("Key has expired"),
+# if EKEYEXPIRED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYEXPIRED
+# endif
+#endif
+#ifdef EKEYREVOKED
+/* */
+    [ERR_REMAP (EKEYREVOKED)] = N_("Key has been revoked"),
+# if EKEYREVOKED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYREVOKED
+# endif
+#endif
+#ifdef EKEYREJECTED
+/* */
+    [ERR_REMAP (EKEYREJECTED)] = N_("Key was rejected by service"),
+# if EKEYREJECTED > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EKEYREJECTED
+# endif
+#endif
+#ifdef EOWNERDEAD
+/* */
+    [ERR_REMAP (EOWNERDEAD)] = N_("Owner died"),
+# if EOWNERDEAD > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EOWNERDEAD
+# endif
+#endif
+#ifdef ENOTRECOVERABLE
+/* */
+    [ERR_REMAP (ENOTRECOVERABLE)] = N_("State not recoverable"),
+# if ENOTRECOVERABLE > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX ENOTRECOVERABLE
+# endif
 #endif
   };
 
index a090d0dabc7e38df736e0d61edb729d226cb033d..2240ceac4796077563a1a2afcefa2e3deed72f7e 100644 (file)
@@ -24,8 +24,8 @@
 
 #include <math_private.h>
 
-static long double c0 = 1.44268798828125L;
-static long double c1 = 7.05260771340735992468e-6L;
+static const long double c0 = 1.44268798828125L;
+static const long double c1 = 7.05260771340735992468e-6L;
 
 long double
 __ieee754_expl (long double x)
diff --git a/sysdeps/i386/i586/memusage.h b/sysdeps/i386/i586/memusage.h
new file mode 100644 (file)
index 0000000..c817087
--- /dev/null
@@ -0,0 +1 @@
+#include "../i686/memusage.h"
index 73ce98c6303ce732af6bc8b95cf675573c4fcfc9..8d5749f65538d5857fcbef9a67bc582444edfdc5 100644 (file)
@@ -17,6 +17,5 @@
    02111-1307 USA.  */
 
 #define GETSP() ({ register uintptr_t stack_ptr asm ("esp"); stack_ptr; })
-#define GETTIME(low,high) asm ("rdtsc" : "=a" (low), "=d" (high))
 
 #include <sysdeps/generic/memusage.h>
index 397acd182ccadacdb781a74fc15a3d5f9d51bdc2..b7ed7398a3f81701bbb191caee1814840a8a5846 100644 (file)
@@ -1,5 +1,5 @@
 /* Double-precision floating point 2^x.
-   Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
 
 
 #include "t_exp2.h"
 
-static const volatile double TWO1023 = 8.988465674311579539e+307;
-static const volatile double TWOM1000 = 9.3326361850321887899e-302;
+/* XXX I know the assembler generates a warning about incorrect section
+   attributes. But without the attribute here the compiler places the
+   constants in the .data section.  Ideally the constant is placed in
+   .rodata.cst8 so that it can be merged, but gcc sucks, it ICEs when
+   we try to force this section on it.  --drepper  */
+static const volatile double TWO1023 __attribute__ ((section (".rodata")))
+  = 8.988465674311579539e+307;
+static const volatile double TWOM1000 __attribute__ ((section (".rodata")))
+  = 9.3326361850321887899e-302;
 
 double
 __ieee754_exp2 (double x)
index 9e1111b8dbaec9800e281ec3afe8854cbb48f25c..478a4bacf60fd142b48a8fa58d9af5bec5328c7f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * IBM Accurate Mathematical Library
  * written by International Business Machines Corp.
- * Copyright (C) 2001 Free Software Foundation
+ * Copyright (C) 2001, 2005 Free Software Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -42,7 +42,7 @@
 
 double __ieee754_sqrt(double x);
 
-int4 tab54[32] = {
+static const int4 tab54[32] = {
    262143, 11585, 1782, 511, 210, 107, 63, 42,
        30,    22,   17,  14,  12,  10,  9,  7,
         7,     6,    5,   5,   5,   4,  4,  4,
index 752272db4600378a69249ad946abaacad61932a0..ea55304d9a94b0451cfcddc51080d39b5658846a 100644 (file)
@@ -1,5 +1,5 @@
 /* Single-precision floating point 2^x.
-   Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
 
 
 #include "t_exp2f.h"
 
-static const volatile float TWOM100 = 7.88860905e-31;
-static const volatile float TWO127 = 1.7014118346e+38;
+/* XXX I know the assembler generates a warning about incorrect section
+   attributes. But without the attribute here the compiler places the
+   constants in the .data section.  Ideally the constant is placed in
+   .rodata.cst4 so that it can be merged, but gcc sucks, it ICEs when
+   we try to force this section on it.  --drepper  */
+static const volatile float TWOM100 __attribute__ ((section (".rodata")))
+  = 7.88860905e-31;
+static const volatile float TWO127 __attribute__ ((section (".rodata")))
+  = 1.7014118346e+38;
 
 float
 __ieee754_exp2f (float x)
index 62448a9554a6cea2e3de3ba2a9b7f5df8103ad0d..b3e458c3da940d610ab58196bad417d4cec2942c 100644 (file)
@@ -1,5 +1,5 @@
 /* Single-precision floating point e^x.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
 
 extern const float __exp_deltatable[178];
 extern const double __exp_atable[355] /* __attribute__((mode(DF))) */;
 
-static const volatile float TWOM100 = 7.88860905e-31;
-static const volatile float TWO127 = 1.7014118346e+38;
+/* XXX I know the assembler generates a warning about incorrect section
+   attributes. But without the attribute here the compiler places the
+   constants in the .data section.  Ideally the constant is placed in
+   .rodata.cst4 so that it can be merged, but gcc sucks, it ICEs when
+   we try to force this section on it.  --drepper  */
+static const volatile float TWOM100 __attribute__ ((section (".rodata")))
+  = 7.88860905e-31;
+static const volatile float TWO127 __attribute__ ((section (".rodata")))
+  = 1.7014118346e+38;
 
 float
 __ieee754_expf (float x)
index 375e334c384aebf1ae488295c4ba6aa3b3cce3dc..7d32dbb01673ba1b25c658c43a1bbb207ebbf3db 100644 (file)
@@ -8,7 +8,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -20,7 +20,15 @@ static char rcsid[] = "$NetBSD: s_expm1f.c,v 1.5 1995/05/10 20:47:11 jtc Exp $";
 #include "math.h"
 #include "math_private.h"
 
-static const volatile float huge = 1.0e+30, tiny = 1.0e-30;
+/* XXX I know the assembler generates a warning about incorrect section
+   attributes. But without the attribute here the compiler places the
+   constants in the .data section.  Ideally the constant is placed in
+   .rodata.cst4 so that it can be merged, but gcc sucks, it ICEs when
+   we try to force this section on it.  --drepper  */
+static const volatile float huge __attribute__ ((section (".rodata")))
+  = 1.0e+30;
+static const volatile float tiny __attribute__ ((section (".rodata")))
+  = 1.0e-30;
 
 #ifdef __STDC__
 static const float
@@ -71,7 +79,7 @@ Q5  =  -2.0109921195e-07; /* 0xb457edbb */
        }
 
     /* argument reduction */
-       if(hx > 0x3eb17218) {           /* if  |x| > 0.5 ln2 */ 
+       if(hx > 0x3eb17218) {           /* if  |x| > 0.5 ln2 */
            if(hx < 0x3F851592) {       /* and |x| < 1.5 ln2 */
                if(xsb==0)
                    {hi = x - ln2_hi; lo =  ln2_lo;  k =  1;}
@@ -85,10 +93,10 @@ Q5  =  -2.0109921195e-07; /* 0xb457edbb */
            }
            x  = hi - lo;
            c  = (hi-x)-lo;
-       } 
+       }
        else if(hx < 0x33000000) {      /* when |x|<2**-25, return x */
            t = huge+x; /* return x with inexact flags when x!=0 */
-           return x - (t-(huge+x));    
+           return x - (t-(huge+x));
        }
        else k = 0;
 
index 872859691521b026cff00d07de150f38198014fb..fa7da6020408290b504f3da203521dba2c180340 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994,95,96,97,99,2001,02, 04 Free Software Foundation, Inc.
+/* Copyright (C) 1994,1995,1996,1997,1999,2001,2002,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
@@ -21,7 +22,7 @@
 #include <hurd.h>
 #include <hurd/signal.h>
 #include <setjmp.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <sysdep.h>            /* For stack growth direction.  */
 #include "set-hooks.h"
 #include <assert.h>
index bbb5b960acba28a6ec231fe87c854d532257f486..fc811c5e7bb9442bc0401f7e2a210be652d1358f 100644 (file)
@@ -1,5 +1,5 @@
 /* Set thread_state for sighandler, and sigcontext to recover.  HPPA version.
-   Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1997, 1998, 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
@@ -18,7 +18,7 @@
    02111-1307 USA.  */
 
 #include <hurd/signal.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <assert.h>
 #include <errno.h>
 #include "hurdfault.h"
index 781a0441dc481fe563d05a29523911883ecfc13d..dddc6f3ef61a5dfda9a601b7cd56f1ce709f5416 100644 (file)
@@ -1,5 +1,6 @@
 /* Set thread_state for sighandler, and sigcontext to recover.  i386 version.
-   Copyright (C) 1994, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+   Copyright (C) 1994,1995,1996,1997,1998,1999,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
 
 #include <hurd/signal.h>
 #include <hurd/userlink.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <assert.h>
 #include <errno.h>
 #include "hurdfault.h"
-#include "intr-msg.h"
+#include <intr-msg.h>
 
 
 struct sigcontext *
index 258ea6368dd5177cdaf4ddc06016ee955f7f6f0d..9da8a6803aee10e757965991e773b40e5b1d84e4 100644 (file)
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <ifreq.h>
+#include <hurd.h>
+#include <hurd/pfinet.h>
+#include <sys/mman.h>
+
+
 void
 __ifreq (struct ifreq **ifreqs, int *num_ifs, int sockfd)
 {
index dd42dfc1c6e95493f31e1ba4ca19a308e886ffc2..34e363b1aa824ad852411b42cd41432bb59e8177 100644 (file)
@@ -1,5 +1,5 @@
 /* Set thread_state for sighandler, and sigcontext to recover.  MIPS version.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 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
 
 #include <hurd/signal.h>
 #include <hurd/userlink.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <assert.h>
 #include <errno.h>
 #include "hurdfault.h"
-#include "intr-msg.h"
+#include <intr-msg.h>
 
 
 struct sigcontext *
@@ -35,7 +35,7 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
   __label__ trampoline, rpc_wait_trampoline, firewall;
   void *volatile sigsp;
   struct sigcontext *scp;
-  struct 
+  struct
     {
       int signo;
       long int sigcode;
@@ -163,7 +163,7 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
         still waiting for a reply.  We will have it run the special
         trampoline code which retries the message receive before running
         the signal handler.
-        
+
         To do this we change the OPTION argument in its registers to
         enable only message reception, since the request message has
         already been sent.  */
index 4e5d67525886dc6c6bb1c32f04d75700a5bdbf40..4e1ea4b9d99ec8b084e21ff3fb4e76f65fb654cb 100644 (file)
@@ -1,5 +1,6 @@
 /* Set thread_state for sighandler, and sigcontext to recover.  For PowerPC.
-   Copyright (C) 1994,95,96,97,98,99,2001 Free Software Foundation, Inc.
+   Copyright (C) 1994,1995,1996,1997,1998,1999,2001,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
 
 #include <hurd/signal.h>
 #include <hurd/userlink.h>
-#include "thread_state.h"
+#include <thread_state.h>
 #include <assert.h>
 #include <errno.h>
 #include "hurdfault.h"
-#include "intr-msg.h"
+#include <intr-msg.h>
 
 struct sigcontext *
 _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
index 04ca1688ec35c1eaa075d2ce8e660291e8452571..853038d078c88edbc0f7ec7f01d998674894f5b5 100644 (file)
@@ -181,14 +181,14 @@ profil_count_uint (void *pcp)
    interrupted code.  */
 #define profil_counter         profil_counter_ushort
 #define profil_count(pc)       profil_count (pc, 0)
-#include "profil-counter.h"
+#include <profil-counter.h>
 
 #undef profil_counter
 #undef profil_count
 
 #define profil_counter         profil_counter_uint
 #define profil_count(pc)       profil_count (pc, 1)
-#include "profil-counter.h"
+#include <profil-counter.h>
 
 static int
 insert (int i, unsigned long int start, unsigned long int end, struct prof *p,
index 272431307ce4bba20fbe7ed25cbd0da9dc4d551c..0b57006d40322fa1145c96746e78dff7c97264d7 100644 (file)
@@ -345,22 +345,22 @@ ifloat: 1
 # j0
 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 Test "j0 (2.0) == 0.223890779141235668051827454649948626":
 float: 2
 ifloat: 2
 Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 Test "j0 (8.0) == 0.171650807137553906090869407851972001":
 float: 1
 ifloat: 1
@@ -379,22 +379,22 @@ idouble: 1
 # jn
 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
 float: 2
 ifloat: 2
 Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
 float: 1
 ifloat: 1
@@ -433,9 +433,9 @@ double: 1
 idouble: 1
 Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
 double: 3
-float: 1
+float: 2
 idouble: 3
-ifloat: 1
+ifloat: 2
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
 double: 1
 float: 2
@@ -618,7 +618,9 @@ float: 2
 ifloat: 2
 Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
 double: 2
+float: 2
 idouble: 2
+ifloat: 2
 Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
 double: 3
 float: 1
@@ -820,9 +822,9 @@ float: 1
 ifloat: 1
 
 Function: "j0":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 
 Function: "j1":
index a37b2c7896be0a13c3e2b7e9a4a11b5f0bb4b560..aa1ee443a5d8fca17cbab6a10518b08f36c6f630 100644 (file)
@@ -1,5 +1,5 @@
 /* Cancel requests associated with given file descriptor.
-   Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -34,7 +34,7 @@
 #include <assert.h>
 #include <errno.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index 4c90d6958448a43553b180e504c8fd5523a11e64..47cc29991f484288e14dd85daf7974687caa66b3 100644 (file)
@@ -1,5 +1,5 @@
 /* Synchronize I/O in given file descriptor.
-   Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -30,7 +30,7 @@
 #undef aio_fsync64
 #include <errno.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index 62646fb12de729a44571d43abe1c76f4b1e4b301..973c6cdd48adfd7d11efef7c313165384985d5ed 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous read.
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -20,7 +20,7 @@
 
 #include <aio.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index f91b08b6db742e0ceaf030d8ad3351a950cf8a63..a3a427d804a6d1d2a0e8070620c45a60aa4bf02f 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous read, 64bit offset version.
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -20,7 +20,7 @@
 
 #include <aio.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index 207dad964e2426e5d575ed2fda3fe55fc418cb5d..8f8e33a7dc29345264a498291f1a20e58a1ee44a 100644 (file)
@@ -1,5 +1,6 @@
 /* Suspend until termination of a requests.
-   Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2002,2003,2005
+       Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -36,7 +37,7 @@
 #include <sys/time.h>
 
 #include <bits/libc-lock.h>
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 struct clparam
index f5e89e9246ab9d735994824055a6a8ac525ee288..d61c5fbf9dffd3be860ae92a658474c043cb24b0 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous write.
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -20,7 +20,7 @@
 
 #include <aio.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index b9c84b760b7239c025c469d2959cf5093e2eb4fb..4e23a3af95e2ac2411f38f342ce10ea120c8f2db 100644 (file)
@@ -1,5 +1,5 @@
 /* Asynchronous write, 64bit offset version.
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -20,7 +20,7 @@
 
 #include <aio.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 
 int
index 5b98837b0d706367b1b8f317e65333583cedae08..29dc9d6eab9d0a7cedf793718764412f8504f5f0 100644 (file)
@@ -1,5 +1,6 @@
 /* Enqueue and list of read or write requests.
-   Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2001,2003,2005
+       Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -25,7 +26,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 #define LIO_OPCODE_BASE 0
 #endif
index fee1e591ef35e08e0d278be6fe5f4c3e4100b8c1..4bec3f619544337cbdf3af027cb92f9f10a90d79 100644 (file)
@@ -1,5 +1,5 @@
 /* Enqueue and list of read or write requests, 64bit offset version.
-   Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -24,7 +24,7 @@
 #include <stdlib.h>
 #include <unistd.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 #define lio_listio lio_listio64
 #define aiocb aiocb64
index b34fd310a3acdda96f3f920111ffe7c83e9bbf26..436573a428deb7c25f41bc819f6086a3be074c63 100644 (file)
@@ -117,6 +117,9 @@ libc {
   }
   GLIBC_2.4 {
     inotify_init; inotify_add_watch; inotify_rm_watch;
+
+    #errlist-compat    132
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
   }
   GLIBC_PRIVATE {
     # functions used in other libraries
index a6dbfb4eb11aa06def994345ef6e3d9ec97a0484..30e9fbf7e5e421da3a70aeb3057c33c71a24ca60 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2003,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
@@ -25,7 +26,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-#include "aio_misc.h"
+#include <aio_misc.h>
 
 #ifdef __NR_rt_sigqueueinfo
 
index 724dabaf1075616d4f4bfbe4b02b4d19caeb1b37..4de8cbba5707edc73c0af43da1121053890844bd 100644 (file)
@@ -1,5 +1,5 @@
 /* Error constants.  Linux specific version.
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 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
 /* Linux has no ENOTSUP error code.  */
 # define ENOTSUP EOPNOTSUPP
 
-/* Linux also had no ECANCELED error code.  Since it is not used here
-   we define it to an invalid value.  */
+/* Older Linux versions also had no ECANCELED error code.  */
 # ifndef ECANCELED
 #  define ECANCELED    125
 # endif
 
+/* Support for error codes to support robust mutexes was added later, too.  */
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD           130
+#  define ENOTRECOVERABLE      131
+# endif
+
 # ifndef __ASSEMBLER__
 /* Function to get address of global `errno' variable.  */
 extern int *__errno_location (void) __THROW __attribute__ ((__const__));
index 1ae69407ffe3874e7e87f911cc78e0f839235a6b..7db3e3eeacea17a58a3a342155c1a7bcb87f3210 100644 (file)
@@ -12,3 +12,7 @@ endif
 ifeq ($(subdir),resource)
 sysdep_routines += oldgetrlimit64
 endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/i386/ucontext_i.h b/sysdeps/unix/sysv/linux/i386/ucontext_i.h
deleted file mode 100644 (file)
index c6319f2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation.
-   Copyright (C) 2001, 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-/* Offsets of the fields in the ucontext_t structure.  */
-#define oLINK          4
-#define oSS_SP         8
-#define oSS_SIZE       16
-#define oGS            20
-#define oFS            24
-#define oEDI           36
-#define oESI           40
-#define oEBP           44
-#define oESP           48
-#define oEBX           52
-#define oEDX           56
-#define oECX           60
-#define oEAX           64
-#define oEIP           76
-#define oFPREGS                96
-#define oSIGMASK       108
-#define oFPREGSMEM     236
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_link, oLINK);                               \
-  TEST (uc_stack.ss_sp, oSS_SP);                       \
-  TEST (uc_stack.ss_size, oSS_SIZE);                   \
-  TEST (uc_mcontext.gregs[REG_GS], oGS);               \
-  TEST (uc_mcontext.gregs[REG_FS], oFS);               \
-  TEST (uc_mcontext.gregs[REG_EDI], oEDI);             \
-  TEST (uc_mcontext.gregs[REG_ESI], oESI);             \
-  TEST (uc_mcontext.gregs[REG_EBP], oEBP);             \
-  TEST (uc_mcontext.gregs[REG_ESP], oESP);             \
-  TEST (uc_mcontext.gregs[REG_EBX], oEBX);             \
-  TEST (uc_mcontext.gregs[REG_EDX], oEDX);             \
-  TEST (uc_mcontext.gregs[REG_ECX], oECX);             \
-  TEST (uc_mcontext.gregs[REG_EAX], oEAX);             \
-  TEST (uc_mcontext.gregs[REG_EIP], oEIP);             \
-  TEST (uc_mcontext.fpregs, oFPREGS);                  \
-  TEST (uc_sigmask, oSIGMASK);                         \
-  TEST (__fpregs_mem, oFPREGSMEM);
diff --git a/sysdeps/unix/sysv/linux/i386/ucontext_i.sym b/sysdeps/unix/sysv/linux/i386/ucontext_i.sym
new file mode 100644 (file)
index 0000000..b11a550
--- /dev/null
@@ -0,0 +1,30 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+#define mreg(reg)              mcontext (gregs[REG_##reg])
+
+oLINK          ucontext (uc_link)
+oSS_SP         ucontext (uc_stack.ss_sp)
+oSS_SIZE       ucontext (uc_stack.ss_size)
+oGS            mreg (GS)
+oFS            mreg (FS)
+oEDI           mreg (EDI)
+oESI           mreg (ESI)
+oEBP           mreg (EBP)
+oESP           mreg (ESP)
+oEBX           mreg (EBX)
+oEDX           mreg (EDX)
+oECX           mreg (ECX)
+oEAX           mreg (EAX)
+oEIP           mreg (EIP)
+oFPREGS                mcontext (fpregs)
+oSIGMASK       ucontext (uc_sigmask)
+oFPREGSMEM     ucontext (__fpregs_mem)
index 671370ede0a97a65ea85cee5e764007e46b051c7..55d2d0d273e18a995c07f7a33c9d59be453f38a7 100644 (file)
@@ -2,3 +2,7 @@
 ifeq ($(subdir),rt)
 librt-routines += rt-sysdep
 endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h
deleted file mode 100644 (file)
index f65b0ed..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation.
-   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 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-#define _FRAME_BACKCHAIN       0
-#define _FRAME_LR_SAVE 4
-#define _FRAME_PARM_SAVE1      8
-#define _FRAME_PARM_SAVE2      12
-#define _FRAME_PARM_SAVE3      16
-#define _FRAME_PARM_SAVE4      20
-
-#define _UC_LINK       4
-#define _UC_STACK_SP   8
-#define _UC_STACK_SIZE 16
-#define _UC_REGS_PTR   48
-#define _UC_SIGMASK    52
-#define _UC_REG_SPACE  180
-
-/* offsets within mcontext_t */
-#define _UC_GREGS      0
-#define _UC_FREGS      192
-#define _UC_VREGS      464
-#define _UC_VSCR       976
-#define _UC_VRSAVE     980
-
-/* The registers don't have a fixed offset within ucontext because the
-   orginal ucontext only contained the regs pointer.  Also with the
-   addition of VMX to the register state the mcontext may require
-   stronger alignment (16) then the containing ucontext (4).  All access
-   to register state (pt_regs/mcontext) must be indirect via the regs
-   (uc_regs) pointer.  This means we can't test the PPC32 mcontext
-   register offsets here.  */
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_link, _UC_LINK);                                    \
-  TEST (uc_stack.ss_sp, _UC_STACK_SP);                         \
-  TEST (uc_stack.ss_size, _UC_STACK_SIZE);                     \
-  TEST (uc_mcontext.regs, _UC_REGS_PTR);                       \
-  TEST (uc_mcontext.uc_regs, _UC_REGS_PTR);                    \
-  TEST (uc_sigmask, _UC_SIGMASK);                              \
-  TEST (uc_reg_space, _UC_REG_SPACE);
-
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
new file mode 100644 (file)
index 0000000..662c693
--- /dev/null
@@ -0,0 +1,34 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+-- XXX Do these correspond to some struct?
+_FRAME_BACKCHAIN       0
+_FRAME_LR_SAVE         4
+_FRAME_PARM_SAVE1      8
+_FRAME_PARM_SAVE2      12
+_FRAME_PARM_SAVE3      16
+_FRAME_PARM_SAVE4      20
+
+-- Offsets in ucontext_t.
+#define ucontext(member)       offsetof (ucontext_t, member)
+_UC_LINK               ucontext (uc_link)
+_UC_STACK_SP           ucontext (uc_stack.ss_sp)
+_UC_STACK_SIZE         ucontext (uc_stack.ss_size)
+_UC_REGS_PTR           ucontext (uc_mcontext.uc_regs)
+_UC_SIGMASK            ucontext (uc_sigmask)
+_UC_REG_SPACE          ucontext (uc_reg_space)
+
+-- Offsets in mcontext_t.
+#define mcontext(member)       offsetof (mcontext_t, member)
+_UC_GREGS              mcontext (gregs)
+_UC_FREGS              mcontext (fpregs)
+_UC_VREGS              mcontext (vrregs)
+_UC_VREGS              mcontext (vrregs)
+_UC_VSCR               mcontext (vrregs.vscr)
+_UC_VRSAVE             mcontext (vrregs.vrsave)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
deleted file mode 100644 (file)
index d540cfe..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation.
-   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 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-/* Offsets of the fields in the powerpc64 ABI stack frame.  */
-
-#define FRAME_BACKCHAIN 0
-#define FRAME_CR_SAVE 8
-#define FRAME_LR_SAVE 16
-#define FRAME_COMPILER_DW 24
-#define FRAME_LINKER_DW 32
-#define FRAME_TOC_SAVE 40
-#define FRAME_PARM_SAVE 48
-#define FRAME_PARM1_SAVE 48
-#define FRAME_PARM2_SAVE 56
-#define FRAME_PARM3_SAVE 64
-#define FRAME_PARM4_SAVE 72
-#define FRAME_PARM5_SAVE 80
-#define FRAME_PARM6_SAVE 88
-#define FRAME_PARM7_SAVE 96
-#define FRAME_PARM8_SAVE 104
-#define FRAME_PARM9_SAVE 112
-
-
-/* Offsets of the fields in the ucontext_t structure.  */
-
-#define UCONTEXT_LINK 8
-#define UCONTEXT_STACK 16
-#define UCONTEXT_STACK_SP 16
-#define UCONTEXT_STACK_FLAGS 24
-#define UCONTEXT_STACK_SIZE 32
-#define UCONTEXT_SIGMASK 40
-#define UCONTEXT_MCONTEXT 168
-#define SIGCONTEXT_SIGNAL 200
-#define SIGCONTEXT_HANDLER 208
-#define SIGCONTEXT_OLDMASK 216
-#define SIGCONTEXT_PT_REGS 224
-#define SIGCONTEXT_GP_REGS 232
-#define SIGCONTEXT_FP_REGS 616
-#define SIGCONTEXT_V_REGS_PTR 880
-#define SIGCONTEXT_V_RESERVE 888
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_link, UCONTEXT_LINK);                               \
-  TEST (uc_stack.ss_sp, UCONTEXT_STACK_SP);                    \
-  TEST (uc_stack.ss_size, UCONTEXT_STACK_SIZE);                        \
-  TEST (uc_sigmask, UCONTEXT_SIGMASK);                         \
-  TEST (uc_mcontext.signal, SIGCONTEXT_SIGNAL);                        \
-  TEST (uc_mcontext.handler, SIGCONTEXT_HANDLER);              \
-  TEST (uc_mcontext.oldmask, SIGCONTEXT_OLDMASK);              \
-  TEST (uc_mcontext.regs, SIGCONTEXT_PT_REGS);                 \
-  TEST (uc_mcontext.gp_regs, SIGCONTEXT_GP_REGS);              \
-  TEST (uc_mcontext.fp_regs, SIGCONTEXT_FP_REGS);              \
-  TEST (uc_mcontext.v_regs, SIGCONTEXT_V_REGS_PTR);            \
-  TEST (uc_mcontext.vmx_reserve, SIGCONTEXT_V_RESERVE);
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
new file mode 100644 (file)
index 0000000..a35418d
--- /dev/null
@@ -0,0 +1,50 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+
+-- Offsets of the fields in the powerpc64 ABI stack frame.
+-- XXX Do these correspond to some struct?
+
+FRAME_BACKCHAIN                0
+FRAME_CR_SAVE          8
+FRAME_LR_SAVE          16
+FRAME_COMPILER_DW      24
+FRAME_LINKER_DW                32
+FRAME_TOC_SAVE         40
+FRAME_PARM_SAVE                48
+FRAME_PARM1_SAVE       48
+FRAME_PARM2_SAVE       56
+FRAME_PARM3_SAVE       64
+FRAME_PARM4_SAVE       72
+FRAME_PARM5_SAVE       80
+FRAME_PARM6_SAVE       88
+FRAME_PARM7_SAVE       96
+FRAME_PARM8_SAVE       104
+FRAME_PARM9_SAVE       112
+
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+
+UCONTEXT_LINK                  ucontext (uc_link)
+UCONTEXT_STACK                 ucontext (uc_stack)
+UCONTEXT_STACK_SP              ucontext (uc_stack.ss_sp)
+UCONTEXT_STACK_FLAGS           ucontext (uc_stack.ss_flags)
+UCONTEXT_STACK_SIZE            ucontext (uc_stack.ss_size)
+UCONTEXT_SIGMASK               ucontext (uc_sigmask)
+UCONTEXT_MCONTEXT              ucontext (uc_mcontext)
+SIGCONTEXT_SIGNAL              mcontext (signal)
+SIGCONTEXT_HANDLER             mcontext (handler)
+SIGCONTEXT_OLDMASK             mcontext (oldmask)
+SIGCONTEXT_PT_REGS             mcontext (regs)
+SIGCONTEXT_GP_REGS             mcontext (gp_regs)
+SIGCONTEXT_FP_REGS             mcontext (fp_regs)
+SIGCONTEXT_V_REGS_PTR          mcontext (v_regs)
+SIGCONTEXT_V_RESERVE           mcontext (vmx_reserve)
index 8d8df743ac8a75c3c387df3178fa1054a5837bb8..5c5381871b677ec26e824e5b1eb0731ebb24fd57 100644 (file)
@@ -2,3 +2,7 @@
 ifeq ($(subdir),rt)
 librt-routines += rt-sysdep
 endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h b/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h
deleted file mode 100644 (file)
index 61f0186..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
-
-   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.  */
-
-/* Constants shared between setcontext() and getcontext().  Don't
-   install this header file.  */
-
-#define SIG_BLOCK      0
-#define SIG_UNBLOCK    1
-#define SIG_SETMASK    2
-
-#define SC_FLGS 0x000
-#define SC_LINK 0x004
-#define SC_STCK 0x008
-#define SC_STSZ 0x010
-#define SC_PSW  0x018
-#define SC_GPRS 0x020
-#define SC_ACRS 0x060
-#define SC_FPC  0x0A0
-#define SC_FPRS 0x0A8
-#define SC_MASK 0x128
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_flags, SC_FLGS);                            \
-  TEST (uc_link, SC_LINK);                             \
-  TEST (uc_stack.ss_sp, SC_STCK);                      \
-  TEST (uc_stack.ss_size, SC_STSZ);                    \
-  TEST (uc_mcontext.psw, SC_PSW);                      \
-  TEST (uc_mcontext.gregs, SC_GPRS);                   \
-  TEST (uc_mcontext.aregs, SC_ACRS);                   \
-  TEST (uc_mcontext.fpregs.fpc, SC_FPC);               \
-  TEST (uc_mcontext.fpregs.fprs, SC_FPRS);             \
-  TEST (uc_sigmask, SC_MASK);
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h b/sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h
deleted file mode 100644 (file)
index 28ef915..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-     Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
-
-   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.  */
-
-/* Constants shared between setcontext() and getcontext().  Don't
-   install this header file.  */
-
-#define SIG_BLOCK      0
-#define SIG_UNBLOCK    1
-#define SIG_SETMASK    2
-
-#define SC_FLGS 0x000
-#define SC_LINK 0x008
-#define SC_STCK 0x010
-#define SC_STSZ 0x020
-#define SC_PSW  0x028
-#define SC_GPRS 0x038
-#define SC_ACRS 0x0B8
-#define SC_FPC  0x0F8
-#define SC_FPRS 0x100
-#define SC_MASK 0x180
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_flags, SC_FLGS);                            \
-  TEST (uc_link, SC_LINK);                             \
-  TEST (uc_stack.ss_sp, SC_STCK);                      \
-  TEST (uc_stack.ss_size, SC_STSZ);                    \
-  TEST (uc_mcontext.psw, SC_PSW);                      \
-  TEST (uc_mcontext.gregs, SC_GPRS);                   \
-  TEST (uc_mcontext.aregs, SC_ACRS);                   \
-  TEST (uc_mcontext.fpregs.fpc, SC_FPC);               \
-  TEST (uc_mcontext.fpregs.fprs, SC_FPRS);             \
-  TEST (uc_sigmask, SC_MASK);
diff --git a/sysdeps/unix/sysv/linux/s390/ucontext_i.sym b/sysdeps/unix/sysv/linux/s390/ucontext_i.sym
new file mode 100644 (file)
index 0000000..525b543
--- /dev/null
@@ -0,0 +1,23 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_UNBLOCK
+SIG_SETMASK
+
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+
+SC_FLGS                ucontext (uc_flags)
+SC_LINK                ucontext (uc_link)
+SC_STCK                ucontext (uc_stack.ss_sp)
+SC_STSZ                ucontext (uc_stack.ss_size)
+SC_PSW         mcontext (psw)
+SC_GPRS                mcontext (gregs)
+SC_ACRS                mcontext (aregs)
+SC_FPC         mcontext (fpregs.fpc)
+SC_FPRS                mcontext (fpregs.fprs)
+SC_MASK                ucontext (uc_sigmask)
index e8544b5dc6973648677a6c9550ff4042604c772f..6d72cb02948d43ca266a7541c6839e20dad397ce 100644 (file)
@@ -5,3 +5,7 @@ endif
 ifeq ($(subdir),misc)
 sysdep_headers += sys/io.h
 endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h b/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h
deleted file mode 100644 (file)
index d8483db..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation.
-   Copyright (C) 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-/* Offsets of the fields in the ucontext_t structure.  */
-#define oLINK          4
-#define oSS_SP         8
-#define oSS_SIZE       16
-#define oR0            24
-#define oR1            28
-#define oR2            32
-#define oR3            36
-#define oR4            40
-#define oR5            44
-#define oR6            48
-#define oR7            52
-#define oR8            56
-#define oR9            60
-#define oR10           64
-#define oR11           68
-#define oR12           72
-#define oR13           76
-#define oR14           80
-#define oR15           84
-#define oPC            88
-#define oPR            92
-#define oSR            96
-#define oGBR           100
-#define oMACH          104
-#define oMACL          108
-#define oSIGMASK       112
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_link, oLINK);                               \
-  TEST (uc_stack.ss_sp, oSS_SP);                       \
-  TEST (uc_stack.ss_size, oSS_SIZE);                   \
-  TEST (uc_mcontext.gregs[R0], oR0);                   \
-  TEST (uc_mcontext.gregs[R1], oR1);                   \
-  TEST (uc_mcontext.gregs[R2], oR2);                   \
-  TEST (uc_mcontext.gregs[R3], oR3);                   \
-  TEST (uc_mcontext.gregs[R4], oR4);                   \
-  TEST (uc_mcontext.gregs[R5], oR5);                   \
-  TEST (uc_mcontext.gregs[R6], oR6);                   \
-  TEST (uc_mcontext.gregs[R7], oR7);                   \
-  TEST (uc_mcontext.gregs[R8], oR8);                   \
-  TEST (uc_mcontext.gregs[R9], oR9);                   \
-  TEST (uc_mcontext.gregs[R10], oR10);                 \
-  TEST (uc_mcontext.gregs[R11], oR11);                 \
-  TEST (uc_mcontext.gregs[R12], oR12);                 \
-  TEST (uc_mcontext.gregs[R13], oR13);                 \
-  TEST (uc_mcontext.gregs[R14], oR14);                 \
-  TEST (uc_mcontext.gregs[R15], oR15);                 \
-  TEST (uc_mcontext.pc, oPC);                          \
-  TEST (uc_mcontext.pr, oPR);                          \
-  TEST (uc_mcontext.sr, oSR);                          \
-  TEST (uc_mcontext.gbr, oGBR);                                \
-  TEST (uc_mcontext.mach, oMACH);                      \
-  TEST (uc_mcontext.macl, oMACL);                      \
-  TEST (uc_sigmask, oSIGMASK);
diff --git a/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym b/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
new file mode 100644 (file)
index 0000000..17397c5
--- /dev/null
@@ -0,0 +1,38 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+
+oLINK          ucontext (uc_link)
+oSS_SP         ucontext (uc_stack.ss_sp)
+oSS_SIZE       ucontext (uc_stack.ss_size)
+oR0            mcontext (gregs[R0])
+oR1            mcontext (gregs[R1])
+oR2            mcontext (gregs[R2])
+oR3            mcontext (gregs[R3])
+oR4            mcontext (gregs[R4])
+oR5            mcontext (gregs[R5])
+oR6            mcontext (gregs[R6])
+oR7            mcontext (gregs[R7])
+oR8            mcontext (gregs[R8])
+oR9            mcontext (gregs[R9])
+oR10           mcontext (gregs[R10])
+oR11           mcontext (gregs[R11])
+oR12           mcontext (gregs[R12])
+oR13           mcontext (gregs[R13])
+oR14           mcontext (gregs[R14])
+oR15           mcontext (gregs[R15])
+oPC            mcontext (pc)
+oPR            mcontext (pr)
+oSR            mcontext (sr)
+oGBR           mcontext (gbr)
+oMACH          mcontext (mach)
+oMACL          mcontext (macl)
+oSIGMASK       ucontext (uc_sigmask)
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h
deleted file mode 100644 (file)
index 88f774f..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation.
-   Copyright (C) 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-/* Offsets of the fields in the ucontext_t structure.  */
-#define oLINK          4
-#define oSS_SP         8
-#define oSS_SIZE       16
-#define oR0            24
-#define oR1            28
-#define oR2            32
-#define oR3            36
-#define oR4            40
-#define oR5            44
-#define oR6            48
-#define oR7            52
-#define oR8            56
-#define oR9            60
-#define oR10           64
-#define oR11           68
-#define oR12           72
-#define oR13           76
-#define oR14           80
-#define oR15           84
-#define oPC            88
-#define oPR            92
-#define oSR            96
-#define oGBR           100
-#define oMACH          104
-#define oMACL          108
-#define oFR0           112
-#define oFR1           116
-#define oFR2           120
-#define oFR3           124
-#define oFR4           128
-#define oFR5           132
-#define oFR6           136
-#define oFR7           140
-#define oFR8           144
-#define oFR9           148
-#define oFR10          152
-#define oFR11          156
-#define oFR12          160
-#define oFR13          164
-#define oFR14          168
-#define oFR15          172
-#define oXFR0          176
-#define oXFR1          180
-#define oXFR2          184
-#define oXFR3          188
-#define oXFR4          192
-#define oXFR5          196
-#define oXFR6          200
-#define oXFR7          204
-#define oXFR8          208
-#define oXFR9          212
-#define oXFR10         216
-#define oXFR11         220
-#define oXFR12         224
-#define oXFR13         228
-#define oXFR14         232
-#define oXFR15         236
-#define oFPSCR         240
-#define oFPUL          244
-#define oOWNEDFP       248
-#define oSIGMASK       252
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_link, oLINK);                               \
-  TEST (uc_stack.ss_sp, oSS_SP);                       \
-  TEST (uc_stack.ss_size, oSS_SIZE);                   \
-  TEST (uc_mcontext.gregs[R0], oR0);                   \
-  TEST (uc_mcontext.gregs[R1], oR1);                   \
-  TEST (uc_mcontext.gregs[R2], oR2);                   \
-  TEST (uc_mcontext.gregs[R3], oR3);                   \
-  TEST (uc_mcontext.gregs[R4], oR4);                   \
-  TEST (uc_mcontext.gregs[R5], oR5);                   \
-  TEST (uc_mcontext.gregs[R6], oR6);                   \
-  TEST (uc_mcontext.gregs[R7], oR7);                   \
-  TEST (uc_mcontext.gregs[R8], oR8);                   \
-  TEST (uc_mcontext.gregs[R9], oR9);                   \
-  TEST (uc_mcontext.gregs[R10], oR10);                 \
-  TEST (uc_mcontext.gregs[R11], oR11);                 \
-  TEST (uc_mcontext.gregs[R12], oR12);                 \
-  TEST (uc_mcontext.gregs[R13], oR13);                 \
-  TEST (uc_mcontext.gregs[R14], oR14);                 \
-  TEST (uc_mcontext.gregs[R15], oR15);                 \
-  TEST (uc_mcontext.pc, oPC);                          \
-  TEST (uc_mcontext.pr, oPR);                          \
-  TEST (uc_mcontext.sr, oSR);                          \
-  TEST (uc_mcontext.gbr, oGBR);                                \
-  TEST (uc_mcontext.mach, oMACH);                      \
-  TEST (uc_mcontext.macl, oMACL);                      \
-  TEST (uc_mcontext.fpregs[0], oFR0);                  \
-  TEST (uc_mcontext.fpregs[1], oFR1);                  \
-  TEST (uc_mcontext.fpregs[2], oFR2);                  \
-  TEST (uc_mcontext.fpregs[3], oFR3);                  \
-  TEST (uc_mcontext.fpregs[4], oFR4);                  \
-  TEST (uc_mcontext.fpregs[5], oFR5);                  \
-  TEST (uc_mcontext.fpregs[6], oFR6);                  \
-  TEST (uc_mcontext.fpregs[7], oFR7);                  \
-  TEST (uc_mcontext.fpregs[8], oFR8);                  \
-  TEST (uc_mcontext.fpregs[9], oFR9);                  \
-  TEST (uc_mcontext.fpregs[10], oFR10);                        \
-  TEST (uc_mcontext.fpregs[11], oFR11);                        \
-  TEST (uc_mcontext.fpregs[12], oFR12);                        \
-  TEST (uc_mcontext.fpregs[13], oFR13);                        \
-  TEST (uc_mcontext.fpregs[14], oFR14);                        \
-  TEST (uc_mcontext.fpregs[15], oFR15);                        \
-  TEST (uc_mcontext.xfpregs[0], oXFR0);                        \
-  TEST (uc_mcontext.xfpregs[1], oXFR1);                        \
-  TEST (uc_mcontext.xfpregs[2], oXFR2);                        \
-  TEST (uc_mcontext.xfpregs[3], oXFR3);                        \
-  TEST (uc_mcontext.xfpregs[4], oXFR4);                        \
-  TEST (uc_mcontext.xfpregs[5], oXFR5);                        \
-  TEST (uc_mcontext.xfpregs[6], oXFR6);                        \
-  TEST (uc_mcontext.xfpregs[7], oXFR7);                        \
-  TEST (uc_mcontext.xfpregs[8], oXFR8);                        \
-  TEST (uc_mcontext.xfpregs[9], oXFR9);                        \
-  TEST (uc_mcontext.xfpregs[10], oXFR10);              \
-  TEST (uc_mcontext.xfpregs[11], oXFR11);              \
-  TEST (uc_mcontext.xfpregs[12], oXFR12);              \
-  TEST (uc_mcontext.xfpregs[13], oXFR13);              \
-  TEST (uc_mcontext.xfpregs[14], oXFR14);              \
-  TEST (uc_mcontext.xfpregs[15], oXFR15);              \
-  TEST (uc_mcontext.fpscr, oFPSCR);                    \
-  TEST (uc_mcontext.fpul, oFPUL);                      \
-  TEST (uc_mcontext.ownedfp, oOWNEDFP);                        \
-  TEST (uc_sigmask, oSIGMASK);
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
new file mode 100644 (file)
index 0000000..65633fb
--- /dev/null
@@ -0,0 +1,73 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+
+oLINK          ucontext (uc_link)
+oSS_SP         ucontext (uc_stack.ss_sp)
+oSS_SIZE       ucontext (uc_stack.ss_size)
+oR0            mcontext (gregs[R0])
+oR1            mcontext (gregs[R1])
+oR2            mcontext (gregs[R2])
+oR3            mcontext (gregs[R3])
+oR4            mcontext (gregs[R4])
+oR5            mcontext (gregs[R5])
+oR6            mcontext (gregs[R6])
+oR7            mcontext (gregs[R7])
+oR8            mcontext (gregs[R8])
+oR9            mcontext (gregs[R9])
+oR10           mcontext (gregs[R10])
+oR11           mcontext (gregs[R11])
+oR12           mcontext (gregs[R12])
+oR13           mcontext (gregs[R13])
+oR14           mcontext (gregs[R14])
+oR15           mcontext (gregs[R15])
+oPC            mcontext (pc)
+oPR            mcontext (pr)
+oSR            mcontext (sr)
+oGBR           mcontext (gbr)
+oMACH          mcontext (mach)
+oMACL          mcontext (macl)
+oFR0           mcontext (fpregs[0])
+oFR1           mcontext (fpregs[1])
+oFR2           mcontext (fpregs[2])
+oFR3           mcontext (fpregs[3])
+oFR4           mcontext (fpregs[4])
+oFR5           mcontext (fpregs[5])
+oFR6           mcontext (fpregs[6])
+oFR7           mcontext (fpregs[7])
+oFR8           mcontext (fpregs[8])
+oFR9           mcontext (fpregs[9])
+oFR10          mcontext (fpregs[10])
+oFR11          mcontext (fpregs[11])
+oFR12          mcontext (fpregs[12])
+oFR13          mcontext (fpregs[13])
+oFR14          mcontext (fpregs[14])
+oFR15          mcontext (fpregs[15])
+oXFR0          mcontext (xfpregs[0])
+oXFR1          mcontext (xfpregs[1])
+oXFR2          mcontext (xfpregs[2])
+oXFR3          mcontext (xfpregs[3])
+oXFR4          mcontext (xfpregs[4])
+oXFR5          mcontext (xfpregs[5])
+oXFR6          mcontext (xfpregs[6])
+oXFR7          mcontext (xfpregs[7])
+oXFR8          mcontext (xfpregs[8])
+oXFR9          mcontext (xfpregs[9])
+oXFR10         mcontext (xfpregs[10])
+oXFR11         mcontext (xfpregs[11])
+oXFR12         mcontext (xfpregs[12])
+oXFR13         mcontext (xfpregs[13])
+oXFR14         mcontext (xfpregs[14])
+oXFR15         mcontext (xfpregs[15])
+oFPSCR         mcontext (fpscr)
+oFPUL          mcontext (fpul)
+oOWNEDFP       mcontext (ownedfp)
+oSIGMASK       ucontext (uc_sigmask)
index 627275db09a5c3b19962db59619e5ac79983f0ba..0f20367236664587d5d3b751167b87a95b37deec 100644 (file)
@@ -9,3 +9,7 @@ endif
 ifeq ($(subdir),stdlib)
 sysdep_routines += __start_context
 endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.h
deleted file mode 100644 (file)
index e509908..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Offsets and other constants needed in the *context() function
-   implementation for Linux/x86-64.
-   Copyright (C) 2002, 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.  */
-
-#define SIG_BLOCK      0
-#define SIG_SETMASK    2
-
-/* Since we cannot include a header to define _NSIG/8, we define it
-   here.  */
-#define _NSIG8         8
-
-/* Offsets of the fields in the ucontext_t structure.  */
-#define oRBP           120
-#define oRSP           160
-#define oRBX           128
-#define oR8            40
-#define oR9            48
-#define oR12           72
-#define oR13           80
-#define oR14           88
-#define oR15           96
-#define oRDI           104
-#define oRSI           112
-#define oRDX           136
-#define oRAX           144
-#define oRCX           152
-#define oRIP           168
-#define oFPREGS                224
-#define oSIGMASK       296
-#define oFPREGSMEM     424
-#define oMXCSR         448
-
-/* Tests run in stdlib/tst-ucontext-off.  */
-#define TESTS \
-  TEST (uc_mcontext.gregs[REG_RBP], oRBP);                             \
-  TEST (uc_mcontext.gregs[REG_RSP], oRSP);                             \
-  TEST (uc_mcontext.gregs[REG_RBX], oRBX);                             \
-  TEST (uc_mcontext.gregs[REG_R8], oR8);                               \
-  TEST (uc_mcontext.gregs[REG_R9], oR9);                               \
-  TEST (uc_mcontext.gregs[REG_R12], oR12);                             \
-  TEST (uc_mcontext.gregs[REG_R13], oR13);                             \
-  TEST (uc_mcontext.gregs[REG_R14], oR14);                             \
-  TEST (uc_mcontext.gregs[REG_R15], oR15);                             \
-  TEST (uc_mcontext.gregs[REG_RDI], oRDI);                             \
-  TEST (uc_mcontext.gregs[REG_RSI], oRSI);                             \
-  TEST (uc_mcontext.gregs[REG_RDX], oRDX);                             \
-  TEST (uc_mcontext.gregs[REG_RAX], oRAX);                             \
-  TEST (uc_mcontext.gregs[REG_RCX], oRCX);                             \
-  TEST (uc_mcontext.gregs[REG_RIP], oRIP);                             \
-  TEST (uc_mcontext.fpregs, oFPREGS);                                  \
-  TEST (uc_sigmask, oSIGMASK);                                         \
-  TEST (__fpregs_mem, oFPREGSMEM);                                     \
-  TEST (__fpregs_mem.mxcsr, oMXCSR);
diff --git a/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym b/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym
new file mode 100644 (file)
index 0000000..b3cfe9a
--- /dev/null
@@ -0,0 +1,34 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8         (_NSIG / 8)
+
+#define ucontext(member)       offsetof (ucontext_t, member)
+#define mcontext(member)       ucontext (uc_mcontext.member)
+#define mreg(reg)              mcontext (gregs[REG_##reg])
+
+oRBP           mreg (RBP)
+oRSP           mreg (RSP)
+oRBX           mreg (RBX)
+oR8            mreg (R8)
+oR9            mreg (R9)
+oR12           mreg (R12)
+oR13           mreg (R13)
+oR14           mreg (R14)
+oR15           mreg (R15)
+oRDI           mreg (RDI)
+oRSI           mreg (RSI)
+oRDX           mreg (RDX)
+oRAX           mreg (RAX)
+oRCX           mreg (RCX)
+oRIP           mreg (RIP)
+oFPREGS                mcontext (fpregs)
+oSIGMASK       ucontext (uc_sigmask)
+oFPREGSMEM     ucontext (__fpregs_mem)
+oMXCSR         ucontext (__fpregs_mem.mxcsr)
index 1a91bd47db579bf27f3b07ca96ff302ff53439c6..dc67d0664ffffae70f972bd7c96b9a5e617b7d82 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1996, 1997, 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
@@ -22,7 +22,7 @@
 #include <unistd.h>
 #include <sys/ioctl.h>
 
-#include "sysv_termio.h"
+#include <sysv_termio.h>
 
 /* Suspend or restart transmission on FD.  */
 int
index becfb4f79dc52c5f95730702890c3aece7608c61..dd797e8a7b2367aa0f458ac60c4ffc256b1efdb3 100644 (file)
@@ -51,6 +51,8 @@ ENTRY(__longjmp)
        movq (JB_PC*8)(%rdi),%rdx
        movq (JB_RSP*8)(%rdi),%rsp
 #ifdef PTR_DEMANGLE
+       PTR_DEMANGLE (%rbp)
+       PTR_DEMANGLE (%rsp)
        PTR_DEMANGLE (%rdx)
 #endif
        jmpq *%rdx
index 8af5502042e64dece829d98829a51eff6164ed1a..39c78c9981b19ba1fb8d6479ef8dcf7678970a30 100644 (file)
 ENTRY (__sigsetjmp)
        /* Save registers.  */
        movq %rbx, (JB_RBX*8)(%rdi)
+#ifdef PTR_MANGLE
+       movq %rbp, %rax
+       PTR_MANGLE (%rax)
+       movq %rax, (JB_RBP*8)(%rdi)
+#else
        movq %rbp, (JB_RBP*8)(%rdi)
+#endif
        movq %r12, (JB_R12*8)(%rdi)
        movq %r13, (JB_R13*8)(%rdi)
        movq %r14, (JB_R14*8)(%rdi)
        movq %r15, (JB_R15*8)(%rdi)
        leaq 8(%rsp), %rdx      /* Save SP as it will be after we return.  */
+#ifdef PTR_MANGLE
+       PTR_MANGLE (%rdx)
+#endif
        movq %rdx, (JB_RSP*8)(%rdi)
        movq (%rsp), %rax       /* Save PC we are returning to now.  */
 #ifdef PTR_MANGLE
index dd5d8041dd03df0ba002c049f2004bd05b0d50c3..23e40124bd9c7c2f25c6ada6db4b177bcea8987c 100644 (file)
@@ -152,7 +152,9 @@ timeout_handler (int sig __attribute__ ((unused)))
         nanosleep() call return prematurely, all the better.  We
         won't restart it since this probably means the child process
         finally died.  */
-      struct timespec ts = { .tv_sec = 0, .tv_nsec = 100000000 };
+      struct timespec ts;
+      ts.tv_sec = 0;
+      ts.tv_nsec = 100000000;
       nanosleep (&ts, NULL);
     }
   if (killed != 0 && killed != pid)