aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-08-09 02:46:09 +0000
committerUlrich Drepper <drepper@redhat.com>1996-08-09 02:46:09 +0000
commita5113b141cd85a98b4711607c430e6e01775bd9a (patch)
tree5e345c0560b177c68320fa8a467215352996bb35
parent233963756b2ef272f8876afec2a2bb629b425e0c (diff)
downloadglibc-a5113b141cd85a98b4711607c430e6e01775bd9a.tar.xz
glibc-a5113b141cd85a98b4711607c430e6e01775bd9a.zip
Thu Aug 8 16:17:38 1996 Ulrich Drepper <drepper@cygnus.com> * pwd/getpwent.c: Define BUFLEN from NSS_BUFLEN_PASSWD. * pwd/getpwent_r.c: Likewise. * pwd/getpwnam.c: Likewise. * pwd/getpwnam_r.c: Likewise. * pwd/getpwuid.c: Likewise. * pwd/getpwuid_r.c: Likewise. * grp/getgrent.c: Define BUFLEN from NSS_BUFLEN_GROUP. * grp/getgrent_r.c: Likewise. * grp/getgrgid.c: Likewise. * grp/getgrgid_r.c: Likewise. * grp/getgrnam.c: Likewise. * pwd/fgetpwent_r.c: New file. Reentrant version of fgetpwent. * pwd/fgetpwent.c: Rewrite to use fgetpwent_r. * pwd/Makefile (routines): Add fgetpwent_r. * pwd/pwd.h: Add prototypes for __fgetpwent_r and fgetpwent_r. * grp/fgetgrent_r.c: New file. Reentrant version of fgetgrent. * grp/fgetgrent.c: Rewrite to use fgetgrent_r. * grp/Makefile (routines): Add fgetgrent_r. * grp/grp.h: Add prototypes for __fgetgrent_r and fgetgrent_r. Implement shadow password lookup functions. This is no complete shadow password suite. * shadow/Makefile: New file. * shadow/fgetspent.c: New file. * shadow/fgetspent_r.c: New file. * shadow/getspent.c: New file. * shadow/getspent_r.c: New file. * shadow/getspnam.c: New file. * shadow/getspnam_r.c: New file. * shadow/putspent.c: New file. * shadow/sgetspent.c: New file. * shadow/sgetspent_r.c: New file. * shadow/shadow.h: New file. * shadow/spwd-lookup.c: New file. * shadow/nss_files/files-spwd.c: New file. Thu Aug 8 13:33:45 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/ftime.c: New file. Available system call is only a stub. Reported by Matthias Urlichs. * Makeconfig [!default_cflags]: Change default value from `-g' to `-g -O'. * configure.in: Recognize i686. * sysdeps/i386/i686/Implies: Default on i586 optimized code. Thu Aug 8 12:40:20 1996 Matthias Urlichs <smurf@smurf.noris.de> * Makeconfig [$(build-omitfp) == yes]: Add to CFLAGS-.so value of CFLAGS-.o, not CFLAGS-o. * sysdeps/unix/sysv/linux/init-first.c (init): Add volatile pointer to ourself. Otherwise `gcc -O3' optimized init away. sure that all tables in binary file are word-aligned.
-rw-r--r--ChangeLog63
-rw-r--r--INSTALL455
-rw-r--r--catgets/catgets.c8
-rw-r--r--catgets/open_catalog.c20
-rwxr-xr-xconfigure35
-rw-r--r--elf/Makefile2
-rw-r--r--elf/dl-open.c2
-rw-r--r--elf/dl-support.c37
-rw-r--r--locale/C-ctype.c8
-rw-r--r--locale/categories.def3
-rw-r--r--locale/setlocale.c90
-rw-r--r--manual/maint.texi4
-rw-r--r--manual/memory.texi19
-rw-r--r--manual/string.texi109
-rw-r--r--misc/Makefile4
-rw-r--r--misc/sys/select.h2
-rw-r--r--misc/sys/ustat.h8
-rw-r--r--misc/syslog.c51
-rw-r--r--nss/nsswitch.c4
-rw-r--r--socket/sys/socket.h11
-rw-r--r--string/tester.c13
-rw-r--r--sunrpc/Makefile8
-rw-r--r--sunrpc/rpc_prot.c22
-rw-r--r--sysdeps/alpha/_mcount.S11
-rw-r--r--sysdeps/alpha/bb_init_func.S12
-rw-r--r--sysdeps/alpha/bsd-_setjmp.S7
-rw-r--r--sysdeps/alpha/bsd-setjmp.S7
-rw-r--r--sysdeps/alpha/divrem.h11
-rw-r--r--sysdeps/alpha/ffs.S4
-rw-r--r--sysdeps/alpha/memchr.S36
-rw-r--r--sysdeps/alpha/setjmp.S5
-rw-r--r--sysdeps/alpha/strlen.S82
-rw-r--r--sysdeps/generic/stpncpy.c8
-rw-r--r--sysdeps/generic/ustatbits.h10
-rw-r--r--sysdeps/i386/fpu_control.h6
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/brk.S11
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ioperm.c3
-rw-r--r--sysdeps/unix/sysv/linux/gnu/types.h4
-rw-r--r--time/localtime.c2
40 files changed, 755 insertions, 444 deletions
diff --git a/ChangeLog b/ChangeLog
index fc8b65f97a..6aa81bbd5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,64 @@
+Thu Aug 8 16:17:38 1996 Ulrich Drepper <drepper@cygnus.com>
+
+ * pwd/getpwent.c: Define BUFLEN from NSS_BUFLEN_PASSWD.
+ * pwd/getpwent_r.c: Likewise.
+ * pwd/getpwnam.c: Likewise.
+ * pwd/getpwnam_r.c: Likewise.
+ * pwd/getpwuid.c: Likewise.
+ * pwd/getpwuid_r.c: Likewise.
+
+ * grp/getgrent.c: Define BUFLEN from NSS_BUFLEN_GROUP.
+ * grp/getgrent_r.c: Likewise.
+ * grp/getgrgid.c: Likewise.
+ * grp/getgrgid_r.c: Likewise.
+ * grp/getgrnam.c: Likewise.
+
+ * pwd/fgetpwent_r.c: New file. Reentrant version of fgetpwent.
+ * pwd/fgetpwent.c: Rewrite to use fgetpwent_r.
+ * pwd/Makefile (routines): Add fgetpwent_r.
+ * pwd/pwd.h: Add prototypes for __fgetpwent_r and fgetpwent_r.
+
+ * grp/fgetgrent_r.c: New file. Reentrant version of fgetgrent.
+ * grp/fgetgrent.c: Rewrite to use fgetgrent_r.
+ * grp/Makefile (routines): Add fgetgrent_r.
+ * grp/grp.h: Add prototypes for __fgetgrent_r and fgetgrent_r.
+
+ Implement shadow password lookup functions. This is no complete
+ shadow password suite.
+ * shadow/Makefile: New file.
+ * shadow/fgetspent.c: New file.
+ * shadow/fgetspent_r.c: New file.
+ * shadow/getspent.c: New file.
+ * shadow/getspent_r.c: New file.
+ * shadow/getspnam.c: New file.
+ * shadow/getspnam_r.c: New file.
+ * shadow/putspent.c: New file.
+ * shadow/sgetspent.c: New file.
+ * shadow/sgetspent_r.c: New file.
+ * shadow/shadow.h: New file.
+ * shadow/spwd-lookup.c: New file.
+ * shadow/nss_files/files-spwd.c: New file.
+
+Thu Aug 8 13:33:45 1996 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/unix/sysv/linux/ftime.c: New file. Available system
+ call is only a stub.
+ Reported by Matthias Urlichs.
+
+ * Makeconfig [!default_cflags]: Change default value from `-g'
+ to `-g -O'.
+
+ * configure.in: Recognize i686.
+ * sysdeps/i386/i686/Implies: Default on i586 optimized code.
+
+Thu Aug 8 12:40:20 1996 Matthias Urlichs <smurf@smurf.noris.de>
+
+ * Makeconfig [$(build-omitfp) == yes]: Add to CFLAGS-.so
+ value of CFLAGS-.o, not CFLAGS-o.
+
+ * sysdeps/unix/sysv/linux/init-first.c (init): Add volatile
+ pointer to ourself. Otherwise `gcc -O3' optimized init away.
+
Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996.
@@ -479,7 +540,7 @@ Mon Jul 29 02:46:23 1996 Ulrich Drepper <drepper@cygnus.com>
warning.
* locale/programs/ld-ctype.c (ctype_output): Add code to make
- sure that all tables in binary file are words aligned.
+ sure that all tables in binary file are word-aligned.
* locale/programs/locfile.c (write_locale_data): Correct handling
of LC_MESSAGES locale. Create directory if necessary.
diff --git a/INSTALL b/INSTALL
index 1476bd8246..25ede5f565 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,16 +4,13 @@ Library Maintenance
How to Install the GNU C Library
================================
- Installation of the GNU C library is relatively simple.
-
- You need the latest version of GNU `make'. Modifying the GNU C
-Library to work with other `make' programs would be so hard that we
-recommend you port GNU `make' instead. *Really.*
+ Installation of the GNU C library is relatively simple, but usually
+requires several GNU tools to be installed already.
To configure the GNU C library for your system, run the shell script
`configure' with `sh'. Use an argument which is the conventional GNU
name for your system configuration--for example, `sparc-sun-sunos4.1',
-for a Sun 4 running Sunos 4.1. *Note Installation:
+for a Sun 4 running SunOS 4.1. *Note Installation:
(gcc.info)Installation, for a full description of standard GNU
configuration names. If you omit the configuration name, `configure'
will try to guess one for you by inspecting the system it is running
@@ -21,46 +18,6 @@ on. It may or may not be able to come up with a guess, and the its
guess might be wrong. `configure' will tell you the canonical name of
the chosen configuration before proceeding.
- The GNU C Library currently supports configurations that match the
-following patterns:
-
- alpha-dec-osf1
- i386-ANYTHING-bsd4.3
- i386-ANYTHING-gnu
- i386-ANYTHING-isc2.2
- i386-ANYTHING-isc3.N
- i386-ANYTHING-sco3.2
- i386-ANYTHING-sco3.2v4
- i386-ANYTHING-sysv
- i386-ANYTHING-sysv4
- i386-force_cpu386-none
- i386-sequent-bsd
- i960-nindy960-none
- m68k-hp-bsd4.3
- m68k-mvme135-none
- m68k-mvme136-none
- m68k-sony-newsos3
- m68k-sony-newsos4
- m68k-sun-sunos4.N
- mips-dec-ultrix4.N
- mips-sgi-irix4.N
- sparc-sun-solaris2.N
- sparc-sun-sunos4.N
-
- While no other configurations are supported, there are handy aliases
-for these few. (These aliases work in other GNU software as well.)
-
- decstation
- hp320-bsd4.3 hp300bsd
- i386-sco
- i386-sco3.2v4
- i386-sequent-dynix
- i386-svr4
- news
- sun3-sunos4.N sun3
- sun4-solaris2.N sun4-sunos5.N
- sun4-sunos4.N sun4
-
Here are some options that you should specify (if appropriate) when
you run `configure':
@@ -76,8 +33,15 @@ you run `configure':
building the GNU C Library. On some systems, the library may not
build properly if you do *not* use `gas'.
+`--with-gnu-binutils'
+ This option implies both `--with-gnu-ld' and `--with-gnu-as'. On
+ systems where GNU tools are the system tools, there is no need to
+ specify this option. These include GNU, GNU/Linux, and free BSD
+ systems.
+
+`--without-fp'
`--nfp'
- Use this option if your computer lacks hardware floating point
+ Use this option if your computer lacks hardware floating-point
support.
`--prefix=DIRECTORY'
@@ -89,6 +53,29 @@ you run `configure':
subdirectories of `DIRECTORY'. (You can also set this in
`configparms'; see below.)
+`--enable-shared'
+`--disable-shared'
+ Enable or disable building of an ELF shared library on systems that
+ support it. The default is to build the shared library on systems
+ using ELF when the GNU `binutils' are available.
+
+`--enable-profile'
+`--disable-profile'
+ Enable or disable building of the profiled C library, `-lc_p'. The
+ default is to build the profiled library. You may wish to disable
+ it if you don't plan to do profiling, because it doubles the build
+ time of compiling just the unprofiled static library.
+
+`--enable-omitfp'
+ Enable building a highly-optimized but possibly undebuggable
+ static C library. This causes the normal static and shared (if
+ enabled) C libraries to be compiled with maximal optimization,
+ including the `-fomit-frame-pointer' switch that makes debugging
+ impossible on many machines, and without debugging information
+ (which makes the binaries substantially smaller). An additional
+ static library is compiled with no optimization and full debugging
+ information, and installed as `-lc_g'.
+
The simplest way to run `configure' is to do it in the directory
that contains the library sources. This prepares to build the library
in that very directory.
@@ -141,57 +128,101 @@ work with object files for the target you configured for.
in the GNU C compiler, so you may need to compile the library with GCC.
(In fact, all of the existing complete ports require GCC.)
- The current release of the C library contains some header files that
-the compiler normally provides: `stddef.h', `stdarg.h', and several
-files with names of the form `va-MACHINE.h'. The versions of these
-files that came with older releases of GCC do not work properly with
-the GNU C library. The `stddef.h' file in release 2.2 and later of GCC
-is correct. If you have release 2.2 or later of GCC, use its version
-of `stddef.h' instead of the C library's. To do this, put the line
-`override stddef.h =' in `configparms'. The other files are corrected
-in release 2.3 and later of GCC. `configure' will automatically detect
-whether the installed `stdarg.h' and `va-MACHINE.h' files are
-compatible with the C library, and use its own if not.
-
- There is a potential problem with the `size_t' type and versions of
-GCC prior to release 2.4. ANSI C requires that `size_t' always be an
-unsigned type. For compatibility with existing systems' header files,
-GCC defines `size_t' in `stddef.h' to be whatever type the system's
-`sys/types.h' defines it to be. Most Unix systems that define `size_t'
-in `sys/types.h', define it to be a signed type. Some code in the
-library depends on `size_t' being an unsigned type, and will not work
-correctly if it is signed.
-
- The GNU C library code which expects `size_t' to be unsigned is
-correct. The definition of `size_t' as a signed type is incorrect.
-Versions 2.4 and later of GCC always define `size_t' as an unsigned
-type, and GCC's `fixincludes' script massages the system's
-`sys/types.h' so as not to conflict with this.
-
- In the meantime, we work around this problem by telling GCC
-explicitly to use an unsigned type for `size_t' when compiling the GNU C
-library. `configure' will automatically detect what type GCC uses for
-`size_t' arrange to override it if necessary.
-
- To build the library, type `make lib'. This will produce a lot of
-output, some of which looks like errors from `make' (but isn't). Look
-for error messages from `make' containing `***'. Those indicate that
-something is really wrong.
+ To build the library and related programs, type `make'. This will
+produce a lot of output, some of which may look like errors from `make'
+(but isn't). Look for error messages from `make' containing `***'.
+Those indicate that something is really wrong.
To build and run some test programs which exercise some of the
-library facilities, type `make tests'. This will produce several files
+library facilities, type `make check'. This will produce several files
with names like `PROGRAM.out'.
To format the `GNU C Library Reference Manual' for printing, type
-`make dvi'. To format the Info version of the manual for on line
-reading with `C-h i' in Emacs or with the `info' program, type
-`make info'.
+`make dvi'.
To install the library and its header files, and the Info files of
-the manual, type `make install', after setting the installation
-directories in `configparms'. This will build things if necessary,
+the manual, type `make install'. This will build things if necessary,
before installing them.
+Recommended Tools to Install the GNU C Library
+----------------------------------------------
+
+ We recommend installing the following GNU tools before attempting to
+build the GNU C library:
+
+ * `make' 3.75
+
+ You need the latest version of GNU `make'. Modifying the GNU C
+ Library to work with other `make' programs would be so hard that we
+ recommend you port GNU `make' instead. *Really.* We recommend
+ version GNU `make' version 3.75 or later.
+
+ * GCC 2.7.2
+
+ On most platforms, the GNU C library can only be compiled with the
+ GNU C compiler. We recommend GCC version 2.7.2 or later; earlier
+ versions may have problems.
+
+ * `binutils' 2.6
+
+ Using the GNU `binutils' (assembler, linker, and related tools) is
+ preferable when possible, and they are required to build an ELF
+ shared C library. We recommend `binutils' version 2.6 or later;
+ earlier versions are known to have problems.
+
+Supported Configurations
+------------------------
+
+ The GNU C Library currently supports configurations that match the
+following patterns:
+
+ alpha-dec-osf1
+ alpha-ANYTHING-linux
+ alpha-ANYTHING-linuxecoff
+ iX86-ANYTHING-bsd4.3
+ iX86-ANYTHING-gnu
+ iX86-ANYTHING-isc2.2
+ iX86-ANYTHING-isc3.N
+ iX86-ANYTHING-linux
+ iX86-ANYTHING-sco3.2
+ iX86-ANYTHING-sco3.2v4
+ iX86-ANYTHING-sysv
+ iX86-ANYTHING-sysv4
+ iX86-force_cpu386-none
+ iX86-sequent-bsd
+ i960-nindy960-none
+ m68k-hp-bsd4.3
+ m68k-mvme135-none
+ m68k-mvme136-none
+ m68k-sony-newsos3
+ m68k-sony-newsos4
+ m68k-sun-sunos4.N
+ mips-dec-ultrix4.N
+ mips-sgi-irix4.N
+ sparc-sun-solaris2.N
+ sparc-sun-sunos4.N
+
+ Each case of `iX86' can be `i386', `i486', `i586', or `i686'.. All
+of those configurations produce a library that can run on any of these
+processors. The library will be optimized for the specified processor,
+but will not use instructions not available on all of them.
+
+ While no other configurations are supported, there are handy aliases
+for these few. (These aliases work in other GNU software as well.)
+
+ decstation
+ hp320-bsd4.3 hp300bsd
+ i486-gnu
+ i586-linux
+ i386-sco
+ i386-sco3.2v4
+ i386-sequent-dynix
+ i386-svr4
+ news
+ sun3-sunos4.N sun3
+ sun4-solaris2.N sun4-sunos5.N
+ sun4-sunos4.N sun4
+
Reporting Bugs
==============
@@ -246,8 +277,10 @@ But what they do is fairly straightforward, and only requires that you
define a few variables in the right places.
The library sources are divided into subdirectories, grouped by
-topic. The `string' subdirectory has all the string-manipulation
-functions, `stdio' has all the standard I/O functions, etc.
+topic.
+
+ The `string' subdirectory has all the string-manipulation functions,
+`math' has all the mathematical functions, etc.
Each subdirectory contains a simple makefile, cal