mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-30 10:45:40 +03:00 
			
		
		
		
	* sysdeps/generic/memcmp.c: Add prototype decls for internal fns. * locale/programs/locale.c: Include string.h. * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and sizeof(int)<sizeof(long), we need to go through a temporary variable. * locale/programs/ld-numeric.c: Include <alloca.h> * libio/stdio.h (__libc_fatal): Add prototype. * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is in efect. * libio/iopopen.c (read_or_write, parent_end, child_end): Declare volatile to avoid "might get clobbered by longjmp" warning. * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove. * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed. * sysdeps/unix/sysv/linux/alpha/start.S: Ditto. * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man to be Linux FSSTND compliant. Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO. * sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id to SYS_get?id so that syscall stubs in sysdeps/unix define these syscalls in terms of getxpid/getxuid/getxgid. * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S, sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h (PSEUDO_END): Rename END() to PSEUDO_END(). * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. (PSEUDO_END): New macro. * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S, sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. * sysdeps/unix/alpha/sysdep.S: Renamed from sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1 as well. * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return address register in the .frame directive. * sysdeps/alpha/copysign.c: Remove. * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. * errno.h: Move __END_DECLS to correct place to make file compilable under c++. * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define d_ino only if <direntry.h> hasn't defined d_fileno. * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of arguments to weakext to make .weakext detection work on ECOFF systems. * FAQ: Add Linux/Alpha to list of supported platforms. Mention that _validuser() has been replaced by __ivaliduser(). Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd as unsigned long, not as int (to avoid incorrect int->long promotion).
		
			
				
	
	
		
			180 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
 | |
| This file is part of the GNU C Library.
 | |
| 
 | |
| The GNU C Library is free software; you can redistribute it and/or
 | |
| modify it under the terms of the GNU Library General Public License as
 | |
| published by the Free Software Foundation; either version 2 of the
 | |
| License, or (at your option) any later version.
 | |
| 
 | |
| The GNU C Library is distributed in the hope that it will be useful,
 | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| Library General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU Library General Public
 | |
| License along with the GNU C Library; see the file COPYING.LIB.  If
 | |
| not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 | |
| Cambridge, MA 02139, USA.  */
 | |
| 
 | |
| #ifndef	_FEATURES_H
 | |
| 
 | |
| #define	_FEATURES_H	1
 | |
| 
 | |
| /* These are defined by the user (or the compiler)
 | |
|    to specify the desired environment:
 | |
| 
 | |
|    __STRICT_ANSI__	ANSI Standard C.
 | |
|    _POSIX_SOURCE	IEEE Std 1003.1.
 | |
|    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if ==2 add IEEE Std 1003.2.
 | |
|    _BSD_SOURCE		ANSI, POSIX, and 4.3BSD things.
 | |
|    _SVID_SOURCE		ANSI, POSIX, and SVID things.
 | |
|    _GNU_SOURCE		All of the above, plus GNU extensions.
 | |
| 
 | |
|    The `-ansi' switch to the GNU C compiler defines __STRICT_ANSI__.
 | |
|    If none of these are defined, the default is all but _GNU_SOURCE.
 | |
|    If more than one of these are defined, they accumulate.
 | |
|    For example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE
 | |
|    together give you ANSI C, 1003.1, and 1003.2, but nothing else.
 | |
| 
 | |
|    These are defined by this file and are used by the
 | |
|    header files to decide what to declare or define:
 | |
| 
 | |
|    __USE_POSIX		Define IEEE Std 1003.1 things.
 | |
|    __USE_POSIX2		Define IEEE Std 1003.2 things.
 | |
|    __USE_BSD		Define 4.3BSD things.
 | |
|    __USE_SVID		Define SVID things.
 | |
|    __USE_MISC		Define things common to BSD and System V Unix.
 | |
|    __USE_GNU		Define GNU extensions.
 | |
|    __USE_REENTRANT	Define reentrant/thread-safe *_r functions.
 | |
|    __FAVOR_BSD		Favor 4.3BSD things in cases of conflict.
 | |
| 
 | |
|    The macro `__GNU_LIBRARY__' is defined by this file unconditionally.
 | |
| 
 | |
|    All macros listed above as possibly being defined by this file are
 | |
|    explicitly undefined if they are not explicitly defined.
 | |
|    Feature-test macros that are not defined by the user or compiler
 | |
|    but are implied by the other feature-test macros defined (or by the
 | |
|    lack of any definitions) are defined by the file.  */
 | |
| 
 | |
| 
 | |
| /* Undefine everything, so we get a clean slate.  */
 | |
| #undef	__USE_POSIX
 | |
| #undef	__USE_POSIX2
 | |
| #undef	__USE_BSD
 | |
| #undef	__USE_SVID
 | |
| #undef	__USE_MISC
 | |
| #undef	__USE_GNU
 | |
| #undef	__USE_REENTRANT
 | |
| #undef	__FAVOR_BSD
 | |
| #undef	__KERNEL_STRICT_NAMES
 | |
| 
 | |
| /* Suppress kernel-name space pollution unless user expressedly asks
 | |
|    for it: */
 | |
| #ifndef _LOOSE_KERNEL_NAMES
 | |
| # define __KERNEL_STRICT_NAMES
 | |
| #endif
 | |
| 
 | |
| /* Always use ANSI things.  */
 | |
| #define	__USE_ANSI	1
 | |
| 
 | |
| 
 | |
| /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX.  */
 | |
| #if defined (_BSD_SOURCE) && \
 | |
|     !(defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) || \
 | |
|       defined (_GNU_SOURCE) || defined (_SVID_SOURCE))
 | |
| #define	__FAVOR_BSD	1
 | |
| #endif
 | |
| 
 | |
| /* If _GNU_SOURCE was defined by the user, turn on all the other features.  */
 | |
| #ifdef _GNU_SOURCE
 | |
| #undef	_POSIX_SOURCE
 | |
| #define	_POSIX_SOURCE	1
 | |
| #undef	_POSIX_C_SOURCE
 | |
| #define	_POSIX_C_SOURCE	2
 | |
| #undef	_BSD_SOURCE
 | |
| #define	_BSD_SOURCE	1
 | |
| #undef	_SVID_SOURCE
 | |
| #define	_SVID_SOURCE	1
 | |
| #endif
 | |
| 
 | |
| /* If nothing (other than _GNU_SOURCE) is defined,
 | |
|    define _BSD_SOURCE and _SVID_SOURCE.  */
 | |
| #if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) && \
 | |
|      !defined (_POSIX_C_SOURCE) && !defined (_BSD_SOURCE) && \
 | |
|      !defined (_SVID_SOURCE))
 | |
| #define	_BSD_SOURCE	1
 | |
| #define	_SVID_SOURCE	1
 | |
| #endif
 | |
| 
 | |
| /* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2.  */
 | |
| #if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) && \
 | |
|      !defined (_POSIX_C_SOURCE))
 | |
| #define	_POSIX_SOURCE	1
 | |
| #define	_POSIX_C_SOURCE	2
 | |
| #endif
 | |
| 
 | |
| #if	defined (_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1
 | |
| #define	__USE_POSIX	1
 | |
| #endif
 | |
| 
 | |
| #if	defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2
 | |
| #define	__USE_POSIX2	1
 | |
| #endif
 | |
| 
 | |
| #if defined (_BSD_SOURCE) || defined (_SVID_SOURCE)
 | |
| #define	__USE_MISC	1
 | |
| #endif
 | |
| 
 | |
| #ifdef	_BSD_SOURCE
 | |
| #define	__USE_BSD	1
 | |
| #endif
 | |
| 
 | |
| #ifdef	_SVID_SOURCE
 | |
| #define	__USE_SVID	1
 | |
| #endif
 | |
| 
 | |
| #ifdef	_GNU_SOURCE
 | |
| #define	__USE_GNU	1
 | |
| #endif
 | |
| 
 | |
| #if defined (__USE_GNU) || defined (__USE_MISC)
 | |
| #define __USE_REENTRANT	1
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /* This macro indicates that the installed library is the GNU C Library.
 | |
|    Its value must be incremented whenever any existing library interface
 | |
|    changes such that callers must be recompiled with the new header files.
 | |
|    This value should always coincide with the major version number used for
 | |
|    the shared C library corresponding to this set of header files.  */
 | |
| 
 | |
| #undef	__GNU_LIBRARY__
 | |
| #define	__GNU_LIBRARY__	6
 | |
| 
 | |
| 
 | |
| #if	!defined (__GNUC__) || __GNUC__ < 2
 | |
| /* In GCC version 2, (__extension__ EXPR) will not complain
 | |
|    about GCC extensions used in EXPR under -ansi or -pedantic.  */
 | |
| #define	__extension__
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /* This is here only because every header file already includes this one.  */
 | |
| #include <sys/cdefs.h>
 | |
| 
 | |
| /* This is here only because every header file already includes this one.  */
 | |
| #ifndef _LIBC
 | |
| /* Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
 | |
|    <stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
 | |
|    which will always return failure (and set errno to ENOSYS).
 | |
| 
 | |
|    We avoid including <stubs.h> when compiling the C library itself to
 | |
|    avoid a dependency loop.  stubs.h depends on every object file.  If
 | |
|    this #include were done for the library source code, then every object
 | |
|    file would depend on stubs.h.  */
 | |
| 
 | |
| #include <stubs.h>
 | |
| #endif
 | |
| 
 | |
| #endif	/* __features.h  */
 |