Compare commits

...
Author SHA1 Message Date
Ulrich Drepper 7d04edce92 (distribute): Filter out xmalloc.c. 2002-01-21 07:14:56 +00:00
Ulrich Drepper 95a647ed2a (nscd-modules): Add xmalloc for nscd. 2002-01-18 16:11:44 +00:00
Andreas Schwab 5bb25c8ae7 . 2002-01-18 13:07:24 +00:00
Andreas Schwab e2bd0a6c89 (libc_cv_gcc_unwind_find_fde): Set for m68k, too. 2002-01-18 13:07:12 +00:00
Ulrich Drepper 869d9c5141 Update. 2002-01-18 06:05:57 +00:00
Ulrich Drepper c5072acd09 Update to Apple's latest definition. 2002-01-18 06:02:23 +00:00
Ulrich Drepper 02f53c8dc2 Update. 2002-01-18 02:16:26 +00:00
Ulrich Drepper 7c9433a638 (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.
2002-01-18 02:13:47 +00:00
Ulrich Drepper bc30e47e7a (drop_privileges): Removed. Adjust caller. 2002-01-18 02:13:18 +00:00
Ulrich Drepper 82a2eb4574 Update. 2002-01-17 23:16:03 +00:00
Ulrich Drepper 2d243804a2 Use 64 bit instructions for pointer operations. 2002-01-17 22:57:59 +00:00
Andreas Jaeger 8c4dbc4101 Update. 2002-01-17 17:37:52 +00:00
Andreas Jaeger a84562fa98 GCC 3.1 has __uint128_t build-in. 2002-01-17 17:37:40 +00:00
Andreas Jaeger a974878164 Update. 2002-01-17 17:20:55 +00:00
Andreas Jaeger 8881b13276 * sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and PowerPC. 2002-01-17 17:20:03 +00:00
Ulrich Drepper 64137de321 Update copyright year. 2002-01-17 07:48:56 +00:00
Ulrich Drepper 798d48f6bb Update. 2002-01-17 07:48:08 +00:00
Ulrich Drepper 941bc057b7 Update. 2002-01-17 06:48:39 +00:00
Ulrich Drepper 310970c627 Fix regexp to reliably remove "-ia64" from rtld name. 2002-01-17 06:44:55 +00:00
Ulrich Drepper fa831e8f1c Update. 2002-01-17 00:47:26 +00:00
Ulrich Drepper 541e0e9620 swapcontext implementation for S390. 2002-01-17 00:46:11 +00:00
Ulrich Drepper 268090dfe7 We need different files for 32 and 64 bits. 2002-01-17 00:44:15 +00:00
Ulrich Drepper 53e010438b (MEMORY_BARRIER): Define.
(CURRENT_STACK_FRAME): Remove duplicate definition.
2002-01-17 00:41:15 +00:00
Ulrich Drepper c573730a9e Update. 2002-01-17 00:29:02 +00:00
Ulrich Drepper b413ec9cec (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent automatic inline. 2002-01-17 00:27:17 +00:00
Ulrich Drepper 7d6736e2a1 Update. 2002-01-12 01:44:29 +00:00
Ulrich Drepper 3c8d17cb7e Regenerated: autoconf sysdeps/unix/sysv/linux/configure.in 2002-01-12 01:43:16 +00:00
Ulrich Drepper ac4ddec1ba Add framestate. 2002-01-12 01:42:50 +00:00
Ulrich Drepper 44662670eb s390-64 specific profile counter definitions. 2002-01-12 01:42:33 +00:00
Ulrich Drepper a710437e19 s390-32 specific profile counter definitions. 2002-01-12 01:42:17 +00:00
Ulrich Drepper 49b0393f42 Need different versions for 31 and 64 bit machines. 2002-01-12 01:41:23 +00:00
Ulrich Drepper 93a6348b16 (__brk): Correct inline assembly contraints. 2002-01-12 01:40:40 +00:00
Ulrich Drepper 6dee5db02d (libc_cv_gcc_unwind_find_fde): Set for s390 and s390x architectures. 2002-01-12 01:40:17 +00:00
Ulrich Drepper 0d9ab59d7d (sighandler): Initialize all elements to SIG_ERR.
(__sigaction): Don't use value from sighandler if it is SIG_ERR.
2002-01-12 01:36:39 +00:00
Ulrich Drepper f5844ac743 Update. 2002-01-11 01:08:06 +00:00
Ulrich Drepper ffd03ced90 (__ieee754_sqrt): Don't use multi-line string literals.
(__full_ieee754_sqrt): Add __attribute_used__.
2002-01-11 01:03:31 +00:00
Ulrich Drepper 5128ccc6e5 (__group_member): Also check groups[0]. 2002-01-11 01:02:18 +00:00
Roland McGrath f66582f9a3 . 2002-01-09 04:18:05 +00:00
Roland McGrath cff42af517 2001-12-02 Roland McGrath <roland@frob.com>
* mach/Makefile, mach/Machrules: Move comments out of \ continuations.
	* 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-09 04:16:57 +00:00
Roland McGrath c9db034125 2001-12-02 Roland McGrath <roland@frob.com>
* 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>.
2002-01-09 04:16:50 +00:00
Ulrich Drepper fb0f5abcb4 Update. 2002-01-08 21:44:30 +00:00
Ulrich Drepper 3ba9028cc2 (distribute): Add scripts/cpp. 2002-01-08 21:43:50 +00:00
Ulrich Drepper f0768965d9 Update. 2002-01-08 21:40:06 +00:00
Ulrich Drepper 86c251e322 (distribute): Add unwind-dw2.c, unwind-dw2-fde.c, unwind.h,
unwind-pe.h, unwind-dw2-fde.h, and dwarf2.h.
2002-01-08 21:38:17 +00:00
Ulrich Drepper bee8401f6f Add ldd-rewrite.sed. 2002-01-08 21:37:02 +00:00
Ulrich Drepper d2c4f682c0 Add sysv_termio.h and start-libc.c. 2002-01-08 21:34:59 +00:00
Ulrich Drepper c0357983b9 Additional files to distribute for 4.4BSD. 2002-01-08 21:33:26 +00:00
Ulrich Drepper df1d0eccb5 (distribute): Add reldep6mod[01234].c. 2002-01-08 21:29:23 +00:00
Roland McGrath be40bcfc41 . 2002-01-08 19:55:03 +00:00
Roland McGrath ce12c9ffa2 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 19:54:56 +00:00
Ulrich Drepper 2583fed138 Remade for stable-2.2.5 2002-01-08 18:27:14 +00:00
Ulrich Drepper 5542c99714 Update. 2002-01-08 18:23:10 +00:00
Ulrich Drepper 5fe7a63b3b (VERSION): Bump to 2.2.5. 2002-01-08 18:21:33 +00:00
Andreas Jaeger 8d0b03ef4f Update. 2002-01-08 10:21:59 +00:00
Andreas Jaeger d99126e6ef Prevent double inclusion. 2002-01-08 10:20:28 +00:00
Ulrich Drepper ee17edd4f0 /usr/bin/bison --yacc --name-prefix=__gettext --output plural.c plural.y 2002-01-08 07:59:21 +00:00
Ulrich Drepper d2f6944a4e Update. 2002-01-08 07:06:12 +00:00
Ulrich Drepper 1a3ba8474a Fix %expect count. 2002-01-08 06:34:34 +00:00
Ulrich Drepper 9a9f9d5437 Update. 2002-01-08 06:31:23 +00:00
Ulrich Drepper 03f7b19e08 (execute_cfa_program): Fix DW_CFA_restore handling. 2002-01-08 06:30:43 +00:00
Ulrich Drepper a608efe0cb (__register_frame_info_bases): Optimize if .eh_frame section contains no FDEs.
(__register_frame, __deregister_frame_info_bases, __deregister_frame): Likewise.
2002-01-08 06:30:23 +00:00
Ulrich Drepper dedaac22e2 Special unwind code for glibc-gcc interoperability. 2002-01-08 06:29:53 +00:00
Ulrich Drepper 84c35e470d (PT_GNU_EH_FRAME): Define. 2002-01-08 06:28:21 +00:00
Ulrich Drepper 8606d85bec (routines, shared-only-routines): Add unwind-dw2-fde-glibc instead of
unwind-dw2-fde.
2002-01-08 06:27:47 +00:00
Ulrich Drepper e02d1093d8 Update. 2002-01-07 23:06:48 +00:00
Ulrich Drepper a4d330a080 New version with correct collation. 2002-01-07 23:05:18 +00:00
Ulrich Drepper c5fe9c8290 Special init/fini sections for Alpha when using linuxthreads. 2002-01-07 23:02:48 +00:00
Ulrich Drepper 68ce44fc51 Update. 2001-12-31 17:48:09 +00:00
Ulrich Drepper 8c45ca8978 Update. 2001-12-31 17:46:05 +00:00
Ulrich Drepper 106be30c1e (getloadavg): Always use C locale to parse /proc/loadavg. 2001-12-31 17:44:02 +00:00
Roland McGrath c667bf7076 . 2001-12-22 20:53:05 +00:00
Roland McGrath 6011e00f5f 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.
2001-12-22 20:51:27 +00:00
Roland McGrath a0f7df65c9 typo 2001-12-22 20:38:06 +00:00
Roland McGrath e2df7aa004 . 2001-12-22 20:19:00 +00:00
Roland McGrath 78a297b441 2001-12-22 Roland McGrath <roland@frob.com>
* mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy.
	* hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set
	and __hurd_self_sigstate.
2001-12-22 20:18:45 +00:00
Ulrich Drepper 34498bb0ac Update. 2001-12-19 00:21:56 +00:00
Ulrich Drepper 71614e31fb (clone): Subtract stack bias from child stack pointer before passing it to
clone syscall.
2001-12-19 00:21:31 +00:00
Ulrich Drepper 2ad1cb8bcc Update. 2001-12-14 18:14:55 +00:00
Ulrich Drepper 5482e79195 Define md5_uintptr. 2001-12-14 18:14:05 +00:00
Andreas Jaeger d46d6ca3db Merge from mainline. 2001-12-14 15:56:38 +00:00
Ulrich Drepper 7efcf66997 Update. 2001-12-14 07:15:50 +00:00
Ulrich Drepper b004df7ec3 (process_string_arg): Correctly handle zero precision with wide character
string format.
2001-12-14 07:15:10 +00:00
Ulrich Drepper 64e1abb5ad Update. 2001-12-14 07:03:26 +00:00
Ulrich Drepper 261e312c01 (cuserid): If we don't find the UID, but have a user supplied buffer, return
the empty buffer, not NULL.
2001-12-14 07:02:32 +00:00
Ulrich Drepper 0153375730 (pthread_key_delete): Don't contact the thread manager if no threads have
been created yet.
2001-12-14 06:47:35 +00:00
Ulrich Drepper 02906308e3 Update. 2001-12-14 06:36:45 +00:00
Ulrich Drepper 3453e1a343 (md5_process_bytes): Correct handling of alignment. 2001-12-14 06:34:47 +00:00
Ulrich Drepper 4317c6b0dc Update. 2001-12-13 03:58:16 +00:00
Ulrich Drepper 524b7b508b Update. 2001-12-13 03:42:49 +00:00
Ulrich Drepper 4969a35170 (__nis_findfastest_with_timeout): Mostly the code
from __nis_findfastest.  Take timeout value from parameter.
(__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly.
2001-12-13 03:40:30 +00:00
Ulrich Drepper 02647f687d Define parameters controlling __nis_findfastest. 2001-12-13 03:39:53 +00:00
Ulrich Drepper f13c308111 Update from translation team. 2001-12-12 23:48:22 +00:00
Andreas Jaeger b6cf1bf099 * configure.in: Use -nostartfiles -nostdlib for linker tests, fix
combreloc test so that it works in this case.
2001-12-12 18:45:27 +00:00
Ulrich Drepper 043f810f6a Update. 2001-12-12 17:35:31 +00:00
Ulrich Drepper f6602cfe6b (getanswer_r): Remove MAX_NR_ADDRS limitation. 2001-12-12 07:33:39 +00:00
Roland McGrath 83e0f2b953 2001-12-10 Roland McGrath <roland@frob.com>
* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default
	set to GLIBC_2.2.5, not GLIBC_2.2.4.
2001-12-11 05:06:54 +00:00
Roland McGrath 088af173bf 2001-12-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never
	set it.
2001-12-11 05:06:49 +00:00
Roland McGrath 8552c3e8be . 2001-12-11 05:04:39 +00:00
Roland McGrath 5ac9ff7020 . 2001-12-11 04:31:09 +00:00
Roland McGrath 8961b4b9a0 2001-12-10 Roland McGrath <roland@frob.com>
* 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-11 04:29:56 +00:00
Ulrich Drepper 7778045087 Update. 2001-12-10 23:55:44 +00:00
Ulrich Drepper 41ab4177b4 (glob): Return only pattern if nothing matches and GLOB_NOCHECK is set. 2001-12-10 23:54:18 +00:00
Ulrich Drepper f376f61121 Correct expected result for NOCHECK test. 2001-12-10 23:53:20 +00:00
Ulrich Drepper b11c6636a5 Update from translation team. 2001-12-10 23:52:46 +00:00
Ulrich Drepper 10b9b5ee59 (ftw_startup): Check, if the path is search and readable. 2001-12-10 23:51:23 +00:00
Ulrich Drepper 1798c0ef87 Update. 2001-12-06 08:11:54 +00:00
Ulrich Drepper 129893c5da (__register_frame_info_bases, __register_frame_info_table_bases,
__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0.
2001-12-06 08:10:06 +00:00
Ulrich Drepper 4d8abc5328 Make sure GLIBC_ versions come first. 2001-12-06 08:09:23 +00:00
Ulrich Drepper a8aa369cc8 (libc): Add GCC_3.0. 2001-12-06 08:08:59 +00:00
Ulrich Drepper 675fb2ff2c Update. 2001-12-05 22:35:21 +00:00
Ulrich Drepper 64a860f269 Rewrite. 2001-12-05 22:34:49 +00:00
Ulrich Drepper a592c67344 Update. 2001-12-05 18:56:19 +00:00
Ulrich Drepper f2fc51ea22 (__ieee754_remainder): Fix overflow problem. 2001-12-05 18:53:42 +00:00
Ulrich Drepper 3af64d740a Fix handling of turnaround times. 2001-12-05 18:53:04 +00:00
Roland McGrath 988cca3323 . 2001-12-02 00:11:26 +00:00
Roland McGrath 4da0c639d1 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 00:11:20 +00:00
Ulrich Drepper 9e7e6a7087 Update. 2001-11-30 21:18:12 +00:00
Ulrich Drepper 6eba7ecef6 (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-30 21:16:35 +00:00
Ulrich Drepper f4e82d00ed Update. 2001-11-29 21:56:26 +00:00
Ulrich Drepper a2bfb6272c Add new tests. 2001-11-29 21:55:31 +00:00
Ulrich Drepper f47a6ad7db (next_brace_sub): Return NULL if braces don't match, fix {{a,b},c} globbing,
clean up.
2001-11-29 21:55:01 +00:00
Ulrich Drepper a0323a1c8f Update. 2001-11-29 07:47:56 +00:00
Ulrich Drepper 3933755f8e (tests): Add ex18. 2001-11-29 07:46:55 +00:00
Ulrich Drepper 71911680d1 (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.
2001-11-29 07:45:41 +00:00
Ulrich Drepper 6e8db27d26 (pthread_for_each_thread): New function.
(__pthread_manager): Handle new REQ_FOR_EACH_THREAD request.
2001-11-29 07:45:19 +00:00
Ulrich Drepper b4d306553c (struct pthread_request): New manager request type REQ_FOR_EACH_THREAD. 2001-11-29 07:44:16 +00:00
Ulrich Drepper 27aff1c7cd Test for pthread_key_delete handling. 2001-11-29 07:43:31 +00:00
Ulrich Drepper 0507d5057d Update. 2001-11-28 23:38:04 +00:00
Ulrich Drepper 67675fdae9 (fflush): Define to _IO_flush_all_lockp(0) if libio is used. 2001-11-28 23:37:01 +00:00
Ulrich Drepper c31a29322f Add prototype for _IO_flush_all_lockp. 2001-11-28 23:36:43 +00:00
Ulrich Drepper baa468f104 (_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.
2001-11-28 23:36:24 +00:00
Ulrich Drepper ddd4311eee Update. 2001-11-28 22:32:36 +00:00
Ulrich Drepper 30d4dc2b3a (pthread_handle_exit): Surround cancellation of threads with
__flockfilelist()/__funlockfilelist().
2001-11-28 22:30:37 +00:00
Ulrich Drepper a906a464fc (pthread_onexit_process): Don't call free after threads have been
asynchronously terminated.
2001-11-28 22:30:04 +00:00
Ulrich Drepper 7ffb7f860d Update. 2001-11-28 21:13:52 +00:00
Ulrich Drepper c85587506e (__signbitf, __signbit, __signbitl): Only define for ISO C99. 2001-11-28 21:13:08 +00:00
Ulrich Drepper 75ec0fbe45 Update. 2001-11-28 20:21:43 +00:00
Ulrich Drepper 0d10e978af (_nss_files_get##name##_r): Set herrnop to NETDB_INTERNAL if we run out of
buffer space.
2001-11-28 20:21:09 +00:00
Ulrich Drepper df06960c2e Update. 2001-11-28 20:12:58 +00:00
Ulrich Drepper 1990c1b503 (internal_getent): Correct input overflow test for platforms with signed char. 2001-11-28 20:11:29 +00:00
Ulrich Drepper 4e4528973a Update. 2001-11-27 03:57:12 +00:00
Ulrich Drepper cd2dfc598a Define decimal point to '.' and thousands separator to ' '. 2001-11-27 03:52:27 +00:00
Ulrich Drepper e8c8c9c4a9 Update. 2001-11-27 03:49:31 +00:00
Ulrich Drepper 920a4016cc Swap 0xa5 and 0xab entries. 2001-11-27 03:45:16 +00:00
Ulrich Drepper 4837fac615 If incomplete nan of inf(inity) strings are found call conv_error and not
input_error.
2001-11-27 03:24:56 +00:00
Andreas Jaeger c753791496 Update. 2001-11-26 12:44:45 +00:00
Andreas Jaeger 9f2a264a97 Merge from mainline. 2001-11-26 12:44:35 +00:00
185 changed files with 3141 additions and 7750 deletions
+289 -13
View File
@@ -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.
+2 -2
View 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
+3 -1
View File
@@ -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 -1
View File
@@ -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.
+3
View File
@@ -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
-79
View File
@@ -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
View File
@@ -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
-37
View File
@@ -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
-64
View File
@@ -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
-14
View File
@@ -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;
-13
View File
@@ -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.
-75
View File
@@ -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 */
-37
View File
@@ -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)
-95
View File
@@ -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
View File
@@ -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)
-8
View File
@@ -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
-26
View File
@@ -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
-93
View File
@@ -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. */
-114
View File
@@ -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
-5
View File
@@ -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
View File
@@ -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 */
};
-131
View File
@@ -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 */
-52
View File
@@ -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 */
-4
View File
@@ -1,4 +0,0 @@
struct link_map_machine
{
/* empty by default */
};
-3
View File
@@ -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. */
-47
View File
@@ -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
-12
View File
@@ -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
View File
@@ -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
View File
@@ -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() */
};
-5
View File
@@ -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. */
-33
View File
@@ -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
View File
@@ -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. */
-2
View File
@@ -1,2 +0,0 @@
/* This file should define the POSIX options described in <unistd.h>,
or leave them undefined, as appropriate. */
-182
View File
@@ -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. */
};
-35
View File
@@ -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;
};
-35
View File
@@ -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
View File
@@ -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
-7
View File
@@ -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
View File
@@ -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 */
};
-78
View File
@@ -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. */
-33
View File
@@ -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
View File
@@ -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. */
-64
View File
@@ -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. */
-83
View File
@@ -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. */
-55
View File
@@ -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)
-35
View File
@@ -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 */
-40
View File
@@ -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
View File
@@ -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
View File
@@ -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
-70
View File
@@ -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
-84
View File
@@ -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
};
-48
View File
@@ -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 */
-12
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
};
-30
View File
@@ -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
View File
@@ -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. */
-25
View File
@@ -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
-27
View File
@@ -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. */
-104
View File
@@ -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
View File
@@ -1 +0,0 @@
#error "This file must be written based on the data type sizes of the target"
+2 -2
View File
@@ -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");
}
Vendored
+133 -122
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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");
}
-8
View File
@@ -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
View File
@@ -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
View File
@@ -41,7 +41,7 @@
#define YYPARSE_PARAM arg
%}
%pure_parser
%expect 10
%expect 7
%union {
unsigned long int num;
+3
View File
@@ -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
View File
@@ -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
View File
@@ -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));
+72
View File
@@ -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.
+112
View File
@@ -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);
}
+2 -2
View File
@@ -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
+5 -1
View File
@@ -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;
};
+28
View File
@@ -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
View File
@@ -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;
+7 -3
View File
@@ -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
View File
@@ -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");
+149
View File
@@ -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
+2 -2
View File
@@ -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