mirror of
git://sourceware.org/git/glibc.git
synced 2026-09-10 05:59:39 +08:00
Compare commits
147
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d04edce92 | ||
|
|
95a647ed2a | ||
|
|
5bb25c8ae7 | ||
|
|
e2bd0a6c89 | ||
|
|
869d9c5141 | ||
|
|
c5072acd09 | ||
|
|
02f53c8dc2 | ||
|
|
7c9433a638 | ||
|
|
bc30e47e7a | ||
|
|
82a2eb4574 | ||
|
|
2d243804a2 | ||
|
|
8c4dbc4101 | ||
|
|
a84562fa98 | ||
|
|
a974878164 | ||
|
|
8881b13276 | ||
|
|
64137de321 | ||
|
|
798d48f6bb | ||
|
|
941bc057b7 | ||
|
|
310970c627 | ||
|
|
fa831e8f1c | ||
|
|
541e0e9620 | ||
|
|
268090dfe7 | ||
|
|
53e010438b | ||
|
|
c573730a9e | ||
|
|
b413ec9cec | ||
|
|
7d6736e2a1 | ||
|
|
3c8d17cb7e | ||
|
|
ac4ddec1ba | ||
|
|
44662670eb | ||
|
|
a710437e19 | ||
|
|
49b0393f42 | ||
|
|
93a6348b16 | ||
|
|
6dee5db02d | ||
|
|
0d9ab59d7d | ||
|
|
f5844ac743 | ||
|
|
ffd03ced90 | ||
|
|
5128ccc6e5 | ||
|
|
f66582f9a3 | ||
|
|
cff42af517 | ||
|
|
c9db034125 | ||
|
|
fb0f5abcb4 | ||
|
|
3ba9028cc2 | ||
|
|
f0768965d9 | ||
|
|
86c251e322 | ||
|
|
bee8401f6f | ||
|
|
d2c4f682c0 | ||
|
|
c0357983b9 | ||
|
|
df1d0eccb5 | ||
|
|
be40bcfc41 | ||
|
|
ce12c9ffa2 | ||
|
|
2583fed138 | ||
|
|
5542c99714 | ||
|
|
5fe7a63b3b | ||
|
|
8d0b03ef4f | ||
|
|
d99126e6ef | ||
|
|
ee17edd4f0 | ||
|
|
d2f6944a4e | ||
|
|
1a3ba8474a | ||
|
|
9a9f9d5437 | ||
|
|
03f7b19e08 | ||
|
|
a608efe0cb | ||
|
|
dedaac22e2 | ||
|
|
84c35e470d | ||
|
|
8606d85bec | ||
|
|
e02d1093d8 | ||
|
|
a4d330a080 | ||
|
|
c5fe9c8290 | ||
|
|
68ce44fc51 | ||
|
|
8c45ca8978 | ||
|
|
106be30c1e | ||
|
|
c667bf7076 | ||
|
|
6011e00f5f | ||
|
|
a0f7df65c9 | ||
|
|
e2df7aa004 | ||
|
|
78a297b441 | ||
|
|
34498bb0ac | ||
|
|
71614e31fb | ||
|
|
2ad1cb8bcc | ||
|
|
5482e79195 | ||
|
|
d46d6ca3db | ||
|
|
7efcf66997 | ||
|
|
b004df7ec3 | ||
|
|
64e1abb5ad | ||
|
|
261e312c01 | ||
|
|
0153375730 | ||
|
|
02906308e3 | ||
|
|
3453e1a343 | ||
|
|
4317c6b0dc | ||
|
|
524b7b508b | ||
|
|
4969a35170 | ||
|
|
02647f687d | ||
|
|
f13c308111 | ||
|
|
b6cf1bf099 | ||
|
|
043f810f6a | ||
|
|
f6602cfe6b | ||
|
|
83e0f2b953 | ||
|
|
088af173bf | ||
|
|
8552c3e8be | ||
|
|
5ac9ff7020 | ||
|
|
8961b4b9a0 | ||
|
|
7778045087 | ||
|
|
41ab4177b4 | ||
|
|
f376f61121 | ||
|
|
b11c6636a5 | ||
|
|
10b9b5ee59 | ||
|
|
1798c0ef87 | ||
|
|
129893c5da | ||
|
|
4d8abc5328 | ||
|
|
a8aa369cc8 | ||
|
|
675fb2ff2c | ||
|
|
64a860f269 | ||
|
|
a592c67344 | ||
|
|
f2fc51ea22 | ||
|
|
3af64d740a | ||
|
|
988cca3323 | ||
|
|
4da0c639d1 | ||
|
|
9e7e6a7087 | ||
|
|
6eba7ecef6 | ||
|
|
f4e82d00ed | ||
|
|
a2bfb6272c | ||
|
|
f47a6ad7db | ||
|
|
a0323a1c8f | ||
|
|
3933755f8e | ||
|
|
71911680d1 | ||
|
|
6e8db27d26 | ||
|
|
b4d306553c | ||
|
|
27aff1c7cd | ||
|
|
0507d5057d | ||
|
|
67675fdae9 | ||
|
|
c31a29322f | ||
|
|
baa468f104 | ||
|
|
ddd4311eee | ||
|
|
30d4dc2b3a | ||
|
|
a906a464fc | ||
|
|
7ffb7f860d | ||
|
|
c85587506e | ||
|
|
75ec0fbe45 | ||
|
|
0d10e978af | ||
|
|
df06960c2e | ||
|
|
1990c1b503 | ||
|
|
4e4528973a | ||
|
|
cd2dfc598a | ||
|
|
e8c8c9c4a9 | ||
|
|
920a4016cc | ||
|
|
4837fac615 | ||
|
|
c753791496 | ||
|
|
9f2a264a97 |
@@ -1,21 +1,296 @@
|
||||
2001-11-15 Andreas Jaeger <aj@suse.de>
|
||||
2002-01-18 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* include/features.h (__GLIBC_HAVE_LONG_LONG): Define for
|
||||
compilers that support it.
|
||||
* sysdeps/unix/sysv/linux/configure.in
|
||||
(libc_cv_gcc_unwind_find_fde): Set for m68k, too.
|
||||
|
||||
* posix/sys/types.h: Use __GLIBC_HAVE_LONG_LONG.
|
||||
* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
|
||||
* stdlib/stdlib.h: Likewise.
|
||||
2002-01-17 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
2001-11-17 Ulrich Drepper <drepper@redhat.com>
|
||||
* nscd/nscd.c (drop_privileges): Removed. Adjust caller.
|
||||
* nscd/connections.c (begin_drop_privileges): New function.
|
||||
(finish_drop_privileges): New function.
|
||||
(nscd_init): Call the new functions which also install all groups
|
||||
for the server user.
|
||||
Patch by Christopher Allen Wing <wingc@engin.umich.edu>.
|
||||
|
||||
* posix/regex.c (byte_re_match_2_internal): For gcc replace switch
|
||||
statement with gotos.
|
||||
Based on a patch by Paolo Bonzini <bonzini@pc-amo3.elet.polimi.it>.
|
||||
2002-01-17 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
2001-11-16 Stephen L Moshier <moshier@mediaone.net>
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit
|
||||
instructions for pointer operations.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise.
|
||||
|
||||
* sysdeps/ieee754/ldbl-96/s_erfl.c (__erfcl): Fix K&R header.
|
||||
2002-01-17 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has
|
||||
__uint128_t build-in.
|
||||
|
||||
* sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and
|
||||
PowerPC.
|
||||
|
||||
2002-01-16 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* posix/getconf.c: Update copyright year.
|
||||
* nss/getent.c: Likewise.
|
||||
* nscd/nscd_nischeck.c: Likewise.
|
||||
* iconv/iconvconfig.c: Likewise.
|
||||
* iconv/iconv_prog.c: Likewise.
|
||||
* elf/ldconfig.c: Likewise.
|
||||
* catgets/gencat.c: Likewise.
|
||||
* csu/version.c: Likewise.
|
||||
* elf/ldd.bash.in: Likewise.
|
||||
* elf/sprof.c (print_version): Likewise.
|
||||
* locale/programs/locale.c: Likewise.
|
||||
* locale/programs/localedef.c: Likewise.
|
||||
* nscd/nscd.c (print_version): Likewise.
|
||||
* debug/xtrace.sh: Likewise.
|
||||
* malloc/memusage.sh: Likewise.
|
||||
* malloc/mtrace.pl: Likewise.
|
||||
|
||||
2002-01-16 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to
|
||||
reliably remove "-ia64" from rtld name.
|
||||
|
||||
2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file.
|
||||
|
||||
2002-01-14 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* sysdeps/s390/fpu/libm-test-ulps: Update.
|
||||
|
||||
2002-01-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
|
||||
Set for s390 and s390x architectures.
|
||||
(arch_minimum_kernel): Set for s390 and s390x.
|
||||
* sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline
|
||||
assembly contraints.
|
||||
* sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ...
|
||||
* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here,
|
||||
remove high order bit from the program counter.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here.
|
||||
* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
|
||||
|
||||
2002-01-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line
|
||||
string literals.
|
||||
(__full_ieee754_sqrt): Add __attribute_used__.
|
||||
|
||||
2002-01-10 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/generic/group_member.c (__group_member): Also check
|
||||
groups[0] [PR libc/2781].
|
||||
|
||||
2001-12-02 Roland McGrath <roland@frob.com>
|
||||
|
||||
* mach/Makefile, mach/Machrules: Move comments out of \ continuations.
|
||||
|
||||
* hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning.
|
||||
Reported by Jeff Bailey <jbailey@nisa.net>.
|
||||
|
||||
* hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl.
|
||||
Reported by Jeff Bailey <jbailey@nisa.net>.
|
||||
|
||||
* mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC).
|
||||
* mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise.
|
||||
Reported by Jeff Bailey <jbailey@nisa.net>.
|
||||
|
||||
2002-01-07 Roland McGrath <roland@frob.com>
|
||||
|
||||
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use
|
||||
volatile on type of ARGC so the compiler doesn't get clever.
|
||||
|
||||
2002-01-08 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* version.h (VERSION): Bump to 2.2.5.
|
||||
|
||||
* Makefile (distribute): Add scripts/cpp.
|
||||
* elf/Makefile (distribute): Add reldep6mod[01234].c,
|
||||
unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h,
|
||||
unwind-dw2-fde.h, and dwarf2.h.
|
||||
* sysdeps/unix/bsd/bsd4.4/Dist: New file.
|
||||
* sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c.
|
||||
* sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed.
|
||||
* sysdeps/unix/sysv/linux/s390/Dist: Likewise.
|
||||
|
||||
2002-01-07 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/generic/bits/byteswap.h: Prevent double inclusion.
|
||||
* sysdeps/i386/bits/byteswap.h: Likewise.
|
||||
* sysdeps/ia64/bits/byteswap.h: Likewise.
|
||||
* sysdeps/m68k/bits/byteswap.h: Likewise.
|
||||
* sysdeps/s390/s390-32/bits/byteswap.h: Likewise.
|
||||
* sysdeps/s390/s390-64/bits/byteswap.h: Likewise.
|
||||
|
||||
2002-01-02 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
* intl/plural.y: Fix %expect count.
|
||||
|
||||
2002-01-07 Stephen L Moshier <moshier@mediaone.net>
|
||||
|
||||
* sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header.
|
||||
|
||||
* sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test
|
||||
for x < 0.25 and restore original range reduction method.
|
||||
(__ieee754_lgammal_r): Make sure signgam is set before returning.
|
||||
|
||||
2001-12-31 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C
|
||||
locale to parse /proc/loadavg [PR libc/2760].
|
||||
|
||||
2001-12-22 Roland McGrath <roland@frob.com>
|
||||
|
||||
* hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set,
|
||||
_hurd_port_init, and __hurd_self_sigstate.
|
||||
|
||||
* mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy.
|
||||
|
||||
2001-12-18 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract
|
||||
stack bias from child stack pointer before passing it to clone syscall.
|
||||
|
||||
2001-12-14 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* crypt/md5.h: Define md5_uintptr.
|
||||
|
||||
2001-11-29 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl.
|
||||
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call.
|
||||
|
||||
2001-12-13 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* stdio-common/vfprintf.c (process_string_arg): Correctly handle
|
||||
zero precision with wide character string format.
|
||||
|
||||
2001-12-13 Thorsten Kukuk <kukuk@suse.de>
|
||||
|
||||
* sysdeps/posix/cuserid.c (cuserid): If we don't find the UID,
|
||||
but have a user supplied buffer, return the empty buffer, not NULL.
|
||||
|
||||
2001-12-13 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* crypt/md5.c (md5_process_bytes): Correct handling of alignment.
|
||||
Patch by Eric Sharkey <sharkey@netrics.com>.
|
||||
|
||||
2001-12-12 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code
|
||||
from __nis_findfastest. Take timeout value from parameter.
|
||||
(__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly.
|
||||
* nis/nis_intern.h: Define parameters controlling __nis_findfastest
|
||||
[PR libc/2520]. Patch by Alexander Belopolsky <alexb@rentec.com>.
|
||||
|
||||
2001-12-12 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* configure.in: Use -nostartfiles -nostdlib for linker tests, fix
|
||||
combreloc test so that it works in this case.
|
||||
|
||||
2001-12-11 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS
|
||||
limitation [PR libc/2564].
|
||||
|
||||
2001-12-10 Roland McGrath <roland@frob.com>
|
||||
|
||||
* sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never
|
||||
set it.
|
||||
|
||||
* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default
|
||||
set to GLIBC_2.2.5, not GLIBC_2.2.4.
|
||||
|
||||
* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde):
|
||||
Fix conditionals so this is set by default for stdio and not for libio.
|
||||
* sysdeps/mach/hurd/configure: Regenerated.
|
||||
|
||||
2001-12-10 Thorsten Kukuk <kukuk@suse.de>
|
||||
|
||||
* io/ftw.c (ftw_startup): Check, if the path is search and readable.
|
||||
|
||||
2001-12-10 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/generic/glob.c (glob): Return only pattern if nothing
|
||||
matches and GLOB_NOCHECK is set.
|
||||
* posix/globtest.sh: Correct expected result for NOCHECK test.
|
||||
|
||||
* po/ca.po: Update from translation team.
|
||||
|
||||
2001-12-05 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* timezone/zic.c: Fix handling of turnaround times.
|
||||
Patch by Arthur David Olson <olsona@dc37a.nci.nih.gov>.
|
||||
|
||||
2001-12-01 Roland McGrath <roland@frob.com>
|
||||
|
||||
* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add
|
||||
missing backslash in test arguments.
|
||||
* sysdeps/mach/hurd/configure: Regenerated.
|
||||
|
||||
2001-12-02 Moshe Olshansky <OLSHANSK@il.ibm.com>
|
||||
|
||||
* sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix
|
||||
overflow problem.
|
||||
|
||||
2001-11-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces
|
||||
don't match, fix {{a,b},c} globbing, clean up.
|
||||
Patch by Flavio Veloso <flaviovs@magnux.com>.
|
||||
* posix/globtest.sh: Add new tests.
|
||||
|
||||
2001-11-28 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* libio/genops.c (_IO_flush_all_lockp): New function. The same code
|
||||
as the old _IO_flush_all but lock only if parameter is nonzero.
|
||||
(_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter.
|
||||
* libio/libioP.h: Add prototype for _IO_flush_all_lockp.
|
||||
* sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0)
|
||||
if libio is used [PR libc/2575].
|
||||
|
||||
2001-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
|
||||
__signbitl): Only define for ISO C99.
|
||||
|
||||
2001-11-22 Thorsten Kukuk <kukuk@suse.de>
|
||||
|
||||
* nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set
|
||||
herrnop to NETDB_INTERNAL if we run out of buffer space.
|
||||
|
||||
2001-11-28 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* nss/nss_files/files-XXX.c (internal_getent): Correct input
|
||||
overflow test for platforms with signed char.
|
||||
Reported by Andrew Haley <aph@cambridge.redhat.com>.
|
||||
|
||||
2001-11-26 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings
|
||||
are found call conv_error and not input_error [PR libc/2669].
|
||||
|
||||
2001-11-26 Stephen L Moshier <moshier@mediaone.net>
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in
|
||||
initialization.
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove
|
||||
unused variables. Fix threshold for returning 1.0.
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify
|
||||
argument.
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and
|
||||
remove unused variables.
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise.
|
||||
|
||||
* sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and
|
||||
include local math header files.
|
||||
|
||||
2001-11-15 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
@@ -24,6 +299,7 @@
|
||||
2001-10-02 Jakub Jelinek <jakub@redhat.com>
|
||||
H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* Versions.def (libc): Add GCC_3.0.
|
||||
* configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc
|
||||
if gcc supports this flag.
|
||||
(EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it.
|
||||
@@ -39,7 +315,7 @@
|
||||
* elf/Versions (__register_frame_info, __deregister_frame_info): Add
|
||||
for GLIBC_2.0.
|
||||
(__register_frame_info_bases, __register_frame_info_table_bases,
|
||||
__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GLIBC_2.2.5.
|
||||
__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0.
|
||||
* elf/Makefile (routines): Add unwind-dw2-fde.
|
||||
(shared-only-routines): Add unwind-dw2-fde.
|
||||
* sysdeps/alpha/gccframe.h: New file.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-1999, 2000, 2001, 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
|
||||
@@ -267,7 +267,7 @@ distribute := README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS \
|
||||
mkinstalldirs move-if-change install-sh \
|
||||
test-installation.pl gen-FAQ.pl versions.awk\
|
||||
gen-sorted.awk abi-versions.awk \
|
||||
firstversions.awk documented.sh)
|
||||
firstversions.awk documented.sh cpp)
|
||||
|
||||
distribute := $(strip $(distribute))
|
||||
generated := $(generated) stubs.h
|
||||
|
||||
@@ -14,7 +14,7 @@ Version 2.2.5
|
||||
* Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160,
|
||||
IBM1161, and IBM1162 charsets.
|
||||
|
||||
* Andreas Jaeger contributed a port to x86_64/Linux.
|
||||
* Andreas Jaeger contributed a port to x86-64/Linux.
|
||||
|
||||
* Peter Bruin contributed a port to PowerPC/Hurd.
|
||||
|
||||
@@ -23,6 +23,8 @@ Version 2.2.5
|
||||
|
||||
* optimizations in the dynamic linker. binaries created by recent binutils
|
||||
versions start up quicker due to reduced time spend on relocations.
|
||||
|
||||
* Support for use of gcc3 added by Jakub Jelinek and HJ Lu.
|
||||
|
||||
Version 2.2.4
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This directory contains the version 2.2.4 release of the GNU C Library.
|
||||
This directory contains the version 2.2.5 release of the GNU C Library.
|
||||
Many bugs have been fixed since the last release.
|
||||
Some bugs surely remain.
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@ libc {
|
||||
%ifdef USE_IN_LIBIO
|
||||
HURD_CTHREADS_0.3
|
||||
%endif
|
||||
%ifdef EXPORT_UNWIND_FIND_FDE
|
||||
GCC_3.0
|
||||
%endif
|
||||
}
|
||||
libcrypt {
|
||||
GLIBC_2.0
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/* Macros to swap the order of bytes in integer values.
|
||||
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 _BYTESWAP_H && !defined _NETINET_IN_H
|
||||
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
|
||||
#endif
|
||||
|
||||
/* Swap bytes in 16 bit value. */
|
||||
#ifdef __GNUC__
|
||||
# define __bswap_16(x) \
|
||||
(__extension__ \
|
||||
({ unsigned short int __bsx = (x); \
|
||||
((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
|
||||
#else
|
||||
static __inline unsigned short int
|
||||
__bswap_16 (unsigned short int __bsx)
|
||||
{
|
||||
return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Swap bytes in 32 bit value. */
|
||||
#ifdef __GNUC__
|
||||
# define __bswap_32(x) \
|
||||
(__extension__ \
|
||||
({ unsigned int __bsx = (x); \
|
||||
((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) | \
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); }))
|
||||
#else
|
||||
static __inline unsigned int
|
||||
__bswap_32 (unsigned int __bsx)
|
||||
{
|
||||
return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) |
|
||||
(((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined __GNUC__ && __GNUC__ >= 2
|
||||
/* Swap bytes in 64 bit value. */
|
||||
# define __bswap_constant_64(x) \
|
||||
((((x) & 0xff00000000000000ull) >> 56) \
|
||||
| (((x) & 0x00ff000000000000ull) >> 40) \
|
||||
| (((x) & 0x0000ff0000000000ull) >> 24) \
|
||||
| (((x) & 0x000000ff00000000ull) >> 8) \
|
||||
| (((x) & 0x00000000ff000000ull) << 8) \
|
||||
| (((x) & 0x0000000000ff0000ull) << 24) \
|
||||
| (((x) & 0x000000000000ff00ull) << 40) \
|
||||
| (((x) & 0x00000000000000ffull) << 56))
|
||||
|
||||
# define __bswap_64(x) \
|
||||
(__extension__ \
|
||||
({ union { __extension__ unsigned long long int __ll; \
|
||||
unsigned int __l[2]; } __w, __r; \
|
||||
if (__builtin_constant_p (x)) \
|
||||
__r.__ll = __bswap_constant_64 (x); \
|
||||
else \
|
||||
{ \
|
||||
__w.__ll = (x); \
|
||||
__r.__l[0] = __bswap_32 (__w.__l[1]); \
|
||||
__r.__l[1] = __bswap_32 (__w.__l[0]); \
|
||||
} \
|
||||
__r.__ll; }))
|
||||
#endif
|
||||
-566
@@ -1,566 +0,0 @@
|
||||
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
|
||||
Copyright (C) 1993, 1995-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. */
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Values for the NAME argument to `pathconf' and `fpathconf'. */
|
||||
enum
|
||||
{
|
||||
_PC_LINK_MAX,
|
||||
#define _PC_LINK_MAX _PC_LINK_MAX
|
||||
_PC_MAX_CANON,
|
||||
#define _PC_MAX_CANON _PC_MAX_CANON
|
||||
_PC_MAX_INPUT,
|
||||
#define _PC_MAX_INPUT _PC_MAX_INPUT
|
||||
_PC_NAME_MAX,
|
||||
#define _PC_NAME_MAX _PC_NAME_MAX
|
||||
_PC_PATH_MAX,
|
||||
#define _PC_PATH_MAX _PC_PATH_MAX
|
||||
_PC_PIPE_BUF,
|
||||
#define _PC_PIPE_BUF _PC_PIPE_BUF
|
||||
_PC_CHOWN_RESTRICTED,
|
||||
#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
|
||||
_PC_NO_TRUNC,
|
||||
#define _PC_NO_TRUNC _PC_NO_TRUNC
|
||||
_PC_VDISABLE,
|
||||
#define _PC_VDISABLE _PC_VDISABLE
|
||||
_PC_SYNC_IO,
|
||||
#define _PC_SYNC_IO _PC_SYNC_IO
|
||||
_PC_ASYNC_IO,
|
||||
#define _PC_ASYNC_IO _PC_ASYNC_IO
|
||||
_PC_PRIO_IO,
|
||||
#define _PC_PRIO_IO _PC_PRIO_IO
|
||||
_PC_SOCK_MAXBUF,
|
||||
#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
|
||||
_PC_FILESIZEBITS,
|
||||
#define _PC_FILESIZEBITS _PC_FILESIZEBITS
|
||||
_PC_REC_INCR_XFER_SIZE,
|
||||
#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
|
||||
_PC_REC_MAX_XFER_SIZE,
|
||||
#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
|
||||
_PC_REC_MIN_XFER_SIZE,
|
||||
#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
|
||||
_PC_REC_XFER_ALIGN,
|
||||
#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
|
||||
_PC_ALLOC_SIZE_MIN,
|
||||
#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
|
||||
_PC_SYMLINK_MAX
|
||||
#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
|
||||
};
|
||||
|
||||
/* Values for the argument to `sysconf'. */
|
||||
enum
|
||||
{
|
||||
_SC_ARG_MAX,
|
||||
#define _SC_ARG_MAX _SC_ARG_MAX
|
||||
_SC_CHILD_MAX,
|
||||
#define _SC_CHILD_MAX _SC_CHILD_MAX
|
||||
_SC_CLK_TCK,
|
||||
#define _SC_CLK_TCK _SC_CLK_TCK
|
||||
_SC_NGROUPS_MAX,
|
||||
#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
|
||||
_SC_OPEN_MAX,
|
||||
#define _SC_OPEN_MAX _SC_OPEN_MAX
|
||||
_SC_STREAM_MAX,
|
||||
#define _SC_STREAM_MAX _SC_STREAM_MAX
|
||||
_SC_TZNAME_MAX,
|
||||
#define _SC_TZNAME_MAX _SC_TZNAME_MAX
|
||||
_SC_JOB_CONTROL,
|
||||
#define _SC_JOB_CONTROL _SC_JOB_CONTROL
|
||||
_SC_SAVED_IDS,
|
||||
#define _SC_SAVED_IDS _SC_SAVED_IDS
|
||||
_SC_REALTIME_SIGNALS,
|
||||
#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||
_SC_PRIORITY_SCHEDULING,
|
||||
#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||
_SC_TIMERS,
|
||||
#define _SC_TIMERS _SC_TIMERS
|
||||
_SC_ASYNCHRONOUS_IO,
|
||||
#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||
_SC_PRIORITIZED_IO,
|
||||
#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||
_SC_SYNCHRONIZED_IO,
|
||||
#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||
_SC_FSYNC,
|
||||
#define _SC_FSYNC _SC_FSYNC
|
||||
_SC_MAPPED_FILES,
|
||||
#define _SC_MAPPED_FILES _SC_MAPPED_FILES
|
||||
_SC_MEMLOCK,
|
||||
#define _SC_MEMLOCK _SC_MEMLOCK
|
||||
_SC_MEMLOCK_RANGE,
|
||||
#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||
_SC_MEMORY_PROTECTION,
|
||||
#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||
_SC_MESSAGE_PASSING,
|
||||
#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||
_SC_SEMAPHORES,
|
||||
#define _SC_SEMAPHORES _SC_SEMAPHORES
|
||||
_SC_SHARED_MEMORY_OBJECTS,
|
||||
#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||
_SC_AIO_LISTIO_MAX,
|
||||
#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
|
||||
_SC_AIO_MAX,
|
||||
#define _SC_AIO_MAX _SC_AIO_MAX
|
||||
_SC_AIO_PRIO_DELTA_MAX,
|
||||
#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
|
||||
_SC_DELAYTIMER_MAX,
|
||||
#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
|
||||
_SC_MQ_OPEN_MAX,
|
||||
#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
|
||||
_SC_MQ_PRIO_MAX,
|
||||
#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
|
||||
_SC_VERSION,
|
||||
#define _SC_VERSION _SC_VERSION
|
||||
_SC_PAGESIZE,
|
||||
#define _SC_PAGESIZE _SC_PAGESIZE
|
||||
#define _SC_PAGE_SIZE _SC_PAGESIZE
|
||||
_SC_RTSIG_MAX,
|
||||
#define _SC_RTSIG_MAX _SC_RTSIG_MAX
|
||||
_SC_SEM_NSEMS_MAX,
|
||||
#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
|
||||
_SC_SEM_VALUE_MAX,
|
||||
#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
|
||||
_SC_SIGQUEUE_MAX,
|
||||
#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
|
||||
_SC_TIMER_MAX,
|
||||
#define _SC_TIMER_MAX _SC_TIMER_MAX
|
||||
|
||||
/* Values for the argument to `sysconf'
|
||||
corresponding to _POSIX2_* symbols. */
|
||||
_SC_BC_BASE_MAX,
|
||||
#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
|
||||
_SC_BC_DIM_MAX,
|
||||
#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
|
||||
_SC_BC_SCALE_MAX,
|
||||
#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
|
||||
_SC_BC_STRING_MAX,
|
||||
#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
|
||||
_SC_COLL_WEIGHTS_MAX,
|
||||
#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
|
||||
_SC_EQUIV_CLASS_MAX,
|
||||
#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
|
||||
_SC_EXPR_NEST_MAX,
|
||||
#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
|
||||
_SC_LINE_MAX,
|
||||
#define _SC_LINE_MAX _SC_LINE_MAX
|
||||
_SC_RE_DUP_MAX,
|
||||
#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
|
||||
_SC_CHARCLASS_NAME_MAX,
|
||||
#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
|
||||
|
||||
_SC_2_VERSION,
|
||||
#define _SC_2_VERSION _SC_2_VERSION
|
||||
_SC_2_C_BIND,
|
||||
#define _SC_2_C_BIND _SC_2_C_BIND
|
||||
_SC_2_C_DEV,
|
||||
#define _SC_2_C_DEV _SC_2_C_DEV
|
||||
_SC_2_FORT_DEV,
|
||||
#define _SC_2_FORT_DEV _SC_2_FORT_DEV
|
||||
_SC_2_FORT_RUN,
|
||||
#define _SC_2_FORT_RUN _SC_2_FORT_RUN
|
||||
_SC_2_SW_DEV,
|
||||
#define _SC_2_SW_DEV _SC_2_SW_DEV
|
||||
_SC_2_LOCALEDEF,
|
||||
#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
|
||||
|
||||
_SC_PII,
|
||||
#define _SC_PII _SC_PII
|
||||
_SC_PII_XTI,
|
||||
#define _SC_PII_XTI _SC_PII_XTI
|
||||
_SC_PII_SOCKET,
|
||||
#define _SC_PII_SOCKET _SC_PII_SOCKET
|
||||
_SC_PII_INTERNET,
|
||||
#define _SC_PII_INTERNET _SC_PII_INTERNET
|
||||
_SC_PII_OSI,
|
||||
#define _SC_PII_OSI _SC_PII_OSI
|
||||
_SC_POLL,
|
||||
#define _SC_POLL _SC_POLL
|
||||
_SC_SELECT,
|
||||
#define _SC_SELECT _SC_SELECT
|
||||
_SC_UIO_MAXIOV,
|
||||
#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
|
||||
_SC_IOV_MAX = _SC_UIO_MAXIOV,
|
||||
#define _SC_IOV_MAX _SC_IOV_MAX
|
||||
_SC_PII_INTERNET_STREAM,
|
||||
#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
|
||||
_SC_PII_INTERNET_DGRAM,
|
||||
#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
|
||||
_SC_PII_OSI_COTS,
|
||||
#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
|
||||
_SC_PII_OSI_CLTS,
|
||||
#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
|
||||
_SC_PII_OSI_M,
|
||||
#define _SC_PII_OSI_M _SC_PII_OSI_M
|
||||
_SC_T_IOV_MAX,
|
||||
#define _SC_T_IOV_MAX _SC_T_IOV_MAX
|
||||
|
||||
/* Values according to POSIX 1003.1c (POSIX threads). */
|
||||
_SC_THREADS,
|
||||
#define _SC_THREADS _SC_THREADS
|
||||
_SC_THREAD_SAFE_FUNCTIONS,
|
||||
#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||
_SC_GETGR_R_SIZE_MAX,
|
||||
#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
|
||||
_SC_GETPW_R_SIZE_MAX,
|
||||
#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
|
||||
_SC_LOGIN_NAME_MAX,
|
||||
#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
|
||||
_SC_TTY_NAME_MAX,
|
||||
#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
|
||||
_SC_THREAD_DESTRUCTOR_ITERATIONS,
|
||||
#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
_SC_THREAD_KEYS_MAX,
|
||||
#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
|
||||
_SC_THREAD_STACK_MIN,
|
||||
#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
|
||||
_SC_THREAD_THREADS_MAX,
|
||||
#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
|
||||
_SC_THREAD_ATTR_STACKADDR,
|
||||
#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||
_SC_THREAD_ATTR_STACKSIZE,
|
||||
#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||
_SC_THREAD_PRIORITY_SCHEDULING,
|
||||
#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||
_SC_THREAD_PRIO_INHERIT,
|
||||
#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||
_SC_THREAD_PRIO_PROTECT,
|
||||
#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||
_SC_THREAD_PROCESS_SHARED,
|
||||
#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||
|
||||
_SC_NPROCESSORS_CONF,
|
||||
#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
|
||||
_SC_NPROCESSORS_ONLN,
|
||||
#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
|
||||
_SC_PHYS_PAGES,
|
||||
#define _SC_PHYS_PAGES _SC_PHYS_PAGES
|
||||
_SC_AVPHYS_PAGES,
|
||||
#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
|
||||
_SC_ATEXIT_MAX,
|
||||
#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
|
||||
_SC_PASS_MAX,
|
||||
#define _SC_PASS_MAX _SC_PASS_MAX
|
||||
|
||||
_SC_XOPEN_VERSION,
|
||||
#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
|
||||
_SC_XOPEN_XCU_VERSION,
|
||||
#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
|
||||
_SC_XOPEN_UNIX,
|
||||
#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
|
||||
_SC_XOPEN_CRYPT,
|
||||
#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||
_SC_XOPEN_ENH_I18N,
|
||||
#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||
_SC_XOPEN_SHM,
|
||||
#define _SC_XOPEN_SHM _SC_XOPEN_SHM
|
||||
|
||||
_SC_2_CHAR_TERM,
|
||||
#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
|
||||
_SC_2_C_VERSION,
|
||||
#define _SC_2_C_VERSION _SC_2_C_VERSION
|
||||
_SC_2_UPE,
|
||||
#define _SC_2_UPE _SC_2_UPE
|
||||
|
||||
_SC_XOPEN_XPG2,
|
||||
#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
|
||||
_SC_XOPEN_XPG3,
|
||||
#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
|
||||
_SC_XOPEN_XPG4,
|
||||
#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
|
||||
|
||||
_SC_CHAR_BIT,
|
||||
#define _SC_CHAR_BIT _SC_CHAR_BIT
|
||||
_SC_CHAR_MAX,
|
||||
#define _SC_CHAR_MAX _SC_CHAR_MAX
|
||||
_SC_CHAR_MIN,
|
||||
#define _SC_CHAR_MIN _SC_CHAR_MIN
|
||||
_SC_INT_MAX,
|
||||
#define _SC_INT_MAX _SC_INT_MAX
|
||||
_SC_INT_MIN,
|
||||
#define _SC_INT_MIN _SC_INT_MIN
|
||||
_SC_LONG_BIT,
|
||||
#define _SC_LONG_BIT _SC_LONG_BIT
|
||||
_SC_WORD_BIT,
|
||||
#define _SC_WORD_BIT _SC_WORD_BIT
|
||||
_SC_MB_LEN_MAX,
|
||||
#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
|
||||
_SC_NZERO,
|
||||
#define _SC_NZERO _SC_NZERO
|
||||
_SC_SSIZE_MAX,
|
||||
#define _SC_SSIZE_MAX _SC_SSIZE_MAX
|
||||
_SC_SCHAR_MAX,
|
||||
#define _SC_SCHAR_MAX _SC_SCHAR_MAX
|
||||
_SC_SCHAR_MIN,
|
||||
#define _SC_SCHAR_MIN _SC_SCHAR_MIN
|
||||
_SC_SHRT_MAX,
|
||||
#define _SC_SHRT_MAX _SC_SHRT_MAX
|
||||
_SC_SHRT_MIN,
|
||||
#define _SC_SHRT_MIN _SC_SHRT_MIN
|
||||
_SC_UCHAR_MAX,
|
||||
#define _SC_UCHAR_MAX _SC_UCHAR_MAX
|
||||
_SC_UINT_MAX,
|
||||
#define _SC_UINT_MAX _SC_UINT_MAX
|
||||
_SC_ULONG_MAX,
|
||||
#define _SC_ULONG_MAX _SC_ULONG_MAX
|
||||
_SC_USHRT_MAX,
|
||||
#define _SC_USHRT_MAX _SC_USHRT_MAX
|
||||
|
||||
_SC_NL_ARGMAX,
|
||||
#define _SC_NL_ARGMAX _SC_NL_ARGMAX
|
||||
_SC_NL_LANGMAX,
|
||||
#define _SC_NL_LANGMAX _SC_NL_LANGMAX
|
||||
_SC_NL_MSGMAX,
|
||||
#define _SC_NL_MSGMAX _SC_NL_MSGMAX
|
||||
_SC_NL_NMAX,
|
||||
#define _SC_NL_NMAX _SC_NL_NMAX
|
||||
_SC_NL_SETMAX,
|
||||
#define _SC_NL_SETMAX _SC_NL_SETMAX
|
||||
_SC_NL_TEXTMAX,
|
||||
#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
|
||||
|
||||
_SC_XBS5_ILP32_OFF32,
|
||||
#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
|
||||
_SC_XBS5_ILP32_OFFBIG,
|
||||
#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
|
||||
_SC_XBS5_LP64_OFF64,
|
||||
#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
|
||||
_SC_XBS5_LPBIG_OFFBIG,
|
||||
#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
|
||||
|
||||
_SC_XOPEN_LEGACY,
|
||||
#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||
_SC_XOPEN_REALTIME,
|
||||
#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||
_SC_XOPEN_REALTIME_THREADS,
|
||||
#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||
|
||||
_SC_ADVISORY_INFO,
|
||||
#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||
_SC_BARRIERS,
|
||||
#define _SC_BARRIERS _SC_BARRIERS
|
||||
_SC_BASE,
|
||||
#define _SC_BASE _SC_BASE
|
||||
_SC_C_LANG_SUPPORT,
|
||||
#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
|
||||
_SC_C_LANG_SUPPORT_R,
|
||||
#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
|
||||
_SC_CLOCK_SELECTION,
|
||||
#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||
_SC_CPUTIME,
|
||||
#define _SC_CPUTIME _SC_CPUTIME
|
||||
_SC_THREAD_CPUTIME,
|
||||
#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||
_SC_DEVICE_IO,
|
||||
#define _SC_DEVICE_IO _SC_DEVICE_IO
|
||||
_SC_DEVICE_SPECIFIC,
|
||||
#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
|
||||
_SC_DEVICE_SPECIFIC_R,
|
||||
#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
|
||||
_SC_FD_MGMT,
|
||||
#define _SC_FD_MGMT _SC_FD_MGMT
|
||||
_SC_FIFO,
|
||||
#define _SC_FIFO _SC_FIFO
|
||||
_SC_PIPE,
|
||||
#define _SC_PIPE _SC_PIPE
|
||||
_SC_FILE_ATTRIBUTES,
|
||||
#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
|
||||
_SC_FILE_LOCKING,
|
||||
#define _SC_FILE_LOCKING _SC_FILE_LOCKING
|
||||
_SC_FILE_SYSTEM,
|
||||
#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
|
||||
_SC_MONOTONIC_CLOCK,
|
||||
#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||
_SC_MULTI_PROCESS,
|
||||
#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
|
||||
_SC_SINGLE_PROCESS,
|
||||
#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
|
||||
_SC_NETWORKING,
|
||||
#define _SC_NETWORKING _SC_NETWORKING
|
||||
_SC_READER_WRITER_LOCKS,
|
||||
#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||
_SC_SPIN_LOCKS,
|
||||
#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||
_SC_REGEXP,
|
||||
#define _SC_REGEXP _SC_REGEXP
|
||||
_SC_REGEX_VERSION,
|
||||
#define _SC_REGEX_VERSION _SC_REGEX_VERSION
|
||||
_SC_SHELL,
|
||||
#define _SC_SHELL _SC_SHELL
|
||||
_SC_SIGNALS,
|
||||
#define _SC_SIGNALS _SC_SIGNALS
|
||||
_SC_SPAWN,
|
||||
#define _SC_SPAWN _SC_SPAWN
|
||||
_SC_SPORADIC_SERVER,
|
||||
#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||
_SC_THREAD_SPORADIC_SERVER,
|
||||
#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||
_SC_SYSTEM_DATABASE,
|
||||
#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
|
||||
_SC_SYSTEM_DATABASE_R,
|
||||
#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
|
||||
_SC_TIMEOUTS,
|
||||
#define _SC_TIMEOUTS _SC_TIMEOUTS
|
||||
_SC_TYPED_MEMORY_OBJECTS,
|
||||
#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||
_SC_USER_GROUPS,
|
||||
#define _SC_USER_GROUPS _SC_USER_GROUPS
|
||||
_SC_USER_GROUPS_R,
|
||||
#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
|
||||
_SC_2_PBS,
|
||||
#define _SC_2_PBS _SC_2_PBS
|
||||
_SC_2_PBS_ACCOUNTING,
|
||||
#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||
_SC_2_PBS_LOCATE,
|
||||
#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||
_SC_2_PBS_MESSAGE,
|
||||
#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||
_SC_2_PBS_TRACK,
|
||||
#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
|
||||
_SC_SYMLOOP_MAX,
|
||||
#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
|
||||
_SC_STREAMS,
|
||||
#define _SC_STREAMS _SC_STREAMS
|
||||
_SC_2_PBS_CHECKPOINT,
|
||||
#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||
|
||||
_SC_V6_ILP32_OFF32,
|
||||
#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||
_SC_V6_ILP32_OFFBIG,
|
||||
#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||
_SC_V6_LP64_OFF64,
|
||||
#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||
_SC_V6_LPBIG_OFFBIG,
|
||||
#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||
|
||||
_SC_HOST_NAME_MAX,
|
||||
#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
|
||||
_SC_TRACE,
|
||||
#define _SC_TRACE _SC_TRACE
|
||||
_SC_TRACE_EVENT_FILTER,
|
||||
#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||
_SC_TRACE_INHERIT,
|
||||
#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||
_SC_TRACE_LOG
|
||||
#define _SC_TRACE_LOG _SC_TRACE_LOG
|
||||
};
|
||||
|
||||
#if (defined __USE_POSIX2 || defined __USE_UNIX98 \
|
||||
|| defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
|
||||
|| defined __USE_LARGEFILE)
|
||||
/* Values for the NAME argument to `confstr'. */
|
||||
enum
|
||||
{
|
||||
_CS_PATH, /* The default search path. */
|
||||
#define _CS_PATH _CS_PATH
|
||||
|
||||
# if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
|
||||
|| defined __USE_LARGEFILE)
|
||||
_CS_LFS_CFLAGS = 1000,
|
||||
# define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
|
||||
_CS_LFS_LDFLAGS,
|
||||
# define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
|
||||
_CS_LFS_LIBS,
|
||||
# define _CS_LFS_LIBS _CS_LFS_LIBS
|
||||
_CS_LFS_LINTFLAGS,
|
||||
# define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
|
||||
_CS_LFS64_CFLAGS,
|
||||
# define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
|
||||
_CS_LFS64_LDFLAGS,
|
||||
# define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
|
||||
_CS_LFS64_LIBS,
|
||||
# define _CS_LFS64_LIBS _CS_LFS64_LIBS
|
||||
_CS_LFS64_LINTFLAGS,
|
||||
# define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
|
||||
# endif
|
||||
|
||||
# ifdef __USE_UNIX98
|
||||
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
|
||||
# define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
|
||||
_CS_XBS5_ILP32_OFF32_LDFLAGS,
|
||||
# define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
|
||||
_CS_XBS5_ILP32_OFF32_LIBS,
|
||||
# define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
|
||||
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
|
||||
# define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
|
||||
# define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
|
||||
# define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
|
||||
_CS_XBS5_ILP32_OFFBIG_LIBS,
|
||||
# define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
|
||||
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
|
||||
# define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
|
||||
_CS_XBS5_LP64_OFF64_CFLAGS,
|
||||
# define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
|
||||
_CS_XBS5_LP64_OFF64_LDFLAGS,
|
||||
# define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
|
||||
_CS_XBS5_LP64_OFF64_LIBS,
|
||||
# define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
|
||||
_CS_XBS5_LP64_OFF64_LINTFLAGS,
|
||||
# define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
|
||||
# define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
|
||||
# define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LIBS,
|
||||
# define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
|
||||
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
|
||||
# define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
|
||||
# endif
|
||||
# ifdef __USE_XOPEN2K
|
||||
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LIBS,
|
||||
# define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
|
||||
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
|
||||
# define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
||||
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
|
||||
# define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
|
||||
# define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
|
||||
# define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
||||
_CS_POSIX_V6_LP64_OFF64_LIBS,
|
||||
# define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
|
||||
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
|
||||
# define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
|
||||
# define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
|
||||
# define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
|
||||
# define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
||||
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
|
||||
# define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
|
||||
# endif
|
||||
|
||||
_CS_V6_WIDTH_RESTRICTED_ENVS
|
||||
# define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||
};
|
||||
#endif
|
||||
@@ -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
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
/* System dependent definitions for run-time dynamic loading.
|
||||
Copyright (C) 1996,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 _DLFCN_H
|
||||
# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
|
||||
#endif
|
||||
|
||||
/* The MODE argument to `dlopen' contains one of the following: */
|
||||
#define RTLD_LAZY 0x00001 /* Lazy function call binding. */
|
||||
#define RTLD_NOW 0x00002 /* Immediate function call binding. */
|
||||
#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
|
||||
#define RTLD_NOLOAD 0x00004 /* Do not load the object. */
|
||||
|
||||
/* If the following bit is set in the MODE argument to `dlopen',
|
||||
the symbols of the loaded object and its dependencies are made
|
||||
visible as if the object were linked directly into the program. */
|
||||
#define RTLD_GLOBAL 0x00100
|
||||
|
||||
/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
|
||||
The implementation does this by default and so we can define the
|
||||
value to zero. */
|
||||
#define RTLD_LOCAL 0
|
||||
|
||||
/* Do not delete object when closed. */
|
||||
#define RTLD_NODELETE 0x01000
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* To support profiling of shared objects it is a good idea to call
|
||||
the function found using `dlsym' using the following macro since
|
||||
these calls do not use the PLT. But this would mean the dynamic
|
||||
loader has no chance to find out when the function is called. The
|
||||
macro applies the necessary magic so that profiling is possible.
|
||||
Rewrite
|
||||
foo = (*fctp) (arg1, arg2);
|
||||
into
|
||||
foo = DL_CALL_FCT (fctp, (arg1, arg2));
|
||||
*/
|
||||
# define DL_CALL_FCT(fctp, args) \
|
||||
(_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* This function calls the profiling functions. */
|
||||
extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -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;
|
||||
@@ -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.
|
||||
@@ -1,75 +0,0 @@
|
||||
/* Copyright (C) 1999, 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 _UNISTD_H
|
||||
# error "Never include this file directly. Use <unistd.h> instead"
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* This header should define the following symbols under the described
|
||||
situations. A value `1' means that the model is always supported,
|
||||
`-1' means it is never supported. Undefined means it cannot be
|
||||
statically decided.
|
||||
|
||||
_POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
|
||||
_POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
|
||||
|
||||
_POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
|
||||
_POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
|
||||
|
||||
The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
|
||||
_XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
|
||||
and are available only for compatibility.
|
||||
*/
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* We can never provide environments with 32-bit wide pointers. */
|
||||
# define _POSIX_V6_ILP32_OFF32 -1
|
||||
# define _POSIX_V6_ILP32_OFFBIG -1
|
||||
# define _XBS5_ILP32_OFF32 -1
|
||||
# define _XBS5_ILP32_OFFBIG -1
|
||||
/* We also have no use (for now) for an environment with bigger pointers
|
||||
and offsets. */
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
|
||||
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
|
||||
# define _POSIX_V6_LP64_OFF64 1
|
||||
# define _XBS5_LP64_OFF64 1
|
||||
|
||||
#else /* __WORDSIZE == 32 */
|
||||
|
||||
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
|
||||
and all platforms support LFS. */
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# define _XBS5_ILP32_OFFBIG 1
|
||||
|
||||
/* We optionally provide an environment with the above size but an 64-bit
|
||||
side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
|
||||
|
||||
/* We can never provide environments with 64-bit wide pointers. */
|
||||
# define _POSIX_V6_LP64_OFF64 -1
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LP64_OFF64 -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
@@ -1,37 +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
|
||||
|
||||
#define __set_errno(val) errno = (val)
|
||||
@@ -1,95 +0,0 @@
|
||||
/* O_*, F_*, FD_* bit values for stub configuration.
|
||||
Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
/* 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_XOPEN2K
|
||||
# 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
|
||||
-56
@@ -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)
|
||||
@@ -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
|
||||
@@ -1,26 +0,0 @@
|
||||
/* Stub `HUGE_VAL' constant.
|
||||
Used by <stdlib.h> and <math.h> functions for overflow.
|
||||
Copyright (C) 1992, 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 _MATH_H
|
||||
# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
#define HUGE_VAL 1e37
|
||||
@@ -1,93 +0,0 @@
|
||||
/* Copyright (C) 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. */
|
||||
|
||||
/* Generic version. */
|
||||
|
||||
#ifndef _NETINET_IN_H
|
||||
# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
|
||||
#endif
|
||||
|
||||
/* Link numbers. */
|
||||
#define IMPLINK_IP 155
|
||||
#define IMPLINK_LOWEXPER 156
|
||||
#define IMPLINK_HIGHEXPER 158
|
||||
|
||||
|
||||
/* 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. */
|
||||
};
|
||||
|
||||
/* Structure used for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */
|
||||
struct ip_mreq
|
||||
{
|
||||
struct in_addr imr_multiaddr; /* IP multicast address of group */
|
||||
struct in_addr imr_interface; /* local IP address of interface */
|
||||
};
|
||||
|
||||
/* IPV6 socket options. */
|
||||
#define IPV6_ADDRFORM 1
|
||||
#define IPV6_RXINFO 2
|
||||
#define IPV6_RXHOPOPTS 3
|
||||
#define IPV6_RXDSTOPTS 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
|
||||
|
||||
/* 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. */
|
||||
@@ -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
|
||||
@@ -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. */
|
||||
-47
@@ -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 */
|
||||
};
|
||||
@@ -1,131 +0,0 @@
|
||||
/* libc-internal interface for mutex locks. Stub version.
|
||||
Copyright (C) 1996,97,99,2000,01 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 __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)
|
||||
|
||||
/* 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)
|
||||
|
||||
/* 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)
|
||||
|
||||
/* 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 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); \
|
||||
|
||||
|
||||
/* 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) -1
|
||||
|
||||
/* Get thread-specific data associated with KEY. */
|
||||
#define __libc_getspecific(KEY) 0
|
||||
|
||||
#endif /* bits/libc-lock.h */
|
||||
@@ -1,52 +0,0 @@
|
||||
/* libc-internal interface for thread-specific data. Stub version.
|
||||
Copyright (C) 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 _BITS_LIBC_TSD_H
|
||||
#define _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_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. */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#define __libc_tsd_define(CLASS, KEY) CLASS void *__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 /* bits/libc-tsd.h */
|
||||
@@ -1,4 +0,0 @@
|
||||
struct link_map_machine
|
||||
{
|
||||
/* empty by default */
|
||||
};
|
||||
@@ -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. */
|
||||
@@ -1,47 +0,0 @@
|
||||
/* Copyright (C) 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. */
|
||||
|
||||
#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'. */
|
||||
|
||||
/* Define `INFINITY' as value of type `float'. */
|
||||
# define INFINITY HUGE_VALF
|
||||
|
||||
|
||||
/* 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
|
||||
@@ -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
|
||||
-87
@@ -1,87 +0,0 @@
|
||||
/* Definitions for BSD-style memory management.
|
||||
Copyright (C) 1994-1998,2000,01 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 are the bits used by 4.4 BSD and its derivatives. On systems
|
||||
(such as GNU) where these facilities are not system services but can be
|
||||
emulated in the C library, these are the definitions we emulate. */
|
||||
|
||||
#ifndef _SYS_MMAN_H
|
||||
# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
/* Protections are chosen from these bits, OR'd together. The
|
||||
implementation does not necessarily support PROT_EXEC or PROT_WRITE
|
||||
without PROT_READ. The only guarantees are that no writing will be
|
||||
allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
|
||||
|
||||
#define PROT_NONE 0x00 /* No access. */
|
||||
#define PROT_READ 0x04 /* Pages can be read. */
|
||||
#define PROT_WRITE 0x02 /* Pages can be written. */
|
||||
#define PROT_EXEC 0x01 /* Pages can be executed. */
|
||||
|
||||
/* Flags contain mapping type, sharing type and options. */
|
||||
|
||||
/* Mapping type (must choose one and only one of these). */
|
||||
#ifdef __USE_BSD
|
||||
# define MAP_FILE 0x0001 /* Mapped from a file or device. */
|
||||
# define MAP_ANON 0x0002 /* Allocated from anonymous virtual memory. */
|
||||
# define MAP_TYPE 0x000f /* Mask for type field. */
|
||||
# ifdef __USE_MISC
|
||||
# define MAP_ANONYMOUS MAP_ANON /* Linux name. */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Sharing types (must choose one and only one of these). */
|
||||
#ifdef __USE_BSD
|
||||
# define MAP_COPY 0x0020 /* Virtual copy of region at mapping time. */
|
||||
#endif
|
||||
#define MAP_SHARED 0x0010 /* Share changes. */
|
||||
#define MAP_PRIVATE 0x0000 /* Changes private; copy pages on write. */
|
||||
|
||||
/* Other flags. */
|
||||
#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */
|
||||
#ifdef __USE_BSD
|
||||
# define MAP_NOEXTEND 0x0200 /* For MAP_FILE, don't change file size. */
|
||||
# define MAP_HASSEMPHORE 0x0400 /* Region may contain semaphores. */
|
||||
# define MAP_INHERIT 0x0800 /* Region is retained after exec. */
|
||||
#endif
|
||||
|
||||
/* Advice to `madvise'. */
|
||||
#ifdef __USE_BSD
|
||||
# define MADV_NORMAL 0 /* No further special treatment. */
|
||||
# define MADV_RANDOM 1 /* Expect random page references. */
|
||||
# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||
# define MADV_WILLNEED 3 /* Will need these pages. */
|
||||
# define MADV_DONTNEED 4 /* Don't need these pages. */
|
||||
#endif
|
||||
|
||||
/* The POSIX people had to invent similar names for the same things. */
|
||||
#ifdef __USE_XOPEN2K
|
||||
# define POSIX_MADV_NORMAL 0 /* No further special treatment. */
|
||||
# define POSIX_MADV_RANDOM 1 /* Expect random page references. */
|
||||
# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */
|
||||
# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */
|
||||
# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */
|
||||
#endif
|
||||
|
||||
|
||||
/* Flags for `mlockall' (can be OR'd together). */
|
||||
#define MCL_CURRENT 1 /* Lock all currently mapped pages. */
|
||||
#define MCL_FUTURE 2 /* Lock all additions to address
|
||||
space. */
|
||||
-45
@@ -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() */
|
||||
};
|
||||
@@ -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. */
|
||||
@@ -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. */
|
||||
};
|
||||
-43
@@ -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. */
|
||||
@@ -1,2 +0,0 @@
|
||||
/* This file should define the POSIX options described in <unistd.h>,
|
||||
or leave them undefined, as appropriate. */
|
||||
-182
@@ -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. */
|
||||
};
|
||||
@@ -1,35 +0,0 @@
|
||||
/* Definitions of constants and data structure for POSIX 1003.1b-1993
|
||||
scheduling interface.
|
||||
Copyright (C) 1996, 1997, 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 _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;
|
||||
};
|
||||
@@ -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)
|
||||
-62
@@ -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
|
||||
@@ -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];
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
/* Copyright (C) 1995, 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_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) */
|
||||
|
||||
|
||||
/* 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 */
|
||||
};
|
||||
@@ -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. */
|
||||
@@ -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. */
|
||||
-211
@@ -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. */
|
||||
@@ -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. */
|
||||
@@ -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. */
|
||||
@@ -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)
|
||||
@@ -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 */
|
||||
@@ -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 */
|
||||
-251
@@ -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 */
|
||||
-99
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
};
|
||||
@@ -1,48 +0,0 @@
|
||||
/* Thread package specific definitions of stream lock type. Generic version.
|
||||
Copyright (C) 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_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_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)
|
||||
|
||||
|
||||
#endif /* bits/stdio-lock.h */
|
||||
@@ -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 */
|
||||
-227
@@ -1,227 +0,0 @@
|
||||
/* Copyright (C) 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 _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 */
|
||||
-256
@@ -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. */
|
||||
-54
@@ -1,54 +0,0 @@
|
||||
/* System-dependent timing definitions. Stub version.
|
||||
Copyright (C) 1996, 1997, 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. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <time.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef __need_timeval
|
||||
# ifndef _BITS_TIME_H
|
||||
# define _BITS_TIME_H 1
|
||||
|
||||
# define CLOCKS_PER_SEC 60
|
||||
|
||||
# ifdef __USE_POSIX199309
|
||||
/* Identifier for system-wide realtime clock. */
|
||||
# define CLOCK_REALTIME 0
|
||||
|
||||
/* 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
|
||||
/* 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 */
|
||||
-131
@@ -1,131 +0,0 @@
|
||||
/* Copyright (C) 1991,1992,94-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. */
|
||||
|
||||
/*
|
||||
* Never include this file directly; use <sys/types.h> instead.
|
||||
*/
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
#define _BITS_TYPES_H 1
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Convenience types. */
|
||||
typedef unsigned char __u_char;
|
||||
typedef unsigned short __u_short;
|
||||
typedef unsigned int __u_int;
|
||||
typedef unsigned long __u_long;
|
||||
#ifdef __GNUC__
|
||||
typedef unsigned long long int __u_quad_t;
|
||||
typedef long long int __quad_t;
|
||||
#else
|
||||
typedef struct
|
||||
{
|
||||
long __val[2];
|
||||
} __quad_t;
|
||||
typedef struct
|
||||
{
|
||||
__u_long __val[2];
|
||||
} __u_quad_t;
|
||||
#endif
|
||||
typedef signed char __int8_t;
|
||||
typedef unsigned char __uint8_t;
|
||||
typedef signed short int __int16_t;
|
||||
typedef unsigned short int __uint16_t;
|
||||
typedef signed int __int32_t;
|
||||
typedef unsigned int __uint32_t;
|
||||
#ifdef __GNUC__
|
||||
typedef signed long long int __int64_t;
|
||||
typedef unsigned long long int __uint64_t;
|
||||
#endif
|
||||
typedef __quad_t *__qaddr_t;
|
||||
|
||||
typedef int __dev_t; /* Type of device numbers. */
|
||||
typedef unsigned int __uid_t; /* Type of user identifications. */
|
||||
typedef unsigned int __gid_t; /* Type of group identifications. */
|
||||
typedef unsigned int __ino_t; /* Type of file serial numbers. */
|
||||
typedef __quad_t __ino64_t; /* Type of file serial numbers (LFS). */
|
||||
typedef unsigned int __mode_t; /* Type of file attribute bitmasks. */
|
||||
typedef unsigned short int __nlink_t; /* Type of file link counts. */
|
||||
typedef long int __off_t; /* Type of file sizes and offsets. */
|
||||
typedef __quad_t __loff_t; /* Type of file sizes and offsets. */
|
||||
typedef __loff_t __off64_t; /* Type of file sizes and offsets (LFS). */
|
||||
typedef int __pid_t; /* Type of process identifications. */
|
||||
typedef int __ssize_t; /* Type of a byte count, or error. */
|
||||
typedef __u_quad_t __fsid_t; /* Type of file system IDs. */
|
||||
typedef long int __clock_t; /* Type of CPU usage counts. */
|
||||
typedef long int __rlim_t; /* Type for resource measurement. */
|
||||
typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */
|
||||
typedef unsigned int __id_t; /* General type for IDs. */
|
||||
|
||||
/* Everythin' else. */
|
||||
typedef long int __daddr_t; /* The type of a disk address. */
|
||||
typedef char *__caddr_t;
|
||||
typedef long int __time_t;
|
||||
typedef unsigned int __useconds_t;
|
||||
typedef long int __suseconds_t;
|
||||
typedef long int __swblk_t; /* Type of a swap block maybe? */
|
||||
typedef long int __key_t; /* Type of an IPC key */
|
||||
|
||||
|
||||
/* Clock ID used in clock and timer functions. */
|
||||
typedef int __clockid_t;
|
||||
|
||||
/* Timer ID returned by `timer_create'. */
|
||||
typedef int __timer_t;
|
||||
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 256
|
||||
|
||||
|
||||
/* XXX Used in `struct shmid_ds'. */
|
||||
typedef unsigned short int __ipc_pid_t;
|
||||
|
||||
|
||||
/* Type to represent block size. */
|
||||
typedef unsigned int __blksize_t;
|
||||
|
||||
/* Types from the Large File Support interface. */
|
||||
|
||||
/* Type to count number os disk blocks. */
|
||||
typedef long int __blkcnt_t;
|
||||
typedef __quad_t __blkcnt64_t;
|
||||
|
||||
/* Type to count file system blocks. */
|
||||
typedef unsigned int __fsblkcnt_t;
|
||||
typedef __u_quad_t __fsblkcnt64_t;
|
||||
|
||||
/* Type to count file system inodes. */
|
||||
typedef unsigned long int __fsfilcnt_t;
|
||||
typedef __u_quad_t __fsfilcnt64_t;
|
||||
|
||||
/* Used in XTI. */
|
||||
typedef int __t_scalar_t;
|
||||
typedef unsigned int __t_uscalar_t;
|
||||
|
||||
/* Duplicates info from stdint.h but this is used in unistd.h. */
|
||||
typedef long int __intptr_t;
|
||||
|
||||
/* Duplicate info from sys/socket.h. */
|
||||
typedef unsigned int __socklen_t;
|
||||
|
||||
#endif /* bits/types.h */
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
/* 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_UIO_H
|
||||
# error "Never include <bits/uio.h> directly; use <sys/uio.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* `struct iovec' -- Structure describing a section of memory. */
|
||||
|
||||
struct iovec
|
||||
{
|
||||
/* Starting address. */
|
||||
__ptr_t iov_base;
|
||||
/* Length in bytes. */
|
||||
size_t iov_len;
|
||||
};
|
||||
@@ -1,30 +0,0 @@
|
||||
/* Generic declaration of ustat structure.
|
||||
Copyright (C) 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. */
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
struct ustat
|
||||
{
|
||||
__daddr_t f_tfree; /* total free */
|
||||
__ino_t f_tinode; /* total inodes free */
|
||||
char f_fname[6]; /* filesystem name */
|
||||
char f_fpack[6]; /* filesystem pack name */
|
||||
};
|
||||
|
||||
__END_DECLS
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
/* The `struct utmp' type, describing entries in the utmp file. Generic/BSDish
|
||||
Copyright (C) 1993, 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 _UTMP_H
|
||||
# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
|
||||
#endif
|
||||
|
||||
#include <paths.h>
|
||||
#include <time.h>
|
||||
|
||||
|
||||
#define UT_NAMESIZE 8
|
||||
#define UT_LINESIZE 8
|
||||
#define UT_HOSTSIZE 16
|
||||
|
||||
|
||||
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. */
|
||||
@@ -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
|
||||
@@ -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. */
|
||||
@@ -1,104 +0,0 @@
|
||||
/* Definitions of status bits for `wait' et al.
|
||||
Copyright (C) 1992, 1994, 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/waitstatus.h> directly; use <sys/wait.h> instead."
|
||||
#endif
|
||||
|
||||
|
||||
/* Everything extant so far uses these same bits. */
|
||||
|
||||
|
||||
/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
|
||||
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
|
||||
|
||||
/* If WIFSIGNALED(STATUS), the terminating signal. */
|
||||
#define __WTERMSIG(status) ((status) & 0x7f)
|
||||
|
||||
/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
|
||||
#define __WSTOPSIG(status) __WEXITSTATUS(status)
|
||||
|
||||
/* Nonzero if STATUS indicates normal termination. */
|
||||
#define __WIFEXITED(status) (__WTERMSIG(status) == 0)
|
||||
|
||||
/* Nonzero if STATUS indicates termination by a signal. */
|
||||
#ifdef __GNUC__
|
||||
# define __WIFSIGNALED(status) \
|
||||
(__extension__ ({ int __status = (status); \
|
||||
!__WIFSTOPPED(__status) && !__WIFEXITED(__status); }))
|
||||
#else /* Not GCC. */
|
||||
# define __WIFSIGNALED(status) (!__WIFSTOPPED(status) && !__WIFEXITED(status))
|
||||
#endif /* GCC. */
|
||||
|
||||
/* Nonzero if STATUS indicates the child is stopped. */
|
||||
#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
|
||||
|
||||
/* Nonzero if STATUS indicates the child dumped core. */
|
||||
#define __WCOREDUMP(status) ((status) & __WCOREFLAG)
|
||||
|
||||
/* Macros for constructing status values. */
|
||||
#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
||||
#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
|
||||
#define __WCOREFLAG 0x80
|
||||
|
||||
|
||||
#ifdef __USE_BSD
|
||||
|
||||
# include <endian.h>
|
||||
|
||||
union wait
|
||||
{
|
||||
int w_status;
|
||||
struct
|
||||
{
|
||||
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int __w_termsig:7; /* Terminating signal. */
|
||||
unsigned int __w_coredump:1; /* Set if dumped core. */
|
||||
unsigned int __w_retcode:8; /* Return code if exited normally. */
|
||||
unsigned int:16;
|
||||
# endif /* Little endian. */
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned int:16;
|
||||
unsigned int __w_retcode:8;
|
||||
unsigned int __w_coredump:1;
|
||||
unsigned int __w_termsig:7;
|
||||
# endif /* Big endian. */
|
||||
} __wait_terminated;
|
||||
struct
|
||||
{
|
||||
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
unsigned int __w_stopval:8; /* W_STOPPED if stopped. */
|
||||
unsigned int __w_stopsig:8; /* Stopping signal. */
|
||||
unsigned int:16;
|
||||
# endif /* Little endian. */
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
unsigned int:16;
|
||||
unsigned int __w_stopsig:8; /* Stopping signal. */
|
||||
unsigned int __w_stopval:8; /* W_STOPPED if stopped. */
|
||||
# endif /* Big endian. */
|
||||
} __wait_stopped;
|
||||
};
|
||||
|
||||
# define w_termsig __wait_terminated.__w_termsig
|
||||
# define w_coredump __wait_terminated.__w_coredump
|
||||
# define w_retcode __wait_terminated.__w_retcode
|
||||
# define w_stopsig __wait_stopped.__w_stopsig
|
||||
# define w_stopval __wait_stopped.__w_stopval
|
||||
|
||||
#endif /* Use BSD. */
|
||||
@@ -1 +0,0 @@
|
||||
#error "This file must be written based on the data type sizes of the target"
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 1996.
|
||||
|
||||
@@ -247,7 +247,7 @@ print_version (FILE *stream, struct argp_state *state)
|
||||
Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"), "2001");
|
||||
"), "2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
|
||||
}
|
||||
|
||||
|
||||
@@ -682,6 +682,7 @@ else
|
||||
with_fp=yes
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-binutils or --without-binutils was given.
|
||||
if test "${with_binutils+set}" = set; then
|
||||
withval="$with_binutils"
|
||||
@@ -910,7 +911,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
||||
echo "configure:914: checking host system type" >&5
|
||||
echo "configure:915: checking host system type" >&5
|
||||
|
||||
host_alias=$host
|
||||
case "$host_alias" in
|
||||
@@ -1061,7 +1062,7 @@ fi
|
||||
# This can take a while to compute.
|
||||
sysdep_dir=$srcdir/sysdeps
|
||||
echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
|
||||
echo "configure:1065: checking sysdep dirs" >&5
|
||||
echo "configure:1066: checking sysdep dirs" >&5
|
||||
# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
|
||||
os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
|
||||
|
||||
@@ -1284,7 +1285,7 @@ echo "$ac_t""$default_sysnames" 1>&6
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:1288: checking for a BSD compatible install" >&5
|
||||
echo "configure:1289: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -1341,7 +1342,7 @@ if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
|
||||
INSTALL='\$(..)./scripts/install-sh -c'
|
||||
fi
|
||||
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
|
||||
echo "configure:1345: checking whether ln -s works" >&5
|
||||
echo "configure:1346: checking whether ln -s works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1370,7 +1371,7 @@ fi
|
||||
# Extract the first word of "pwd", so it can be a program name with args.
|
||||
set dummy pwd; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1374: checking for $ac_word" >&5
|
||||
echo "configure:1375: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_PWD_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1409,7 +1410,7 @@ fi
|
||||
|
||||
# These programs are version sensitive.
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1413: checking build system type" >&5
|
||||
echo "configure:1414: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@@ -1437,7 +1438,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1441: checking for $ac_word" >&5
|
||||
echo "configure:1442: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1471,7 +1472,7 @@ if test -z "$CC"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $CC""... $ac_c" 1>&6
|
||||
echo "configure:1475: checking version of $CC" >&5
|
||||
echo "configure:1476: checking version of $CC" >&5
|
||||
ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@@ -1491,7 +1492,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1495: checking for $ac_word" >&5
|
||||
echo "configure:1496: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1525,7 +1526,7 @@ if test -z "$MAKE"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MAKE""... $ac_c" 1>&6
|
||||
echo "configure:1529: checking version of $MAKE" >&5
|
||||
echo "configure:1530: checking version of $MAKE" >&5
|
||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@@ -1554,7 +1555,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1558: checking for $ac_word" >&5
|
||||
echo "configure:1559: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1588,7 +1589,7 @@ if test -z "$MSGFMT"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MSGFMT""... $ac_c" 1>&6
|
||||
echo "configure:1592: checking version of $MSGFMT" >&5
|
||||
echo "configure:1593: checking version of $MSGFMT" >&5
|
||||
ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@@ -1608,7 +1609,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1612: checking for $ac_word" >&5
|
||||
echo "configure:1613: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1642,7 +1643,7 @@ if test -z "$MAKEINFO"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $MAKEINFO""... $ac_c" 1>&6
|
||||
echo "configure:1646: checking version of $MAKEINFO" >&5
|
||||
echo "configure:1647: checking version of $MAKEINFO" >&5
|
||||
ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@@ -1662,7 +1663,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1666: checking for $ac_word" >&5
|
||||
echo "configure:1667: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_SED'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1696,7 +1697,7 @@ if test -z "$SED"; then
|
||||
else
|
||||
# Found it, now check the version.
|
||||
echo $ac_n "checking version of $SED""... $ac_c" 1>&6
|
||||
echo "configure:1700: checking version of $SED" >&5
|
||||
echo "configure:1701: checking version of $SED" >&5
|
||||
ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
@@ -1714,7 +1715,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
||||
echo "configure:1718: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
echo "configure:1719: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1728,12 +1729,12 @@ cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
|
||||
#line 1732 "configure"
|
||||
#line 1733 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:1737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
ac_cv_prog_cc_works=yes
|
||||
# If we can't run a trivial program, we are probably using a cross compiler.
|
||||
if (./conftest; exit) 2>/dev/null; then
|
||||
@@ -1764,7 +1765,7 @@ else
|
||||
cross_linkable=yes
|
||||
fi
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
||||
echo "configure:1768: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
echo "configure:1769: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_cross'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1776,7 +1777,7 @@ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
||||
echo "configure:1780: checking whether we are using GNU C" >&5
|
||||
echo "configure:1781: checking whether we are using GNU C" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1785,7 +1786,7 @@ else
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
ac_cv_prog_gcc=yes
|
||||
else
|
||||
ac_cv_prog_gcc=no
|
||||
@@ -1798,7 +1799,7 @@ if test $ac_cv_prog_gcc != yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||
echo "configure:1802: checking build system type" >&5
|
||||
echo "configure:1803: checking build system type" >&5
|
||||
|
||||
build_alias=$build
|
||||
case "$build_alias" in
|
||||
@@ -1821,7 +1822,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1825: checking for $ac_word" >&5
|
||||
echo "configure:1826: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1853,7 +1854,7 @@ done
|
||||
fi
|
||||
|
||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||
echo "configure:1857: checking how to run the C preprocessor" >&5
|
||||
echo "configure:1858: checking how to run the C preprocessor" >&5
|
||||
# On Suns, sometimes $CPP names a directory.
|
||||
if test -n "$CPP" && test -d "$CPP"; then
|
||||
CPP=
|
||||
@@ -1868,13 +1869,13 @@ else
|
||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1872 "configure"
|
||||
#line 1873 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@@ -1885,13 +1886,13 @@ else
|
||||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1889 "configure"
|
||||
#line 1890 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@@ -1902,13 +1903,13 @@ else
|
||||
rm -rf conftest*
|
||||
CPP="${CC-cc} -nologo -E"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1906 "configure"
|
||||
#line 1907 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1913: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
@@ -1951,7 +1952,7 @@ if test $RANLIB = ranlib; then
|
||||
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1955: checking for $ac_word" >&5
|
||||
echo "configure:1956: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -1983,7 +1984,7 @@ if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "ranlib", so it can be a program name with args.
|
||||
set dummy ranlib; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1987: checking for $ac_word" >&5
|
||||
echo "configure:1988: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2020,7 +2021,7 @@ fi
|
||||
|
||||
# Determine whether we are using GNU binutils.
|
||||
echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
|
||||
echo "configure:2024: checking whether $AS is GNU as" >&5
|
||||
echo "configure:2025: checking whether $AS is GNU as" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2039,7 +2040,7 @@ rm -f a.out
|
||||
gnu_as=$libc_cv_prog_as_gnu
|
||||
|
||||
echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
|
||||
echo "configure:2043: checking whether $LD is GNU ld" >&5
|
||||
echo "configure:2044: checking whether $LD is GNU ld" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2059,7 +2060,7 @@ gnu_ld=$libc_cv_prog_ld_gnu
|
||||
# Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}mig; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2063: checking for $ac_word" >&5
|
||||
echo "configure:2064: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_MIG'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2116,7 +2117,7 @@ fi
|
||||
|
||||
# check if ranlib is necessary
|
||||
echo $ac_n "checking whether ranlib is necessary""... $ac_c" 1>&6
|
||||
echo "configure:2120: checking whether ranlib is necessary" >&5
|
||||
echo "configure:2121: checking whether ranlib is necessary" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ranlib_necessary'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2150,7 +2151,7 @@ fi
|
||||
# - two terminals occur directly after each other
|
||||
# - the path contains an element with a dot in it
|
||||
echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6
|
||||
echo "configure:2154: checking LD_LIBRARY_PATH variable" >&5
|
||||
echo "configure:2155: checking LD_LIBRARY_PATH variable" >&5
|
||||
case ${LD_LIBRARY_PATH} in
|
||||
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
|
||||
ld_library_path_setting="contains current directory"
|
||||
@@ -2168,7 +2169,7 @@ if test "$ld_library_path_setting" != "ok"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether GCC supports -static-libgcc""... $ac_c" 1>&6
|
||||
echo "configure:2172: checking whether GCC supports -static-libgcc" >&5
|
||||
echo "configure:2173: checking whether GCC supports -static-libgcc" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_static_libgcc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2185,7 +2186,7 @@ echo "$ac_t""$libc_cv_gcc_static_libgcc" 1>&6
|
||||
# Extract the first word of "bash", so it can be a program name with args.
|
||||
set dummy bash; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2189: checking for $ac_word" >&5
|
||||
echo "configure:2190: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2231,7 +2232,7 @@ if test "$BASH" = no; then
|
||||
# Extract the first word of "ksh", so it can be a program name with args.
|
||||
set dummy ksh; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2235: checking for $ac_word" >&5
|
||||
echo "configure:2236: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2276,12 +2277,12 @@ else
|
||||
fi
|
||||
|
||||
|
||||
for ac_prog in gawk mawk nawk awk
|
||||
for ac_prog in mawk gawk nawk awk
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2285: checking for $ac_word" >&5
|
||||
echo "configure:2286: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2313,7 +2314,7 @@ done
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
set dummy perl; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2317: checking for $ac_word" >&5
|
||||
echo "configure:2318: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2353,7 +2354,7 @@ fi
|
||||
# Extract the first word of "install-info", so it can be a program name with args.
|
||||
set dummy install-info; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2357: checking for $ac_word" >&5
|
||||
echo "configure:2358: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_INSTALL_INFO'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2388,7 +2389,7 @@ fi
|
||||
|
||||
if test "$INSTALL_INFO" != "no"; then
|
||||
echo $ac_n "checking for old Debian install-info""... $ac_c" 1>&6
|
||||
echo "configure:2392: checking for old Debian install-info" >&5
|
||||
echo "configure:2393: checking for old Debian install-info" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_old_debian_install_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2423,7 +2424,7 @@ fi
|
||||
# Extract the first word of "bison", so it can be a program name with args.
|
||||
set dummy bison; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:2427: checking for $ac_word" >&5
|
||||
echo "configure:2428: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_BISON'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2458,7 +2459,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
|
||||
echo "configure:2462: checking for signed size_t type" >&5
|
||||
echo "configure:2463: checking for signed size_t type" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2482,12 +2483,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
|
||||
echo "configure:2486: checking for libc-friendly stddef.h" >&5
|
||||
echo "configure:2487: checking for libc-friendly stddef.h" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2491 "configure"
|
||||
#line 2492 "configure"
|
||||
#include "confdefs.h"
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
@@ -2502,7 +2503,7 @@ size_t size; wchar_t wchar;
|
||||
if (&size == NULL || &wchar == NULL) abort ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_friendly_stddef=yes
|
||||
else
|
||||
@@ -2521,7 +2522,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
|
||||
echo "configure:2525: checking whether we need to use -P to assemble .S files" >&5
|
||||
echo "configure:2526: checking whether we need to use -P to assemble .S files" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2544,7 +2545,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether .text pseudo-op must be used""... $ac_c" 1>&6
|
||||
echo "configure:2548: checking whether .text pseudo-op must be used" >&5
|
||||
echo "configure:2549: checking whether .text pseudo-op must be used" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_dot_text'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2565,7 +2566,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
|
||||
echo "configure:2569: checking for assembler global-symbol directive" >&5
|
||||
echo "configure:2570: checking for assembler global-symbol directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2595,7 +2596,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2599: checking for .set assembler directive" >&5
|
||||
echo "configure:2600: checking for .set assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2638,7 +2639,7 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2642: checking for .symver assembler directive" >&5
|
||||
echo "configure:2643: checking for .symver assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2657,7 +2658,7 @@ fi
|
||||
|
||||
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
|
||||
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
|
||||
echo "configure:2661: checking for ld --version-script" >&5
|
||||
echo "configure:2662: checking for ld --version-script" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2680,7 +2681,7 @@ EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--version-script,conftest.map
|
||||
1>&5'; { (eval echo configure:2684: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
1>&5'; { (eval echo configure:2685: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_ld_version_script_option=yes
|
||||
else
|
||||
@@ -2719,7 +2720,7 @@ if test $elf = yes && test $shared != no && test $VERSIONING = no; then
|
||||
fi
|
||||
if test $elf = yes; then
|
||||
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2723: checking for .previous assembler directive" >&5
|
||||
echo "configure:2724: checking for .previous assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2727,7 +2728,7 @@ else
|
||||
.section foo_section
|
||||
.previous
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_previous_directive=yes
|
||||
else
|
||||
libc_cv_asm_previous_directive=no
|
||||
@@ -2743,7 +2744,7 @@ EOF
|
||||
|
||||
else
|
||||
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2747: checking for .popsection assembler directive" >&5
|
||||
echo "configure:2748: checking for .popsection assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2751,7 +2752,7 @@ else
|
||||
.pushsection foo_section
|
||||
.popsection
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2756: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_popsection_directive=yes
|
||||
else
|
||||
libc_cv_asm_popsection_directive=no
|
||||
@@ -2768,7 +2769,7 @@ EOF
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking for .protected and .hidden assembler directive""... $ac_c" 1>&6
|
||||
echo "configure:2772: checking for .protected and .hidden assembler directive" >&5
|
||||
echo "configure:2773: checking for .protected and .hidden assembler directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_protected_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2778,7 +2779,7 @@ foo:
|
||||
.hidden bar
|
||||
bar:
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_protected_directive=yes
|
||||
else
|
||||
libc_cv_asm_protected_directive=no
|
||||
@@ -2790,14 +2791,16 @@ echo "$ac_t""$libc_cv_asm_protected_directive" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z nodelete option""... $ac_c" 1>&6
|
||||
echo "configure:2794: checking for -z nodelete option" >&5
|
||||
echo "configure:2795: checking for -z nodelete option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_nodelete'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_nodelete=yes
|
||||
else
|
||||
@@ -2810,14 +2813,16 @@ echo "$ac_t""$libc_cv_z_nodelete" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z nodlopen option""... $ac_c" 1>&6
|
||||
echo "configure:2814: checking for -z nodlopen option" >&5
|
||||
echo "configure:2817: checking for -z nodlopen option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_nodlopen'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_nodlopen=yes
|
||||
else
|
||||
@@ -2830,14 +2835,16 @@ echo "$ac_t""$libc_cv_z_nodlopen" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z initfirst option""... $ac_c" 1>&6
|
||||
echo "configure:2834: checking for -z initfirst option" >&5
|
||||
echo "configure:2839: checking for -z initfirst option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_initfirst'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_z_initfirst=yes
|
||||
else
|
||||
@@ -2850,14 +2857,14 @@ echo "$ac_t""$libc_cv_z_initfirst" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -Bgroup option""... $ac_c" 1>&6
|
||||
echo "configure:2854: checking for -Bgroup option" >&5
|
||||
echo "configure:2861: checking for -Bgroup option" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_Bgroup'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
libc_cv_Bgroup=yes
|
||||
else
|
||||
@@ -2870,14 +2877,17 @@ echo "$ac_t""$libc_cv_Bgroup" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking for -z combreloc""... $ac_c" 1>&6
|
||||
echo "configure:2874: checking for -z combreloc" >&5
|
||||
echo "configure:2881: checking for -z combreloc" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_z_combreloc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int foo (void) { return 0; }
|
||||
extern int bar (void);
|
||||
int foo (void) { return bar (); }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-z,combreloc 1>&5'; { (eval echo configure:2881: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostdlib -nostartfiles
|
||||
-Wl,-z,combreloc 1>&5'; { (eval echo configure:2891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
|
||||
libc_cv_z_combreloc=yes
|
||||
@@ -2902,12 +2912,12 @@ fi
|
||||
|
||||
if test $elf != yes; then
|
||||
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
|
||||
echo "configure:2906: checking for .init and .fini sections" >&5
|
||||
echo "configure:2916: checking for .init and .fini sections" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2911 "configure"
|
||||
#line 2921 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@@ -2916,7 +2926,7 @@ asm (".section .init");
|
||||
asm ("${libc_cv_dot_text}");
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_have_initfini=yes
|
||||
else
|
||||
@@ -2939,7 +2949,7 @@ fi
|
||||
|
||||
if test $elf = yes -a $gnu_ld = yes; then
|
||||
echo $ac_n "checking whether cc puts quotes around section names""... $ac_c" 1>&6
|
||||
echo "configure:2943: checking whether cc puts quotes around section names" >&5
|
||||
echo "configure:2953: checking whether cc puts quotes around section names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_have_section_quotes'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -2976,19 +2986,19 @@ if test $elf = yes; then
|
||||
else
|
||||
if test $ac_cv_prog_cc_works = yes; then
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:2980: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:2990: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2985 "configure"
|
||||
#line 2995 "configure"
|
||||
#include "confdefs.h"
|
||||
asm ("_glibc_foobar:");
|
||||
int main() {
|
||||
glibc_foobar ();
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
else
|
||||
@@ -3003,17 +3013,17 @@ fi
|
||||
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
|
||||
else
|
||||
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
|
||||
echo "configure:3007: checking for _ prefix on C symbol names" >&5
|
||||
echo "configure:3017: checking for _ prefix on C symbol names" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3012 "configure"
|
||||
#line 3022 "configure"
|
||||
#include "confdefs.h"
|
||||
void underscore_test(void) {
|
||||
return; }
|
||||
EOF
|
||||
if { (eval echo configure:3017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3027: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if grep _underscore_test conftest* >/dev/null; then
|
||||
rm -f conftest*
|
||||
libc_cv_asm_underscores=yes
|
||||
@@ -3045,7 +3055,7 @@ if test $elf = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
|
||||
echo "configure:3049: checking for assembler .weak directive" >&5
|
||||
echo "configure:3059: checking for assembler .weak directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3068,7 +3078,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
|
||||
|
||||
if test $libc_cv_asm_weak_directive = no; then
|
||||
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
|
||||
echo "configure:3072: checking for assembler .weakext directive" >&5
|
||||
echo "configure:3082: checking for assembler .weakext directive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3115,14 +3125,14 @@ EOF
|
||||
;;
|
||||
hppa*linux*)
|
||||
echo $ac_n "checking for assembler line separator""... $ac_c" 1>&6
|
||||
echo "configure:3119: checking for assembler line separator" >&5
|
||||
echo "configure:3129: checking for assembler line separator" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_asm_line_sep'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.s <<EOF
|
||||
nop ; is_old_puffin
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3136: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_asm_line_sep='!'
|
||||
else
|
||||
if test -z "$enable_hacker_mode"; then
|
||||
@@ -3144,7 +3154,7 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
|
||||
echo "configure:3148: checking for ld --no-whole-archive" >&5
|
||||
echo "configure:3158: checking for ld --no-whole-archive" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3155,7 +3165,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -Wl,--no-whole-archive
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3159: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_ld_no_whole_archive=yes
|
||||
else
|
||||
libc_cv_ld_no_whole_archive=no
|
||||
@@ -3169,7 +3179,7 @@ if test $libc_cv_ld_no_whole_archive = yes; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6
|
||||
echo "configure:3173: checking for gcc -fexceptions" >&5
|
||||
echo "configure:3183: checking for gcc -fexceptions" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3180,7 +3190,7 @@ __throw () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS
|
||||
-nostdlib -nostartfiles -fexceptions
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3184: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c 1>&5'; { (eval echo configure:3194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_exceptions=yes
|
||||
else
|
||||
libc_cv_gcc_exceptions=no
|
||||
@@ -3195,14 +3205,14 @@ fi
|
||||
|
||||
if test "$base_machine" = alpha ; then
|
||||
echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
|
||||
echo "configure:3199: checking for function ..ng prefix" >&5
|
||||
echo "configure:3209: checking for function ..ng prefix" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<\EOF
|
||||
foo () { }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
|
||||
then
|
||||
libc_cv_gcc_alpha_ng_prefix=yes
|
||||
else
|
||||
@@ -3229,19 +3239,19 @@ if test "$host_cpu" = powerpc ; then
|
||||
# Check for a bug present in at least versions 2.8.x of GCC
|
||||
# and versions 1.0.x of EGCS.
|
||||
echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
|
||||
echo "configure:3233: checking whether clobbering cr0 causes problems" >&5
|
||||
echo "configure:3243: checking whether clobbering cr0 causes problems" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3238 "configure"
|
||||
#line 3248 "configure"
|
||||
#include "confdefs.h"
|
||||
int tester(int x) { asm ("" : : : "cc"); return x & 123; }
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
libc_cv_c_asmcr0_bug='no'
|
||||
else
|
||||
@@ -3263,12 +3273,12 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
|
||||
echo "configure:3267: checking for DWARF2 unwind info support" >&5
|
||||
echo "configure:3277: checking for DWARF2 unwind info support" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3272 "configure"
|
||||
#line 3282 "configure"
|
||||
static char __EH_FRAME_BEGIN__;
|
||||
_start ()
|
||||
{
|
||||
@@ -3295,7 +3305,7 @@ __bzero () {}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3299: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=static
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
@@ -3303,7 +3313,7 @@ fi
|
||||
if test $libc_cv_gcc_dwarf2_unwind_info = no; then
|
||||
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
|
||||
-nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_dwarf2_unwind_info=yes
|
||||
else
|
||||
libc_cv_gcc_dwarf2_unwind_info=no
|
||||
@@ -3333,12 +3343,12 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6
|
||||
echo "configure:3337: checking for __builtin_expect" >&5
|
||||
echo "configure:3347: checking for __builtin_expect" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3342 "configure"
|
||||
#line 3352 "configure"
|
||||
int foo (int a)
|
||||
{
|
||||
a = __builtin_expect (a, 10);
|
||||
@@ -3346,7 +3356,7 @@ int foo (int a)
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3350: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_builtin_expect=yes
|
||||
else
|
||||
libc_cv_gcc_builtin_expect=no
|
||||
@@ -3363,12 +3373,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for local label subtraction""... $ac_c" 1>&6
|
||||
echo "configure:3367: checking for local label subtraction" >&5
|
||||
echo "configure:3377: checking for local label subtraction" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_gcc_subtract_local_labels'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#line 3372 "configure"
|
||||
#line 3382 "configure"
|
||||
int foo (int a)
|
||||
{
|
||||
static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
|
||||
@@ -3381,7 +3391,7 @@ int foo (int a)
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
-o conftest conftest.c -lgcc >&5'; { (eval echo configure:3395: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||
libc_cv_gcc_subtract_local_labels=yes
|
||||
else
|
||||
libc_cv_gcc_subtract_local_labels=no
|
||||
@@ -3398,7 +3408,7 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for libgd""... $ac_c" 1>&6
|
||||
echo "configure:3402: checking for libgd" >&5
|
||||
echo "configure:3412: checking for libgd" >&5
|
||||
if test "$with_gd" != "no"; then
|
||||
old_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $libgd_include"
|
||||
@@ -3407,14 +3417,14 @@ if test "$with_gd" != "no"; then
|
||||
old_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lgd -lpng -lz -lm"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3411 "configure"
|
||||
#line 3421 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <gd.h>
|
||||
int main() {
|
||||
gdImagePng (0, 0)
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
LIBGD=yes
|
||||
else
|
||||
@@ -3434,7 +3444,7 @@ echo "$ac_t""$LIBGD" 1>&6
|
||||
|
||||
|
||||
echo $ac_n "checking size of long double""... $ac_c" 1>&6
|
||||
echo "configure:3438: checking size of long double" >&5
|
||||
echo "configure:3448: checking size of long double" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3442,18 +3452,18 @@ else
|
||||
ac_cv_sizeof_long_double=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3446 "configure"
|
||||
#line 3456 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
main()
|
||||
{
|
||||
FILE *f=fopen("conftestval", "w");
|
||||
if (!f) return(1);
|
||||
if (!f) exit(1);
|
||||
fprintf(f, "%d\n", sizeof(long double));
|
||||
return(0);
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:3457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:3467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_sizeof_long_double=`cat conftestval`
|
||||
else
|
||||
@@ -3531,7 +3541,7 @@ if test "$uname" = "sysdeps/generic"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
|
||||
echo "configure:3535: checking OS release for uname" >&5
|
||||
echo "configure:3545: checking OS release for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3553,7 +3563,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
|
||||
uname_release="$libc_cv_uname_release"
|
||||
|
||||
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
|
||||
echo "configure:3557: checking OS version for uname" >&5
|
||||
echo "configure:3567: checking OS version for uname" >&5
|
||||
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3575,7 +3585,7 @@ else
|
||||
fi
|
||||
|
||||
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
|
||||
echo "configure:3579: checking stdio selection" >&5
|
||||
echo "configure:3589: checking stdio selection" >&5
|
||||
|
||||
case $stdio in
|
||||
libio) cat >> confdefs.h <<\EOF
|
||||
@@ -3589,7 +3599,7 @@ echo "$ac_t""$stdio" 1>&6
|
||||
# Test for old glibc 2.0.x headers so that they can be removed properly
|
||||
# Search only in includedir.
|
||||
echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6
|
||||
echo "configure:3593: checking for old glibc 2.0.x headers" >&5
|
||||
echo "configure:3603: checking for old glibc 2.0.x headers" >&5
|
||||
if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
|
||||
then
|
||||
old_glibc_headers=yes
|
||||
@@ -3650,7 +3660,7 @@ if test $shared = default; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
|
||||
echo "configure:3654: checking whether -fPIC is default" >&5
|
||||
echo "configure:3664: checking whether -fPIC is default" >&5
|
||||
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@@ -3827,6 +3837,7 @@ s%@includedir@%$includedir%g
|
||||
s%@oldincludedir@%$oldincludedir%g
|
||||
s%@infodir@%$infodir%g
|
||||
s%@mandir@%$mandir%g
|
||||
s%@with_fp@%$with_fp%g
|
||||
s%@with_cvs@%$with_cvs%g
|
||||
s%@oldest_abi@%$oldest_abi%g
|
||||
s%@subdirs@%$subdirs%g
|
||||
|
||||
+15
-5
@@ -59,6 +59,7 @@ dnl Arguments to specify presence of other packages/features.
|
||||
AC_ARG_WITH(fp, dnl
|
||||
[ --with-fp if using floating-point hardware [default=yes]],
|
||||
with_fp=$withval, with_fp=yes)
|
||||
AC_SUBST(with_fp)
|
||||
AC_ARG_WITH(binutils, dnl
|
||||
--with-binutils=PATH specify location of binutils (as and ld),
|
||||
path_binutils=$withval, path_binutils='')
|
||||
@@ -998,7 +999,9 @@ EOF
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,nodelete 1>&AC_FD_CC])
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodelete 1>&AC_FD_CC])
|
||||
then
|
||||
libc_cv_z_nodelete=yes
|
||||
else
|
||||
@@ -1012,7 +1015,9 @@ EOF
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,nodlopen 1>&AC_FD_CC])
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,nodlopen 1>&AC_FD_CC])
|
||||
then
|
||||
libc_cv_z_nodlopen=yes
|
||||
else
|
||||
@@ -1026,7 +1031,9 @@ EOF
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 42; }
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,--enable-new-dtags,-z,initfirst 1>&AC_FD_CC])
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostartfiles -nostdlib
|
||||
-Wl,--enable-new-dtags,-z,initfirst 1>&AC_FD_CC])
|
||||
then
|
||||
libc_cv_z_initfirst=yes
|
||||
else
|
||||
@@ -1052,9 +1059,12 @@ EOF
|
||||
AC_CACHE_CHECK(for -z combreloc,
|
||||
libc_cv_z_combreloc, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
int foo (void) { return 0; }
|
||||
extern int bar (void);
|
||||
int foo (void) { return bar (); }
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-z,combreloc 1>&AC_FD_CC])
|
||||
if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
|
||||
-nostdlib -nostartfiles
|
||||
-Wl,-z,combreloc 1>&AC_FD_CC])
|
||||
then
|
||||
dnl The following test is a bit weak. We must use a tool which can test
|
||||
dnl cross-platform since the gcc used can be a cross compiler. Without
|
||||
|
||||
+24
-10
@@ -1,6 +1,6 @@
|
||||
/* Functions to compute MD5 message digest of files or memory blocks.
|
||||
according to the definition of MD5 in RFC 1321 from April 1992.
|
||||
Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995,1996,1997,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
|
||||
@@ -217,8 +217,6 @@ md5_process_bytes (buffer, len, ctx)
|
||||
size_t len;
|
||||
struct md5_ctx *ctx;
|
||||
{
|
||||
//const void aligned_buffer = buffer;
|
||||
|
||||
/* When we already have some bits in our internal buffer concatenate
|
||||
both inputs first. */
|
||||
if (ctx->buflen != 0)
|
||||
@@ -226,9 +224,6 @@ md5_process_bytes (buffer, len, ctx)
|
||||
size_t left_over = ctx->buflen;
|
||||
size_t add = 128 - left_over > len ? len : 128 - left_over;
|
||||
|
||||
/* Only put full words in the buffer. */
|
||||
add -= add % __alignof__ (md5_uint32);
|
||||
|
||||
memcpy (&ctx->buffer[left_over], buffer, add);
|
||||
ctx->buflen += add;
|
||||
|
||||
@@ -247,11 +242,30 @@ md5_process_bytes (buffer, len, ctx)
|
||||
}
|
||||
|
||||
/* Process available complete blocks. */
|
||||
if (len > 64)
|
||||
if (len >= 64)
|
||||
{
|
||||
md5_process_block (buffer, len & ~63, ctx);
|
||||
buffer = (const char *) buffer + (len & ~63);
|
||||
len &= 63;
|
||||
#if !_STRING_ARCH_unaligned
|
||||
/* To check alignment gcc has an appropriate operator. Other
|
||||
compilers don't. */
|
||||
# if __GNUC__ >= 2
|
||||
# define UNALIGNED_P(p) (((md5_uintptr) p) % __alignof__ (md5_uint32) != 0)
|
||||
# else
|
||||
# define UNALIGNED_P(p) (((md5_uintptr) p) % sizeof (md5_uint32) != 0)
|
||||
# endif
|
||||
if (UNALIGNED_P (buffer))
|
||||
while (len > 64)
|
||||
{
|
||||
md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx);
|
||||
buffer = (const char *) buffer + 64;
|
||||
len -= 64;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
md5_process_block (buffer, len & ~63, ctx);
|
||||
buffer = (const char *) buffer + (len & ~63);
|
||||
len &= 63;
|
||||
}
|
||||
}
|
||||
|
||||
/* Move remaining bytes in internal buffer. */
|
||||
|
||||
+7
-3
@@ -1,6 +1,6 @@
|
||||
/* Declaration of functions and data types used for MD5 sum computing
|
||||
library functions.
|
||||
Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995,1996,1997,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
|
||||
@@ -35,8 +35,9 @@
|
||||
is usually not possible. */
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <sys/types.h>
|
||||
typedef u_int32_t md5_uint32;
|
||||
# include <stdint.h>
|
||||
typedef uint32_t md5_uint32;
|
||||
typedef uintptr_t md5_uintptr;
|
||||
#else
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define UINT_MAX_32_BITS 4294967295U
|
||||
@@ -68,6 +69,9 @@ typedef u_int32_t md5_uint32;
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
/* We have to make a guess about the integer type equivalent in size
|
||||
to pointers which should always be correct. */
|
||||
typedef unsigned long int md5_uintptr;
|
||||
#endif
|
||||
|
||||
#undef __P
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1992-2001, 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
|
||||
@@ -24,7 +24,7 @@ static const char __libc_version[] = VERSION;
|
||||
|
||||
static const char banner[] =
|
||||
"GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
|
||||
Copyright (C) 1992-1999, 2000, 2001 Free Software Foundation, Inc.\n\
|
||||
Copyright (C) 1992-2001, 2002 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\
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#! @BASH@
|
||||
# Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
# Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
|
||||
|
||||
@@ -53,7 +53,7 @@ Report bugs using the \`glibcbug' script to <bugs@gnu.org>."
|
||||
|
||||
do_version() {
|
||||
echo 'xtrace (GNU libc) @VERSION@'
|
||||
echo $"Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
echo $"Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Written by Ulrich Drepper."
|
||||
|
||||
+8
-4
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1995-1999, 2000, 2001, 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
|
||||
@@ -62,13 +62,17 @@ distribute := $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
|
||||
neededobj5.c neededobj6.c firstobj.c \
|
||||
unload2mod.c unload2dep.c ltglobmod1.c ltglobmod2.c \
|
||||
testobj.h vismod.h globalmod1.c \
|
||||
dblloadmod1.c dblloadmod2.c dblloadmod3.c
|
||||
dblloadmod1.c dblloadmod2.c dblloadmod3.c \
|
||||
reldep6mod4.c reldep6mod3.c reldep6mod2.c reldep6mod1.c \
|
||||
reldep6mod0.c \
|
||||
unwind-dw2.c unwind-dw2-fde.c unwind.h unwind-pe.h \
|
||||
unwind-dw2-fde.h dwarf2.h
|
||||
|
||||
include ../Makeconfig
|
||||
|
||||
ifeq ($(unwind-find-fde),yes)
|
||||
routines += unwind-dw2-fde
|
||||
shared-only-routines = unwind-dw2-fde
|
||||
routines += unwind-dw2-fde-glibc
|
||||
shared-only-routines = unwind-dw2-fde-glibc
|
||||
endif
|
||||
|
||||
before-compile = $(objpfx)trusted-dirs.h
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ libc {
|
||||
dl_iterate_phdr;
|
||||
}
|
||||
%ifdef EXPORT_UNWIND_FIND_FDE
|
||||
GLIBC_2.2.5 {
|
||||
GCC_3.0 {
|
||||
__register_frame_info_bases; __deregister_frame_info_bases;
|
||||
__register_frame_info_table_bases; _Unwind_Find_FDE;
|
||||
}
|
||||
|
||||
@@ -560,6 +560,7 @@ typedef struct
|
||||
#define PT_TLS 7 /* Thread-local storage segment */
|
||||
#define PT_NUM 8 /* Number of defined types */
|
||||
#define PT_LOOS 0x60000000 /* Start of OS-specific */
|
||||
#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
|
||||
#define PT_HIOS 0x6fffffff /* End of OS-specific */
|
||||
#define PT_LOPROC 0x70000000 /* Start of processor-specific */
|
||||
#define PT_HIPROC 0x7fffffff /* End of processor-specific */
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Andreas Jaeger <aj@suse.de>, 1999.
|
||||
|
||||
@@ -260,7 +260,7 @@ print_version (FILE *stream, struct argp_state *state)
|
||||
Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"), "2001");
|
||||
"), "2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"),
|
||||
"Andreas Jaeger");
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#! @BASH@
|
||||
# Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2001, 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
|
||||
@@ -36,7 +36,7 @@ while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--vers | --versi | --versio | --version)
|
||||
echo 'ldd (GNU libc) @VERSION@'
|
||||
echo $"Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
echo $"Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
Written by Roland McGrath and Ulrich Drepper."
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Read and display shared object profiling data.
|
||||
Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@@ -351,7 +351,7 @@ Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"),
|
||||
"2001");
|
||||
"2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
|
||||
}
|
||||
|
||||
|
||||
+6
-1
@@ -136,8 +136,13 @@ libc {
|
||||
hurd_directory_name_split;
|
||||
}
|
||||
GLIBC_2.2.5 {
|
||||
# This always existed as an inline but the real function never exported.
|
||||
# These always existed as inlines but the real functions were not exported.
|
||||
__hurd_fail;
|
||||
_hurd_self_sigstate;
|
||||
|
||||
# Same for these "quasi-internal" functions
|
||||
_hurd_port_init;
|
||||
_hurd_port_set;
|
||||
|
||||
# internal symbols used by other libraries (e.g. librt)
|
||||
_hurd_raise_signal;
|
||||
|
||||
+4
-1
@@ -61,13 +61,16 @@ __hurd_fail (error_t err)
|
||||
case KERN_NO_SPACE:
|
||||
err = ENOMEM;
|
||||
break;
|
||||
|
||||
case KERN_INVALID_ARGUMENT:
|
||||
err = EINVAL;
|
||||
break;
|
||||
|
||||
case 0:
|
||||
return 0;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
errno = err;
|
||||
@@ -79,7 +82,7 @@ __hurd_fail (error_t err)
|
||||
extern int _hurd_exec_flags; /* Flags word passed in exec_startup. */
|
||||
extern struct hurd_port *_hurd_ports;
|
||||
extern unsigned int _hurd_nports;
|
||||
extern volatile mode_t _hurd_umask;
|
||||
extern mode_t _hurd_umask;
|
||||
extern sigset_t _hurdsig_traced;
|
||||
|
||||
/* Shorthand macro for internal library code referencing _hurd_ports (see
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Convert text in given files from the specified from-set to the to-set.
|
||||
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||
|
||||
@@ -398,7 +398,7 @@ print_version (FILE *stream, struct argp_state *state)
|
||||
Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"), "2001");
|
||||
"), "2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/* Generate fastloading iconv module configuration files.
|
||||
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
|
||||
|
||||
@@ -336,7 +336,7 @@ print_version (FILE *stream, struct argp_state *state)
|
||||
Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"), "2001");
|
||||
"), "2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
|
||||
}
|
||||
|
||||
|
||||
@@ -277,14 +277,6 @@
|
||||
#define __GLIBC_PREREQ(maj, min) \
|
||||
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
||||
|
||||
/* Decide whether a compiler supports the long long datatypes. */
|
||||
#if defined __GNUC__ \
|
||||
|| (defined __PGI && defined __i386__ ) \
|
||||
|| (defined __INTEL_COMPILER && (defined __i386__ || defined __ia64__)) \
|
||||
|| (defined __STDC_VERSION && __STDC_VERSION >= 199901L)
|
||||
# define __GLIBC_HAVE_LONG_LONG 1
|
||||
#endif
|
||||
|
||||
/* This is here only because every header file already includes this one. */
|
||||
#ifndef __ASSEMBLER__
|
||||
# ifndef _SYS_CDEFS_H
|
||||
|
||||
+6
-21
@@ -296,7 +296,7 @@ static const short yycheck[] = { 1,
|
||||
#define YYPURE 1
|
||||
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line 3 "/usr/share/bison.simple"
|
||||
#line 3 "/usr/lib/bison.simple"
|
||||
/* This file comes from bison-1.28. */
|
||||
|
||||
/* Skeleton output parser for bison,
|
||||
@@ -327,11 +327,6 @@ static const short yycheck[] = { 1,
|
||||
It was written by Richard Stallman by simplifying the hairy parser
|
||||
used when %semantic_parser is specified. */
|
||||
|
||||
#ifndef YYPARSE_RETURN_TYPE
|
||||
#define YYPARSE_RETURN_TYPE int
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
#ifdef alloca
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
@@ -515,7 +510,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#line 222 "/usr/share/bison.simple"
|
||||
#line 217 "/usr/lib/bison.simple"
|
||||
|
||||
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
|
||||
into yyparse. The argument should have type void *.
|
||||
@@ -539,15 +534,13 @@ __yy_memcpy (char *to, char *from, unsigned int count)
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
#ifdef YYPARSE_PARAM
|
||||
YYPARSE_RETURN_TYPE
|
||||
yyparse (void *);
|
||||
int yyparse (void *);
|
||||
#else
|
||||
YYPARSE_RETURN_TYPE
|
||||
yyparse (void);
|
||||
int yyparse (void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
YYPARSE_RETURN_TYPE
|
||||
int
|
||||
yyparse(YYPARSE_PARAM_ARG)
|
||||
YYPARSE_PARAM_DECL
|
||||
{
|
||||
@@ -575,9 +568,7 @@ yyparse(YYPARSE_PARAM_ARG)
|
||||
#endif
|
||||
|
||||
int yystacksize = YYINITDEPTH;
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
int yyfree_stacks = 0;
|
||||
#endif
|
||||
|
||||
#ifdef YYPURE
|
||||
int yychar;
|
||||
@@ -662,7 +653,6 @@ yynewstate:
|
||||
if (yystacksize >= YYMAXDEPTH)
|
||||
{
|
||||
yyerror("parser stack overflow");
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
@@ -671,7 +661,6 @@ yynewstate:
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
return 2;
|
||||
}
|
||||
yystacksize *= 2;
|
||||
@@ -926,7 +915,7 @@ case 12:
|
||||
break;}
|
||||
}
|
||||
/* the action file gets copied in in place of this dollarsign */
|
||||
#line 554 "/usr/share/bison.simple"
|
||||
#line 543 "/usr/lib/bison.simple"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
@@ -1124,7 +1113,6 @@ yyerrhandle:
|
||||
|
||||
yyacceptlab:
|
||||
/* YYACCEPT comes here. */
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
@@ -1133,12 +1121,10 @@ yyerrhandle:
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
|
||||
yyabortlab:
|
||||
/* YYABORT comes here. */
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
@@ -1147,7 +1133,6 @@ yyerrhandle:
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
#line 226 "plural.y"
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
#define YYPARSE_PARAM arg
|
||||
%}
|
||||
%pure_parser
|
||||
%expect 10
|
||||
%expect 7
|
||||
|
||||
%union {
|
||||
unsigned long int num;
|
||||
|
||||
@@ -473,6 +473,9 @@ ftw_startup (const char *dir, int is_nftw, void *func, int descriptors,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (__access (dir, R_OK) != 0)
|
||||
return -1;
|
||||
|
||||
data.maxdir = descriptors < 1 ? 1 : descriptors;
|
||||
data.actdir = 0;
|
||||
data.dirstreams = (struct dir_data **) alloca (data.maxdir
|
||||
|
||||
+17
-5
@@ -784,7 +784,7 @@ _IO_get_column (fp)
|
||||
|
||||
|
||||
int
|
||||
_IO_flush_all ()
|
||||
_IO_flush_all_lockp (int do_lock)
|
||||
{
|
||||
int result = 0;
|
||||
struct _IO_FILE *fp;
|
||||
@@ -792,7 +792,8 @@ _IO_flush_all ()
|
||||
|
||||
#ifdef _IO_MTSAFE_IO
|
||||
_IO_cleanup_region_start_noarg (flush_cleanup);
|
||||
_IO_lock_lock (list_all_lock);
|
||||
if (do_lock)
|
||||
_IO_lock_lock (list_all_lock);
|
||||
#endif
|
||||
|
||||
last_stamp = _IO_list_all_stamp;
|
||||
@@ -800,7 +801,8 @@ _IO_flush_all ()
|
||||
while (fp != NULL)
|
||||
{
|
||||
run_fp = fp;
|
||||
_IO_flockfile (fp);
|
||||
if (do_lock)
|
||||
_IO_flockfile (fp);
|
||||
|
||||
if (((fp->_mode <= 0 && fp->_IO_write_ptr > fp->_IO_write_base)
|
||||
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
|
||||
@@ -812,7 +814,8 @@ _IO_flush_all ()
|
||||
&& _IO_OVERFLOW (fp, EOF) == EOF)
|
||||
result = EOF;
|
||||
|
||||
_IO_funlockfile (fp);
|
||||
if (do_lock)
|
||||
_IO_funlockfile (fp);
|
||||
run_fp = NULL;
|
||||
|
||||
if (last_stamp != _IO_list_all_stamp)
|
||||
@@ -826,13 +829,22 @@ _IO_flush_all ()
|
||||
}
|
||||
|
||||
#ifdef _IO_MTSAFE_IO
|
||||
_IO_lock_unlock (list_all_lock);
|
||||
if (do_lock)
|
||||
_IO_lock_unlock (list_all_lock);
|
||||
_IO_cleanup_region_end (0);
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
_IO_flush_all ()
|
||||
{
|
||||
/* We want locking. */
|
||||
return _IO_flush_all_lockp (1);
|
||||
}
|
||||
|
||||
void
|
||||
_IO_flush_all_linebuffered ()
|
||||
{
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993,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
|
||||
@@ -426,6 +426,7 @@ extern int _IO_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
|
||||
extern int _IO_new_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
|
||||
extern int _IO_old_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
|
||||
extern int _IO_wdo_write __P ((_IO_FILE *, const wchar_t *, _IO_size_t));
|
||||
extern int _IO_flush_all_lockp __P ((int));
|
||||
extern int _IO_flush_all __P ((void));
|
||||
extern int _IO_cleanup __P ((void));
|
||||
extern void _IO_flush_all_linebuffered __P ((void));
|
||||
|
||||
@@ -1,3 +1,75 @@
|
||||
2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define.
|
||||
(CURRENT_STACK_FRAME): Remove duplicate definition.
|
||||
* sysdeps/s390/s390-64/pt-machine.h: Likewise.
|
||||
|
||||
2002-01-14 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
|
||||
* Makefile (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent
|
||||
automatic inline.
|
||||
|
||||
2002-01-11 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* signals.c (sighandler): Initialize all elements to SIG_ERR.
|
||||
(__sigaction): Don't use value from sighandler if it is SIG_ERR.
|
||||
|
||||
2002-01-06 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* sysdeps/alpha/elf/pt-initfini.c: New file.
|
||||
|
||||
2001-11-29 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/x86_64/pt-machine.h: Use %gs as thread specific
|
||||
register.
|
||||
(THREAD_SELF): New.
|
||||
(INIT_THREAD_SELF): New.
|
||||
(THREAD_GETMEM): New.
|
||||
(THREAD_GETMEM_NC):
|
||||
(THREAD_SETMEM): New.
|
||||
(THREAD_SETMEM_NC): New.
|
||||
(FLOATING_STACKS): Define.
|
||||
(ARCH_STACK_MAX_SIZE): Define.
|
||||
|
||||
2001-12-13 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* specific.c (pthread_key_delete): Don't contact the thread
|
||||
manager if no threads have been created yet.
|
||||
|
||||
2001-11-30 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check
|
||||
that self is the manager thread, and initialize the thread
|
||||
register if not.
|
||||
(thread_self_stack) [THREAD_SELF]: New function to find self via
|
||||
stack pointer.
|
||||
|
||||
2001-11-28 Kaz Kylheku <kaz@ashi.footprints.net>
|
||||
|
||||
Bugfix to pthread_key_delete. It was iterating over the thread
|
||||
manager's linked list of threads, behind the thread manager's
|
||||
back causing a race. The fix is to have the manager iterate over
|
||||
the threads instead, using a new request type for doing so.
|
||||
* internals.h (struct pthread_request): New manager request type
|
||||
REQ_FOR_EACH_THREAD.
|
||||
* manager.c (pthread_for_each_thread): New function.
|
||||
(__pthread_manager): Handle new REQ_FOR_EACH_THREAD request.
|
||||
* specific.c (struct pthread_key_delete_helper_args): New type.
|
||||
(pthread_key_delete_helper): New static function.
|
||||
(pthread_key_delete): Use the new thread manager
|
||||
REQ_FOR_EACH_THREAD function to iterate over the threads and set
|
||||
the delete key slot to a null value in each thread.
|
||||
* Examples/ex18.c: New test.
|
||||
* Makefile (tests): Add ex18.
|
||||
|
||||
2001-11-22 Wolfram Gloger <wg@malloc.de>
|
||||
|
||||
* pthread.c (pthread_onexit_process): Don't call free
|
||||
after threads have been asynchronously terminated.
|
||||
|
||||
* manager.c (pthread_handle_exit): Surround cancellation
|
||||
of threads with __flockfilelist()/__funlockfilelist().
|
||||
|
||||
2001-11-15 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/i386/i686/Implies: Removed.
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Beat up the pthread_key_create and pthread_key_delete
|
||||
* functions.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#define CHATTY
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <pthread.h>
|
||||
|
||||
const int beatup_iterations = 10000;
|
||||
const int num_threads = 30;
|
||||
const int max_keys = 500;
|
||||
|
||||
struct key_list {
|
||||
struct key_list *next;
|
||||
pthread_key_t key;
|
||||
};
|
||||
|
||||
struct key_list *key_list;
|
||||
pthread_mutex_t key_lock = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
/*
|
||||
* Create a new key and put it at the tail of a linked list.
|
||||
* If the linked list grows to a certain length, delete a key from the
|
||||
* head of * the list.
|
||||
*/
|
||||
|
||||
static void
|
||||
beat_up(void)
|
||||
{
|
||||
struct key_list *new = malloc(sizeof *new);
|
||||
struct key_list **iter, *old_key = 0;
|
||||
int key_count = 0;
|
||||
|
||||
if (new == 0) {
|
||||
fprintf(stderr, "malloc failed\n");
|
||||
abort();
|
||||
}
|
||||
|
||||
new->next = 0;
|
||||
|
||||
if (pthread_key_create(&new->key, 0) != 0) {
|
||||
fprintf(stderr, "pthread_key_create failed\n");
|
||||
abort();
|
||||
}
|
||||
|
||||
if (pthread_getspecific(new->key) != 0) {
|
||||
fprintf(stderr, "new pthread_key_t resolves to non-null value\n");
|
||||
abort();
|
||||
}
|
||||
|
||||
pthread_setspecific(new->key, (void *) 1);
|
||||
|
||||
#ifdef CHATTY
|
||||
printf("created key\n");
|
||||
#endif
|
||||
|
||||
pthread_mutex_lock(&key_lock);
|
||||
|
||||
for (iter = &key_list; *iter != 0; iter = &(*iter)->next)
|
||||
key_count++;
|
||||
|
||||
*iter = new;
|
||||
|
||||
if (key_count > max_keys) {
|
||||
old_key = key_list;
|
||||
key_list = key_list->next;
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&key_lock);
|
||||
|
||||
if (old_key != 0) {
|
||||
#ifdef CHATTY
|
||||
printf("deleting key\n");
|
||||
#endif
|
||||
pthread_key_delete(old_key->key);
|
||||
}
|
||||
}
|
||||
|
||||
static void *
|
||||
thread(void *arg)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < beatup_iterations; i++)
|
||||
beat_up();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
int i;
|
||||
pthread_attr_t detached_thread;
|
||||
|
||||
pthread_attr_init(&detached_thread);
|
||||
pthread_attr_setdetachstate(&detached_thread, PTHREAD_CREATE_DETACHED);
|
||||
|
||||
for (i = 0; i < num_threads; i++) {
|
||||
pthread_t thread_id;
|
||||
while (pthread_create(&thread_id, &detached_thread, thread, 0) == EAGAIN) {
|
||||
/* let some threads die, so system can breathe. :) */
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
pthread_exit(0);
|
||||
}
|
||||
@@ -46,7 +46,7 @@ LDFLAGS-pthread.so = $(nodelete-$(have-z-nodelete)) \
|
||||
vpath %.c Examples
|
||||
|
||||
tst-cancel-ARGS = "$(objpfx)"
|
||||
CFLAGS-tst-cancel.c = -fno-inline
|
||||
CFLAGS-tst-cancel.c = -fno-inline -fno-inline-functions
|
||||
|
||||
include ../Makeconfig
|
||||
|
||||
@@ -60,7 +60,7 @@ endif
|
||||
librt-tests = ex10 ex11
|
||||
tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 $(librt-tests) ex12 ex13 joinrace \
|
||||
tststack $(tests-nodelete-$(have-z-nodelete)) ecmutex ex14 ex15 ex16 \
|
||||
ex17 tst-cancel tst-context
|
||||
ex17 ex18 tst-cancel tst-context
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
tests-nodelete-yes = unload
|
||||
|
||||
@@ -208,7 +208,7 @@ struct pthread_request {
|
||||
pthread_descr req_thread; /* Thread doing the request */
|
||||
enum { /* Request kind */
|
||||
REQ_CREATE, REQ_FREE, REQ_PROCESS_EXIT, REQ_MAIN_THREAD_EXIT,
|
||||
REQ_POST, REQ_DEBUG, REQ_KICK
|
||||
REQ_POST, REQ_DEBUG, REQ_KICK, REQ_FOR_EACH_THREAD
|
||||
} req_kind;
|
||||
union { /* Arguments for request */
|
||||
struct { /* For REQ_CREATE: */
|
||||
@@ -224,6 +224,10 @@ struct pthread_request {
|
||||
int code; /* exit status */
|
||||
} exit;
|
||||
void * post; /* For REQ_POST: the semaphore */
|
||||
struct { /* For REQ_FOR_EACH_THREAD: callback */
|
||||
void (*fn)(void *, pthread_descr);
|
||||
void *arg;
|
||||
} for_each;
|
||||
} req_args;
|
||||
};
|
||||
|
||||
|
||||
@@ -100,6 +100,8 @@ static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
|
||||
__attribute__ ((noreturn));
|
||||
static void pthread_reap_children(void);
|
||||
static void pthread_kill_all_threads(int sig, int main_thread_also);
|
||||
static void pthread_for_each_thread(void *arg,
|
||||
void (*fn)(void *, pthread_descr));
|
||||
|
||||
/* The server thread managing requests for thread creation and termination */
|
||||
|
||||
@@ -211,6 +213,11 @@ __pthread_manager(void *arg)
|
||||
/* This is just a prod to get the manager to reap some
|
||||
threads right away, avoiding a potential delay at shutdown. */
|
||||
break;
|
||||
case REQ_FOR_EACH_THREAD:
|
||||
pthread_for_each_thread(request.req_args.for_each.arg,
|
||||
request.req_args.for_each.fn);
|
||||
restart(request.req_thread);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -886,6 +893,20 @@ static void pthread_kill_all_threads(int sig, int main_thread_also)
|
||||
}
|
||||
}
|
||||
|
||||
static void pthread_for_each_thread(void *arg,
|
||||
void (*fn)(void *, pthread_descr))
|
||||
{
|
||||
pthread_descr th;
|
||||
|
||||
for (th = __pthread_main_thread->p_nextlive;
|
||||
th != __pthread_main_thread;
|
||||
th = th->p_nextlive) {
|
||||
fn(arg, th);
|
||||
}
|
||||
|
||||
fn(arg, __pthread_main_thread);
|
||||
}
|
||||
|
||||
/* Process-wide exit() */
|
||||
|
||||
static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
|
||||
@@ -893,6 +914,12 @@ static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
|
||||
pthread_descr th;
|
||||
__pthread_exit_requested = 1;
|
||||
__pthread_exit_code = exitcode;
|
||||
/* A forced asynchronous cancellation follows. Make sure we won't
|
||||
get stuck later in the main thread with a system lock being held
|
||||
by one of the cancelled threads. Ideally one would use the same
|
||||
code as in pthread_atfork(), but we can't distinguish system and
|
||||
user handlers there. */
|
||||
__flockfilelist();
|
||||
/* Send the CANCEL signal to all running threads, including the main
|
||||
thread, but excluding the thread from which the exit request originated
|
||||
(that thread must complete the exit, e.g. calling atexit functions
|
||||
@@ -909,6 +936,7 @@ static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
|
||||
th = th->p_nextlive) {
|
||||
waitpid(th->p_pid, NULL, __WCLONE);
|
||||
}
|
||||
__fresetlockfiles();
|
||||
restart(issuing_thread);
|
||||
_exit(0);
|
||||
}
|
||||
|
||||
+39
-4
@@ -709,7 +709,7 @@ int pthread_equal(pthread_t thread1, pthread_t thread2)
|
||||
|
||||
#ifndef THREAD_SELF
|
||||
|
||||
pthread_descr __pthread_find_self()
|
||||
pthread_descr __pthread_find_self(void)
|
||||
{
|
||||
char * sp = CURRENT_STACK_FRAME;
|
||||
pthread_handle h;
|
||||
@@ -721,6 +721,21 @@ pthread_descr __pthread_find_self()
|
||||
return h->h_descr;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static pthread_descr thread_self_stack(void)
|
||||
{
|
||||
char *sp = CURRENT_STACK_FRAME;
|
||||
pthread_handle h;
|
||||
|
||||
if (sp >= __pthread_manager_thread_bos && sp < __pthread_manager_thread_tos)
|
||||
return &__pthread_manager_thread;
|
||||
h = __pthread_handles + 2;
|
||||
while (! (sp <= (char *) h->h_descr && sp >= h->h_bottom))
|
||||
h++;
|
||||
return h->h_descr;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Thread scheduling */
|
||||
@@ -769,7 +784,7 @@ int pthread_getschedparam(pthread_t thread, int *policy,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __pthread_yield ()
|
||||
int __pthread_yield (void)
|
||||
{
|
||||
/* For now this is equivalent with the POSIX call. */
|
||||
return sched_yield ();
|
||||
@@ -795,7 +810,9 @@ static void pthread_onexit_process(int retcode, void *arg)
|
||||
if (self == __pthread_main_thread)
|
||||
{
|
||||
waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE);
|
||||
free (__pthread_manager_thread_bos);
|
||||
/* Since all threads have been asynchronously terminated
|
||||
(possibly holding locks), free cannot be used any more. */
|
||||
/*free (__pthread_manager_thread_bos);*/
|
||||
__pthread_manager_thread_bos = __pthread_manager_thread_tos = NULL;
|
||||
}
|
||||
}
|
||||
@@ -839,8 +856,26 @@ static void pthread_handle_sigcancel(int sig)
|
||||
|
||||
if (self == &__pthread_manager_thread)
|
||||
{
|
||||
#ifdef THREAD_SELF
|
||||
/* A new thread might get a cancel signal before it is fully
|
||||
initialized, so that the thread register might still point to the
|
||||
manager thread. Double check that this is really the manager
|
||||
thread. */
|
||||
pthread_descr real_self = thread_self_stack();
|
||||
if (real_self == &__pthread_manager_thread)
|
||||
{
|
||||
__pthread_manager_sighandler(sig);
|
||||
return;
|
||||
}
|
||||
/* Oops, thread_self() isn't working yet.. */
|
||||
self = real_self;
|
||||
# ifdef INIT_THREAD_SELF
|
||||
INIT_THREAD_SELF(self, self->p_nr);
|
||||
# endif
|
||||
#else
|
||||
__pthread_manager_sighandler(sig);
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
if (__builtin_expect (__pthread_exit_requested, 0)) {
|
||||
/* Main thread should accumulate times for thread manager and its
|
||||
@@ -882,7 +917,7 @@ static void pthread_handle_sigdebug(int sig)
|
||||
Notice that we can't free the stack segments, as the forked thread
|
||||
may hold pointers into them. */
|
||||
|
||||
void __pthread_reset_main_thread()
|
||||
void __pthread_reset_main_thread(void)
|
||||
{
|
||||
pthread_descr self = thread_self();
|
||||
struct rlimit limit;
|
||||
|
||||
@@ -74,7 +74,7 @@ static union
|
||||
{
|
||||
arch_sighandler_t old;
|
||||
void (*rt) (int, struct siginfo *, struct ucontext *);
|
||||
} sighandler[NSIG];
|
||||
} sighandler[NSIG] = { [1 ... NSIG - 1] = { (arch_sighandler_t) SIG_ERR } };
|
||||
|
||||
/* The wrapper around user-provided signal handlers */
|
||||
static void pthread_sighandler(int signo, SIGCONTEXT ctx)
|
||||
@@ -157,10 +157,14 @@ int __sigaction(int sig, const struct sigaction * act,
|
||||
return -1;
|
||||
if (sig > 0 && sig < NSIG)
|
||||
{
|
||||
if (oact != NULL)
|
||||
if (oact != NULL
|
||||
/* We may have inherited SIG_IGN from the parent, so return the
|
||||
kernel's idea of the signal handler the first time
|
||||
through. */
|
||||
&& (__sighandler_t) sighandler[sig].old != SIG_ERR)
|
||||
oact->sa_handler = (__sighandler_t) sighandler[sig].old;
|
||||
if (act)
|
||||
/* For the assignment is does not matter whether it's a normal
|
||||
/* For the assignment it does not matter whether it's a normal
|
||||
or real-time signal. */
|
||||
sighandler[sig].old = (arch_sighandler_t) act->sa_handler;
|
||||
}
|
||||
|
||||
+52
-17
@@ -20,6 +20,7 @@
|
||||
#include "pthread.h"
|
||||
#include "internals.h"
|
||||
#include "spinlock.h"
|
||||
#include "restart.h"
|
||||
#include <bits/libc-lock.h>
|
||||
|
||||
|
||||
@@ -58,13 +59,38 @@ int __pthread_key_create(pthread_key_t * key, destr_function destr)
|
||||
}
|
||||
strong_alias (__pthread_key_create, pthread_key_create)
|
||||
|
||||
/* Delete a key */
|
||||
/* Reset deleted key's value to NULL in each live thread.
|
||||
* NOTE: this executes in the context of the thread manager! */
|
||||
|
||||
struct pthread_key_delete_helper_args {
|
||||
/* Damn, we need lexical closures in C! ;) */
|
||||
unsigned int idx1st, idx2nd;
|
||||
pthread_descr self;
|
||||
};
|
||||
|
||||
static void pthread_key_delete_helper(void *arg, pthread_descr th)
|
||||
{
|
||||
struct pthread_key_delete_helper_args *args = arg;
|
||||
unsigned int idx1st = args->idx1st;
|
||||
unsigned int idx2nd = args->idx2nd;
|
||||
pthread_descr self = args->self;
|
||||
|
||||
if (self == 0)
|
||||
self = args->self = thread_self();
|
||||
|
||||
if (!th->p_terminated) {
|
||||
/* pthread_exit() may try to free th->p_specific[idx1st] concurrently. */
|
||||
__pthread_lock(THREAD_GETMEM(th, p_lock), self);
|
||||
if (th->p_specific[idx1st] != NULL)
|
||||
th->p_specific[idx1st][idx2nd] = NULL;
|
||||
__pthread_unlock(THREAD_GETMEM(th, p_lock));
|
||||
}
|
||||
}
|
||||
|
||||
/* Delete a key */
|
||||
int pthread_key_delete(pthread_key_t key)
|
||||
{
|
||||
pthread_descr self = thread_self();
|
||||
pthread_descr th;
|
||||
unsigned int idx1st, idx2nd;
|
||||
|
||||
pthread_mutex_lock(&pthread_keys_mutex);
|
||||
if (key >= PTHREAD_KEYS_MAX || !pthread_keys[key].in_use) {
|
||||
@@ -73,23 +99,32 @@ int pthread_key_delete(pthread_key_t key)
|
||||
}
|
||||
pthread_keys[key].in_use = 0;
|
||||
pthread_keys[key].destr = NULL;
|
||||
|
||||
/* Set the value of the key to NULL in all running threads, so
|
||||
that if the key is reallocated later by pthread_key_create, its
|
||||
associated values will be NULL in all threads. */
|
||||
idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
th = self;
|
||||
do {
|
||||
/* If the thread already is terminated don't modify the memory. */
|
||||
if (!th->p_terminated) {
|
||||
/* pthread_exit() may try to free th->p_specific[idx1st] concurrently. */
|
||||
__pthread_lock(THREAD_GETMEM(th, p_lock), self);
|
||||
if (th->p_specific[idx1st] != NULL)
|
||||
th->p_specific[idx1st][idx2nd] = NULL;
|
||||
__pthread_unlock(THREAD_GETMEM(th, p_lock));
|
||||
associated values will be NULL in all threads.
|
||||
|
||||
Do nothing if no threads have been created yet. */
|
||||
|
||||
if (__pthread_manager_request != -1)
|
||||
{
|
||||
struct pthread_key_delete_helper_args args;
|
||||
struct pthread_request request;
|
||||
|
||||
args.idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE;
|
||||
args.self = 0;
|
||||
|
||||
request.req_thread = self;
|
||||
request.req_kind = REQ_FOR_EACH_THREAD;
|
||||
request.req_args.for_each.arg = &args;
|
||||
request.req_args.for_each.fn = pthread_key_delete_helper;
|
||||
|
||||
TEMP_FAILURE_RETRY(__libc_write(__pthread_manager_request,
|
||||
(char *) &request, sizeof(request)));
|
||||
suspend(self);
|
||||
}
|
||||
th = th->p_nextlive;
|
||||
} while (th != self);
|
||||
|
||||
pthread_mutex_unlock(&pthread_keys_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
/* Special .init and .fini section support for Alpha. Linuxthreads 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. */
|
||||
|
||||
/* This file is compiled into assembly code which is then munged by a sed
|
||||
script into two files: crti.s and crtn.s.
|
||||
|
||||
* crti.s puts a function prologue at the beginning of the .init and .fini
|
||||
sections and defines global symbols for those addresses, so they can be
|
||||
called as functions.
|
||||
|
||||
* crtn.s puts the corresponding function epilogues in the .init and .fini
|
||||
sections.
|
||||
|
||||
This differs from what would be generated by the generic code in that
|
||||
we save and restore the GP within the function. In order for linker
|
||||
relaxation to work, the value in the GP register on exit from a function
|
||||
must be valid for the function entry point. Normally, a function is
|
||||
contained within one object file and this is not an issue, provided
|
||||
that the function reloads the gp after making any function calls.
|
||||
However, _init and _fini are constructed from pieces of many object
|
||||
files, all of which may have different GP values. So we must reload
|
||||
the GP value from crti.o in crtn.o. */
|
||||
|
||||
__asm__ ("
|
||||
|
||||
#include \"defs.h\"
|
||||
|
||||
/*@HEADER_ENDS*/
|
||||
|
||||
/*@_init_PROLOG_BEGINS*/
|
||||
.section .init, \"ax\", @progbits
|
||||
.globl _init
|
||||
.ent _init
|
||||
_init:
|
||||
ldgp $29, 0($27)
|
||||
subq $30, 16, $30
|
||||
lda $27, __pthread_initialize_minimal
|
||||
stq $26, 0($30)
|
||||
stq $29, 8($30)
|
||||
.prologue 1
|
||||
jsr $26, ($27), __pthread_initialize_minimal
|
||||
ldq $29, 8($30)
|
||||
.align 3
|
||||
.end _init
|
||||
.size _init, 0
|
||||
/*@_init_PROLOG_ENDS*/
|
||||
|
||||
/*@_init_EPILOG_BEGINS*/
|
||||
.section .init, \"ax\", @progbits
|
||||
ldq $26, 0($30)
|
||||
ldq $29, 8($30)
|
||||
addq $30, 16, $30
|
||||
ret
|
||||
/*@_init_EPILOG_ENDS*/
|
||||
|
||||
/*@_fini_PROLOG_BEGINS*/
|
||||
.section .fini, \"ax\", @progbits
|
||||
.globl _fini
|
||||
.ent _fini
|
||||
_fini:
|
||||
ldgp $29, 0($27)
|
||||
subq $30, 16, $30
|
||||
stq $26, 0($30)
|
||||
stq $29, 8($30)
|
||||
.prologue 1
|
||||
.align 3
|
||||
.end _fini
|
||||
.size _fini, 0
|
||||
/*@_fini_PROLOG_ENDS*/
|
||||
|
||||
/*@_fini_EPILOG_BEGINS*/
|
||||
.section .fini, \"ax\", @progbits
|
||||
ldq $26, 0($30)
|
||||
ldq $29, 8($30)
|
||||
addq $30, 16, $30
|
||||
ret
|
||||
/*@_fini_EPILOG_ENDS*/
|
||||
|
||||
/*@TRAILER_BEGINS*/
|
||||
");
|
||||
@@ -23,6 +23,11 @@
|
||||
# define PT_EI extern inline
|
||||
#endif
|
||||
|
||||
/* For multiprocessor systems, we want to ensure all memory accesses
|
||||
are completed before we reset a lock. On other systems, we still
|
||||
need to make sure that the compiler has flushed everything to memory. */
|
||||
#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
|
||||
|
||||
/* Spinlock implementation; required. */
|
||||
PT_EI long int
|
||||
testandset (int *spinlock)
|
||||
@@ -94,9 +99,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
|
||||
return retval == 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Get some notion of the current stack. Need not be exactly the top
|
||||
of the stack, just something somewhere in the current frame. */
|
||||
#define CURRENT_STACK_FRAME stack_pointer
|
||||
register char * stack_pointer __asm__ ("%r15");
|
||||
|
||||
@@ -23,6 +23,11 @@
|
||||
# define PT_EI extern inline
|
||||
#endif
|
||||
|
||||
/* For multiprocessor systems, we want to ensure all memory accesses
|
||||
are completed before we reset a lock. On other systems, we still
|
||||
need to make sure that the compiler has flushed everything to memory. */
|
||||
#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
|
||||
|
||||
/* Spinlock implementation; required. */
|
||||
PT_EI long int
|
||||
testandset (int *spinlock)
|
||||
@@ -99,9 +104,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
|
||||
return retval == 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Get some notion of the current stack. Need not be exactly the top
|
||||
of the stack, just something somewhere in the current frame. */
|
||||
#define CURRENT_STACK_FRAME stack_pointer
|
||||
register char * stack_pointer __asm__ ("%r15");
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <stddef.h> /* For offsetof. */
|
||||
#include <stdlib.h> /* For abort(). */
|
||||
#include <asm/prctl.h>
|
||||
|
||||
|
||||
#ifndef PT_EI
|
||||
# define PT_EI extern inline
|
||||
#endif
|
||||
@@ -59,3 +64,147 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
|
||||
: "memory");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* Return the thread descriptor for the current thread.
|
||||
|
||||
The contained asm must *not* be marked volatile since otherwise
|
||||
assignments like
|
||||
pthread_descr self = thread_self();
|
||||
do not get optimized away. */
|
||||
#define THREAD_SELF \
|
||||
({ \
|
||||
register pthread_descr __self; \
|
||||
__asm__ ("movq %%gs:%c1,%0" : "=r" (__self) \
|
||||
: "i" (offsetof (struct _pthread_descr_struct, \
|
||||
p_header.data.self))); \
|
||||
__self; \
|
||||
})
|
||||
|
||||
/* Prototype for the system call. */
|
||||
extern int __arch_prctl (int __code, unsigned long __addr);
|
||||
|
||||
/* Initialize the thread-unique value. */
|
||||
#define INIT_THREAD_SELF(descr, nr) \
|
||||
{ \
|
||||
if (__arch_prctl (ARCH_SET_GS, descr) != 0) \
|
||||
abort (); \
|
||||
}
|
||||
|
||||
/* Read member of the thread descriptor directly. */
|
||||
#define THREAD_GETMEM(descr, member) \
|
||||
({ \
|
||||
__typeof__ (descr->member) __value; \
|
||||
if (sizeof (__value) == 1) \
|
||||
__asm__ __volatile__ ("movb %%gs:%P2,%b0" \
|
||||
: "=q" (__value) \
|
||||
: "0" (0), \
|
||||
"i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else if (sizeof (__value) == 4) \
|
||||
__asm__ __volatile__ ("movl %%gs:%P1,%0" \
|
||||
: "=r" (__value) \
|
||||
: "i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else \
|
||||
{ \
|
||||
if (sizeof (__value) != 8) \
|
||||
/* There should not be any value with a size other than 1, 4 or 8. */\
|
||||
abort (); \
|
||||
\
|
||||
__asm__ __volatile__ ("movq %%gs:%P1,%0" \
|
||||
: "=r" (__value) \
|
||||
: "i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
} \
|
||||
__value; \
|
||||
})
|
||||
|
||||
/* Same as THREAD_GETMEM, but the member offset can be non-constant. */
|
||||
#define THREAD_GETMEM_NC(descr, member) \
|
||||
({ \
|
||||
__typeof__ (descr->member) __value; \
|
||||
if (sizeof (__value) == 1) \
|
||||
__asm__ __volatile__ ("movb %%gs:(%2),%b0" \
|
||||
: "=q" (__value) \
|
||||
: "0" (0), \
|
||||
"r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else if (sizeof (__value) == 4) \
|
||||
__asm__ __volatile__ ("movl %%gs:(%1),%0" \
|
||||
: "=r" (__value) \
|
||||
: "r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else \
|
||||
{ \
|
||||
if (sizeof (__value) != 8) \
|
||||
/* There should not be any value with a size other than 1, 4 or 8. */\
|
||||
abort (); \
|
||||
\
|
||||
__asm__ __volatile__ ("movq %%gs:(%1),%0" \
|
||||
: "=r" (__value) \
|
||||
: "r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
} \
|
||||
__value; \
|
||||
})
|
||||
|
||||
/* Set member of the thread descriptor directly. */
|
||||
#define THREAD_SETMEM(descr, member, value) \
|
||||
({ \
|
||||
__typeof__ (descr->member) __value = (value); \
|
||||
if (sizeof (__value) == 1) \
|
||||
__asm__ __volatile__ ("movb %0,%%gs:%P1" : \
|
||||
: "q" (__value), \
|
||||
"i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else if (sizeof (__value) == 4) \
|
||||
__asm__ __volatile__ ("movl %0,%%gs:%P1" : \
|
||||
: "r" (__value), \
|
||||
"i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else \
|
||||
{ \
|
||||
if (sizeof (__value) != 8) \
|
||||
/* There should not be any value with a size other than 1, 4 or 8. */\
|
||||
abort (); \
|
||||
\
|
||||
__asm__ __volatile__ ("movq %0,%%gs:%P1" : \
|
||||
: "r" (__value), \
|
||||
"i" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Same as THREAD_SETMEM, but the member offset can be non-constant. */
|
||||
#define THREAD_SETMEM_NC(descr, member, value) \
|
||||
({ \
|
||||
__typeof__ (descr->member) __value = (value); \
|
||||
if (sizeof (__value) == 1) \
|
||||
__asm__ __volatile__ ("movb %0,%%gs:(%1)" : \
|
||||
: "q" (__value), \
|
||||
"r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else if (sizeof (__value) == 4) \
|
||||
__asm__ __volatile__ ("movl %0,%%gs:(%1)" : \
|
||||
: "r" (__value), \
|
||||
"r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
else \
|
||||
{ \
|
||||
if (sizeof (__value) != 8) \
|
||||
/* There should not be any value with a size other than 1, 4 or 8. */\
|
||||
abort (); \
|
||||
\
|
||||
__asm__ __volatile__ ("movq %0,%%gs:(%1)" : \
|
||||
: "r" (__value), \
|
||||
"r" (offsetof (struct _pthread_descr_struct, \
|
||||
member))); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* We want the OS to assign stack addresses. */
|
||||
#define FLOATING_STACKS 1
|
||||
|
||||
/* Maximum size of the stack if the rlimit is unlimited. */
|
||||
#define ARCH_STACK_MAX_SIZE 32*1024*1024
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Implementation of the locale program according to POSIX 9945-2.
|
||||
Copyright (C) 1995-1997, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1997,1999,2000,2001,2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
|
||||
@@ -282,7 +282,7 @@ print_version (FILE *stream, struct argp_state *state)
|
||||
Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
"), "2001");
|
||||
"), "2002");
|
||||
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user