and no other _*_SOURCE macro is.
(_GNU_SOURCE): Don't define by default.
* libc-symbols.h (_GNU_SOURCE): Define it.
Tue Mar 19 14:18:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
+ * features.h (__FAVOR_BSD): Define only if _BSD_SOURCE is defined
+ and no other _*_SOURCE macro is.
+ (_GNU_SOURCE): Don't define by default.
+ * libc-symbols.h (_GNU_SOURCE): Define it.
+
* configure.in (alpha*-*-linux*): Unset $gnu_ld and $elf.
* config.make.in (weak-symbols): Variable removed.
\f
Version 1.10
+* GNU extensions are no longer declared by default. To enable them you
+ must define the macro `_GNU_SOURCE' in your program or compile with
+ `-D_GNU_SOURCE'.
+
* The library has changed from using GNU ld symbol aliases to using weak
symbols where available. The ELF object file format supports weak
symbols; GNU ld also supports weak symbols in the a.out format. (There
* The C library now provides the run-time support code for profiling
executables compiled with `-pg'. Programs can control the profiling code
- through the interface in <sys/gmon.h>. The profiling code was adapted
- from 4.4 BSD-Lite.
+ through the interface in <sys/gmon.h>. The `gmon.out' files written by
+ the GNU C library can be read only by GNU `gprof' (from GNU binutils);
+ the support for this file format was contributed by David Mosberger-Tang.
* The math code has been replaced with a math library based on fdlibm from
Sun, and modified by JT Conklin with i387 support and by Ian Taylor with
The GNU library now supports Linux versions 1.3.29 and later,
using the ELF object file format (i[345]86-*-linux).
+* Andreas Schwab has ported the C library to Linux/m68k (m68k-*-linux).
+
+* David Mosberger-Tang has ported the C library to Linux/Alpha (alpha-*-linux).
+
* Ulrich Drepper has contributed a new set of message catalog functions to
support multiple languages, for use with his new package GNU gettext.
-/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+/* 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
_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 _GNU_SOURCE.
+ 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.
#undef __FAVOR_BSD
-/* If nothing is defined, define _GNU_SOURCE. */
-#if (!defined(_GNU_SOURCE) && !defined(__STRICT_ANSI__) && \
- !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_BSD_SOURCE) && !defined(_SVID_SOURCE))
-#define _GNU_SOURCE 1
-#endif
-
-
/* Always use ANSI things. */
#define __USE_ANSI 1
/* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */
-#ifdef _BSD_SOURCE
+#if defined (_BSD_SOURCE) && \
+ !(defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) ||
+ defiend (_GNU_SOURCE) || defined (_SVID_SOURCE))
#define __FAVOR_BSD 1
#endif
itself is being compiled, or just some generator program. */
#define _LIBC 1
+/* Enable declarations of GNU extensions, since we are compiling them. */
+#define _GNU_SOURCE 1
+
#include <config.h>
/* This disables sccsid/rcsid strings in lots of code of non-GNU origin. */