diff options
| author | Ulrich Drepper <drepper@redhat.com> | 1996-08-09 02:46:09 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 1996-08-09 02:46:09 +0000 |
| commit | a5113b141cd85a98b4711607c430e6e01775bd9a (patch) | |
| tree | 5e345c0560b177c68320fa8a467215352996bb35 | |
| parent | 233963756b2ef272f8876afec2a2bb629b425e0c (diff) | |
| download | glibc-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.
40 files changed, 755 insertions, 444 deletions
@@ -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. @@ -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 |
