1995-02-18 09:27:10 +08:00
|
|
|
@c \input /gd/gnu/doc/texinfo
|
|
|
|
@c This is for making the `INSTALL' file for the distribution.
|
|
|
|
@c Makeinfo ignores it when processing the file from the include.
|
|
|
|
@setfilename INSTALL
|
|
|
|
|
|
|
|
@node Maintenance, Copying, Library Summary, Top
|
|
|
|
@appendix Library Maintenance
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Installation:: How to configure, compile and
|
|
|
|
install the GNU C library.
|
|
|
|
* Reporting Bugs:: How to report bugs (if you want to
|
|
|
|
get them fixed) and other troubles
|
|
|
|
you may have with the GNU C library.
|
|
|
|
* Source Layout:: How to add new functions or header files
|
|
|
|
to the GNU C library.
|
|
|
|
* Porting:: How to port the GNU C library to
|
|
|
|
a new machine or operating system.
|
|
|
|
* Contributors:: Contributors to the GNU C Library.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Installation
|
|
|
|
@appendixsec How to Install the GNU C Library
|
|
|
|
@cindex installing the library
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
Installation of the GNU C library is relatively simple, but usually
|
|
|
|
requires several GNU tools to be installed already.
|
|
|
|
@iftex
|
|
|
|
(@pxref{Tools for Installation}, below.)
|
|
|
|
@end iftex
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@menu
|
|
|
|
* Tools for Installation:: We recommend using these tools to build.
|
|
|
|
* Supported Configurations:: What systems the GNU C library runs on.
|
|
|
|
@end menu
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
To configure the GNU C library for your system, run the shell script
|
|
|
|
@file{configure} with @code{sh}. Use an argument which is the
|
|
|
|
conventional GNU name for your system configuration---for example,
|
1996-05-14 01:30:42 +08:00
|
|
|
@samp{sparc-sun-sunos4.1}, for a Sun 4 running SunOS 4.1.
|
1995-02-18 09:27:10 +08:00
|
|
|
@xref{Installation, Installation, Installing GNU CC, gcc.info, Using and
|
|
|
|
Porting GNU CC}, for a full description of standard GNU configuration
|
|
|
|
names. If you omit the configuration name, @file{configure} will try to
|
|
|
|
guess one for you by inspecting the system it is running on. It may or
|
|
|
|
may not be able to come up with a guess, and the its guess might be
|
|
|
|
wrong. @file{configure} will tell you the canonical name of the chosen
|
|
|
|
configuration before proceeding.
|
|
|
|
|
|
|
|
Here are some options that you should specify (if appropriate) when
|
|
|
|
you run @code{configure}:
|
|
|
|
|
|
|
|
@table @samp
|
|
|
|
@item --with-gnu-ld
|
|
|
|
Use this option if you plan to use GNU @code{ld} to link programs with
|
|
|
|
the GNU C Library. (We strongly recommend that you do.) This option
|
|
|
|
enables use of features that exist only in GNU @code{ld}; so if you
|
|
|
|
configure for GNU @code{ld} you must use GNU @code{ld} @emph{every time}
|
|
|
|
you link with the GNU C Library, and when building it.
|
|
|
|
|
|
|
|
@item --with-gnu-as
|
|
|
|
Use this option if you plan to use the GNU assembler, @code{gas}, when
|
|
|
|
building the GNU C Library. On some systems, the library may not build
|
|
|
|
properly if you do @emph{not} use @code{gas}.
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@item --with-gnu-binutils
|
|
|
|
This option implies both @w{@samp{--with-gnu-ld}} and @w{@samp{--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.
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@c extra blank line makes it look better
|
1996-05-14 01:30:42 +08:00
|
|
|
@item --without-fp
|
|
|
|
@itemx --nfp
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
Use this option if your computer lacks hardware floating-point support.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@item --prefix=@var{directory}
|
|
|
|
Install machine-independent data files in subdirectories of
|
|
|
|
@file{@var{directory}}. (You can also set this in @file{configparms};
|
1997-09-05 09:43:20 +08:00
|
|
|
see below.) The default is to install in `/usr/local'.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@item --exec-prefix=@var{directory}
|
|
|
|
Install the library and other machine-dependent files in subdirectories
|
|
|
|
of @file{@var{directory}}. (You can also set this in
|
1997-09-05 09:43:20 +08:00
|
|
|
@file{configparms}; see below.) The default is to use <prefix>/bin
|
|
|
|
and <prefix>/sbin.
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
@item --enable-shared
|
|
|
|
@itemx --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 @code{binutils} are available.
|
|
|
|
|
|
|
|
@item --enable-profile
|
|
|
|
@itemx --disable-profile
|
|
|
|
Enable or disable building of the profiled C library, @samp{-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.
|
|
|
|
|
|
|
|
@item --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
|
|
|
|
@samp{-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 @samp{-lc_g}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end table
|
|
|
|
|
|
|
|
The simplest way to run @code{configure} is to do it in the directory
|
|
|
|
that contains the library sources. This prepares to build the library
|
|
|
|
in that very directory.
|
|
|
|
|
|
|
|
You can prepare to build the library in some other directory by going
|
|
|
|
to that other directory to run @code{configure}. In order to run
|
|
|
|
configure, you will have to specify a directory for it, like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
mkdir sun4
|
|
|
|
cd sun4
|
|
|
|
../configure sparc-sun-sunos4.1
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
@code{configure} looks for the sources in whatever directory you
|
|
|
|
specified for finding @code{configure} itself. It does not matter where
|
|
|
|
in the file system the source and build directories are---as long as you
|
|
|
|
specify the source directory when you run @code{configure}, you will get
|
|
|
|
the proper results.
|
|
|
|
|
|
|
|
This feature lets you keep sources and binaries in different
|
|
|
|
directories, and that makes it easy to build the library for several
|
1996-05-14 01:30:42 +08:00
|
|
|
different machines from the same set of sources. Simply create a
|
1995-02-18 09:27:10 +08:00
|
|
|
build directory for each target machine, and run @code{configure} in
|
|
|
|
that directory specifying the target machine's configuration name.
|
|
|
|
|
|
|
|
The library has a number of special-purpose configuration parameters.
|
|
|
|
These are defined in the file @file{Makeconfig}; see the comments in
|
|
|
|
that file for the details.
|
|
|
|
|
|
|
|
But don't edit the file @file{Makeconfig} yourself---instead, create a
|
|
|
|
file @file{configparms} in the directory where you are building the
|
|
|
|
library, and define in that file the parameters you want to specify.
|
|
|
|
@file{configparms} should @strong{not} be an edited copy of
|
|
|
|
@file{Makeconfig}; specify only the parameters that you want to
|
|
|
|
override. To see how to set these parameters, find the section of
|
|
|
|
@file{Makeconfig} that says ``These are the configuration variables.''
|
|
|
|
Then for each parameter that you want to change, copy the definition
|
|
|
|
from @file{Makeconfig} to your new @file{configparms} file, and change
|
|
|
|
the value as appropriate for your system.
|
|
|
|
|
|
|
|
It is easy to configure the GNU C library for cross-compilation by
|
|
|
|
setting a few variables in @file{configparms}. Set @code{CC} to the
|
|
|
|
cross-compiler for the target you configured the library for; it is
|
|
|
|
important to use this same @code{CC} value when running
|
|
|
|
@code{configure}, like this: @samp{CC=@var{target}-gcc configure
|
|
|
|
@var{target}}. Set @code{BUILD_CC} to the compiler to use for for
|
|
|
|
programs run on the build system as part of compiling the library. You
|
|
|
|
may need to set @code{AR} and @code{RANLIB} to cross-compiling versions
|
|
|
|
of @code{ar} and @code{ranlib} if the native tools are not configured to
|
|
|
|
work with object files for the target you configured for.
|
|
|
|
|
|
|
|
Some of the machine-dependent code for some machines uses extensions 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.)
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
To build the library and related programs, type @code{make}. This will
|
|
|
|
produce a lot of output, some of which may look like errors from
|
|
|
|
@code{make} (but isn't). Look for error messages from @code{make}
|
|
|
|
containing @samp{***}. Those indicate that something is really wrong.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
To build and run some test programs which exercise some of the library
|
1996-05-14 01:30:42 +08:00
|
|
|
facilities, type @code{make check}. This will produce several files
|
1995-02-18 09:27:10 +08:00
|
|
|
with names like @file{@var{program}.out}.
|
|
|
|
|
|
|
|
To format the @cite{GNU C Library Reference Manual} for printing, type
|
1997-09-21 09:47:02 +08:00
|
|
|
@w{@code{make dvi}}. You need a working @TeX{} installation to do this.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
To install the library and its header files, and the Info files of the
|
1996-05-14 01:30:42 +08:00
|
|
|
manual, type @code{make install}. This will build things if necessary,
|
1997-09-21 09:47:02 +08:00
|
|
|
before installing them. If you want to install the files in a different
|
|
|
|
place than the one specified at configuration time you can specify a
|
|
|
|
value for the Makefile variable @code{install_root} on the command line.
|
|
|
|
This is useful to create chroot'ed environment or to prepare binary
|
|
|
|
releases.@refill
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@node Tools for Installation
|
|
|
|
@appendixsubsec Recommended Tools to Install the GNU C Library
|
|
|
|
@cindex installation tools
|
|
|
|
@cindex tools, for installing library
|
|
|
|
|
|
|
|
We recommend installing the following GNU tools before attempting to
|
|
|
|
build the GNU C library:
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
1997-09-21 09:47:02 +08:00
|
|
|
@code{make} 3.76.1
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
You need the latest version of GNU @code{make}. Modifying the GNU C
|
|
|
|
Library to work with other @code{make} programs would be so hard that we
|
1997-09-21 09:47:02 +08:00
|
|
|
recommend you port GNU @code{make} instead. @strong{Really.} We
|
|
|
|
recommend version GNU @code{make} version 3.75, 3.76.1 or later.
|
|
|
|
Version 3.76 is known to have a bug which only shows up in big projects
|
|
|
|
like GNU @code{libc}.
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
@item
|
1997-09-21 09:47:02 +08:00
|
|
|
GCC 2.7.2.3
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
Update.
1997-09-11 04:36 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Define __set_errno if not yet available.
* db2/btree/bt_rec.c: Use __set_errno to set errno value.
* db2/clib/getlong.c: Likewise.
* db2/db185/db185.c: Likewise.
* db2/db185/db185_int.h: Likewise.
* db2/dbm/dbm.c: Likewise.
* db2/lock/lock_deadlock.c: Likewise.
* db2/log/log_archive.c: Likewise.
* elf/dl-profile.c: Implement mcount function.
* gmon/gmon.c: Use __profil not profil because of namespace pollution.
* gmon/mcount.c: Remove BSD kernel code.
Use compare&swap instruction if possible to change state variable.
Optimize frompc folding.
* gmon/sys/gmon.h (struct gmonparam): Change state field to long int.
* sysdeps/i386/i486/atomicity.h: New file.
* sysdeps/stub/atomicity.h: New file.
* sysdeps/mach/hurd/profil.c: Define function as __profil and make
profil weak alias.
* sysdeps/posix/profil.c: Likewise.
* string/bits/string2.h: New file.
* include/bits/string2.h: New file.
* string/Makefile (routines): Add mempcpy.
(tests): Add inl-tester.
Remove _D__NO_STRING_INLINES from CFLAGS-* variables.
* sysdeps/generic/mempcpy.c: New file.
* sysdeps/generic/memccpy.c: Undef function name to enable definition
as macro.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memmem.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/strcat.c: Likewise.
* sysdeps/generic/strchr.c: Likewise.
* sysdeps/generic/strcmp.c: Likewise.
* sysdeps/generic/strcpy.c: Likewise.
* sysdeps/generic/strcspn.c: Likewise.
* sysdeps/generic/strlen.c: Likewise.
* sysdeps/generic/strncat.c: Likewise.
* sysdeps/generic/strncmp.c: Likewise.
* sysdeps/generic/strncpy.c: Likewise.
* sysdeps/generic/strpbrk.c: Likewise.
* sysdeps/generic/strrchr.c: Likewise.
* sysdeps/generic/strsep.c: Likewise.
* sysdeps/generic/strspn.c: Likewise.
* sysdeps/generic/strstr.c: Likewise.
* sysdeps/generic/strtok.c: Likewise.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/i386/bits/string.h: Correct a few types and constraints.
* sysdeps/i386/i486/bits/string.h: Heavy rewrites and optimizations.
* string/stratcliff.c: Undefine __USE_STRING_INLINES.
* string/tst-strlen.c: Likewise.
* string/string.h: Add prototype for mempcpy. Include bits/string2.h
header always if optimizing.
* intl/dcgettext.c: Don't unconditionally define stpcpy, only if not
yet defined.
* intl/l10nflist.c: Likewise.
* string/tester.c: Add copyright and make little cleanups.
* inet/test_ifindex.c: Change type of ni variable to unsigned int.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Change type
of fields map_collection_max and map_collection_act to size_t.
* nss/libnss_files.map: Group entries.
* posix/unistd.h: Add prototype for __setpgid and __profil.
* sysdeps/generic/crypt.h: Declare __crypt_r.
* sysdeps/i386/bits/select.h: Fix fatal bugs, use correct casts now.
* sysdeps/i386/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater, isunordered): Optimize a bit.
* sysdeps/stub/ftruncate.c: Include missing header for prototype.
* sysdeps/stub/getdents.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/swapon.c: Likewise.
* sysdeps/stub/syscall.c: Likewise.
* sysdeps/stub/ualarm.c: Likewise.
* sysdeps/stub/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Don't compile or use opensock
if SIOGIFINDEX and SIOGIFNAME are not defined.
* sysdeps/unix/sysv/linux/net/if.h: Add IFF_PORTSEL and IFF_AUTOMEDIA
according to recent kernel changes.
1997-09-10 21:32 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* Makeconfig: Use $(have-initfini) instead of $(elf) to figure out
the installed name of the startup code.
(common-generated): Add version.mk.
* Makefile (distclean-1): Add glibcbug.
* Makerules: Replace -lgcc by $(gnulib).
* catgets/Makefile (generated): Add xmalloc.o.
* csu/Makefile (generated): Replace align.h and end.h by defs.h to
match the generated file.
* manual/Makefile (mostlyclean): Add stub-manual and stamp.o.
(realclean): Changed to remove chapters-incl[12].
* po/Makefile (realclean): New rule to remove the generated .mo files.
* time/Makefile: Only include zonefile dependencies if $(no_deps) is
not true to avoid make clean failure when directory time doesn't exist
yet.
(generated): Add tzselect.
* stdio/fgets.c (fgets): Add casts to reduce gcc warning noise.
* stdio/internals.c (flushbuf): Likewise.
* stdio/linewrap.c (lwupdate): Likewise.
* stdio/memstream.c (enlarge_buffer): Likewise.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* time/tzset.c (compute_change): Likewise.
* misc/init-misc.c (__init_misc): Only declare static if HAVE_GNU_LD
is defined.
* sysdeps/posix/pipestream.c (FUNC): Change to generate ANSI C style
functions.
* sysdeps/stub/init-posix.c: Likewise.
* sysdeps/stub/profil.c: Likewise.
* munch-tmpl.c (__libc_init): Convert to ANSI C style declaration to
reduce gcc warning noise.
* stdio/glue.c (_filbuf, _flsbuf): Likewise.
* stdio/obstream.c (grow, seek, input, init_obstream): Likewise.
* stdio/vasprintf.c (enlarge_buffer): Likewise.
* sysdeps/generic/sysd-stdio.c (__stdio_read, __stdio_write,
__stdio_seek, __stdio_close, __stdio_fileno, __stdio_open,
__stdio_reopen): Likewise.
* sysdeps/posix/defs.c (_cleanup): Likewise.
* time/offtime.c (__offtime): Add cast.
* posix/getopt.c: Don't use text_set_element if not defined.
* configure.in: Provide a check for underscores before user labels
that works even when the compiler used for building doesn't work
(like when there is no C library). Use the old way if the compiler
works.
1997-09-10 05:08 David S. Miller <davem@caip.rutgers.edu>
* sysdeps/unix/sysv/linux/sparc/bits/ioctls.h: The TC* ioctls use
'T' not 't' on SparcLinux.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: tcflag_t is 32 bits.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add aliases for
_longjmp and siglongjmp.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/stdio.h: Add format attributes to the extra printf and
scanf like functions.
* stdio/stdio.h: Likewise.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Print tablename_val, not tablename_len.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Use sprintf instead of sprintf, the string always fits.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_gethostbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-proto.c
(_nss_nisplus_getprotobynumber_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbynumber_r):
Likewise.
* nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_getservbynumber_r): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Use
__stpcpy, __stpncpy and __strdup instead of public names.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_parse_netgroup):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename):
Likewise.
* libc.map: Export __stpcpy and __strdup.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-ldouble.c): Pass -ffloat-store to avoid excessive
precision.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* include/rpc/auth_des.h: New file.
1997-09-09 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (__mktime_internal): Declare sec_requested even if
!LEAP_SECONDS_POSSIBLE, since it's needed at the end when checking
for time_t overflow.
1997-09-09 22:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c: Correct test for too small buffer.
Reported by Erik Troan <ewt@redhat.com>.
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
1997-09-07 17:09 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/Makefile: Kill setjmp_aux.
* sysdeps/alpha/bits/setjmp.h: Rewrite in terms of an array.
* sysdeps/alpha/__longjmp.c: Remove.
* sysdeps/alpha/setjmp_aux.c: Remove.
* sysdeps/alpha/__longjmp.S: New file.
* sysdeps/alpha/bsd-_setjmp.S: Stub out.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Do the work; don't call __setjmp_aux.
Move _setjmp and setjmp from bsd-*.S.
1997-09-06 20:20 Ulrich Drepper <drepper@cygnus.com>
* include/rpc/auth.h: New file.
* include/rpc/auth_unix.h: New file.
1997-09-06 Paul Eggert <eggert@twinsun.com>
Fix gmtime so that it reports leap seconds when TZ
indicates that leap seconds are desired.
* time/gmtime.c (<stddef.h>): Remove unnecessary include.
(gmtime): Put after gmtime_r, to help the compiler inline.
(__tz_convert): New decl.
(gmtime_r): Use __tz_convert instead of __offtime,
so that leap seconds are handled correctly.
* time/localtime.c (<errno.h>, <libc-lock.h>): Remove includes that
are now unnecessary.
(__tzset_internal, __tz_compute, __tzfile_compute, __use_tzfile,
__tzset_lock): Remove extern decls that are now unnecessary.
(localtime_internal): Moved to __tz_convert in tzset.c.
so that localtime and gmtime can both use it easily.
(localtime): Put after localtime_r, to help the compiler inline.
(localtime_r): Use __tz_convert instead of localtime_internal.
* time/strftime.c (__tz_compute): Remove unused (and now incorrect)
decl.
* time/tzfile.c (__tzfile_compute): New arg USE_LOCALTIME.
* time/tzset.c (<errno.h>): Include.
(_tmbuf): New decl.
(__tzfile_compute): New function.
(tz_compute): Renamed from __tz_compute. No longer extern.
Remove redundant call to tzset_internal.
(tzset_internal): Renamed from __tzset_internal. No longer extern.
(tzset_lock): Renamed from __tzset_lock. No longer extern.
(__tz_convert): New function, containing functionality of old
localtime_internal function, plus locking and optional UTC.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzfile.c (__tzfile_read): Don't read a file if TZ is the empty
string, just use UTC without leap seconds. This is for compatibility
with the Olson code.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzset.c (__tzname_max): Lock tz data structures before
invoking tzset_internal.
* time/tzfile.c: Define compute_tzname_max statically.
1997-09-07 10:57 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c: Remove not longer necessary HAVE_SECURE_RPC ifdefs.
* nis/nis_intern.h: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/ypclnt.c: Likewise.
* sunrpc/auth_des.c: Don't dereference NULL pointer,
initialize ad->ad_timediff.
* sunrpc/auth_none.c: Don't define our own prototypes, use the one
from the header files.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/key_call.c: Fix signal handling.
* sunrpc/openchild.c: Don't use /bin/sh to start /usr/etc/keyenvoy,
or we will get a deadlock with NIS+.
* sunrpc/rpc/auth.h: Add prototype for xdr_opaque_auth, don't define
HAVE_SECURE_RPC.
1997-09-07 15:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/select.h [__GNUC__] (__FD_ZERO, __FD_SET, __FD_CLR,
__FD_ISSET): Use correct casts to address array correctly.
Reported by urbanw@cs.umu.se.
1997-09-07 05:07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
* sysdeps/i386/memset.c: Undefine memset in case the header with the
optimized functions is included.
Patches by NIIBE Yutaka <gniibe@mri.co.jp>.
* sysdeps/i386/bits/string.h [__PIC__] (strcspn, strspn, strpbrk,
strsep): Use register for second parameter.
* sysdeps/i386/i486/bits/string.h: Likewise.
Reported by NIIBE Yutaka <gniibe@mri.co.jp>.
1997-09-03 09:48 Geoff Keating <geoffk@ozemail.com.au>
* math/libm-test.c: Change various tolerances to match what the
tested routines can actually provide.
* math/Makefile: Add new tests.
* math/atest-sincos.c: New file.
* math/atest-exp.c: New file.
* csu/Makefile: Give initfini.s and initfiniS.s their own
CFLAGS-* macros so they can be overridden.
* sysdeps/powerpc/Makefile [subdir=csu]: Override flags for
initfiniS.s to use -fpic instead of -fPIC, because the sed script
breaks otherwise.
* sysdeps/powerpc/Makefile [build-shared]: Use -fpic not -fPIC for
efficiency.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Don't use register 0, to let _mcount be in a shared object.
* sysdeps/powerpc/dl-machine.h: Use full sentences in comments.
Generally clean up. Suppress some code we don't need when relocating
ld.so.
* sysdeps/powerpc/test-arith.c: Change loop indices to size_t when
appropriate to suppress gcc warning.
* resolv/res_send.c: Suppress warning.
* sunrpc/xdr_sizeof.c: Suppress warning.
* FAQ: Add ppc-linux.
* manual/maint.texi: Add ppc-linux. Explain that gcc can't build it
yet.
* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Correct for
current kernels.
1997-08-15 07:45 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/fmtmsg.c: Use two parameters for __libc_once_define.
* sysdeps/i386/machine-gmon.h: Correct typo.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Change to match
kernel.
* sysdeps/generic/dl-sysdep.c: Add hook for bizzare PPC argument hack.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Rewrite to use
sysdeps/linux/dl-sysdep.c.
* sysdeps/powerpc/Makefile [subdir=gmon]: Compile ppc-mcount.
* sysdeps/powerpc/machine-gmon.h: Use ppc-mcount.
* sysdeps/powerpc/ppc-mcount: New file.
The following are mostly changes to allow profiling:
* sysdeps/powerpc/add_n.S: Added.
* sysdeps/powerpc/add_n.s: Removed.
* sysdeps/powerpc/addmul_1.S: Added.
* sysdeps/powerpc/addmul_1.s: Removed.
* sysdeps/powerpc/bsd-_setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/bsd-setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/lshift.S: Added.
* sysdeps/powerpc/lshift.s: Removed.
* sysdeps/powerpc/memset.S: Added.
* sysdeps/powerpc/memset.s: Removed.
* sysdeps/powerpc/mul_1.S: Added.
* sysdeps/powerpc/mul_1.s: Removed.
* sysdeps/powerpc/rshift.S: Added.
* sysdeps/powerpc/rshift.s: Removed.
* sysdeps/powerpc/s_copysign.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/s_fabs.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/strchr.S: Added.
* sysdeps/powerpc/strchr.s: Removed.
* sysdeps/powerpc/strcmp.S: Added.
* sysdeps/powerpc/strcmp.s: Removed.
* sysdeps/powerpc/strlen.S: Added.
* sysdeps/powerpc/strlen.s: Removed.
* sysdeps/powerpc/sub_n.S: Added.
* sysdeps/powerpc/sub_n.s: Removed.
* sysdeps/powerpc/submul_1.S: Added.
* sysdeps/powerpc/submul_1.s: Removed.
* sysdeps/unix/sysv/linux/powerpc/_exit.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Added.
* sysdeps/unix/sysv/linux/powerpc/brk.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Use new macros. Fix
various bugs. Document that it isn't tested.
* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Make look like
sysdeps/unix/_exit.S.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Define some new macros
to make assembler (possibly) more portable, allow profiling, etc.
1997-09-11 20:09:10 +08:00
|
|
|
On PowerPC, GCC versions dated earlier than 970904 are known not to work
|
|
|
|
(they crash), including 2.7.2.
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@item
|
Update.
1997-09-11 04:36 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Define __set_errno if not yet available.
* db2/btree/bt_rec.c: Use __set_errno to set errno value.
* db2/clib/getlong.c: Likewise.
* db2/db185/db185.c: Likewise.
* db2/db185/db185_int.h: Likewise.
* db2/dbm/dbm.c: Likewise.
* db2/lock/lock_deadlock.c: Likewise.
* db2/log/log_archive.c: Likewise.
* elf/dl-profile.c: Implement mcount function.
* gmon/gmon.c: Use __profil not profil because of namespace pollution.
* gmon/mcount.c: Remove BSD kernel code.
Use compare&swap instruction if possible to change state variable.
Optimize frompc folding.
* gmon/sys/gmon.h (struct gmonparam): Change state field to long int.
* sysdeps/i386/i486/atomicity.h: New file.
* sysdeps/stub/atomicity.h: New file.
* sysdeps/mach/hurd/profil.c: Define function as __profil and make
profil weak alias.
* sysdeps/posix/profil.c: Likewise.
* string/bits/string2.h: New file.
* include/bits/string2.h: New file.
* string/Makefile (routines): Add mempcpy.
(tests): Add inl-tester.
Remove _D__NO_STRING_INLINES from CFLAGS-* variables.
* sysdeps/generic/mempcpy.c: New file.
* sysdeps/generic/memccpy.c: Undef function name to enable definition
as macro.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memmem.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/strcat.c: Likewise.
* sysdeps/generic/strchr.c: Likewise.
* sysdeps/generic/strcmp.c: Likewise.
* sysdeps/generic/strcpy.c: Likewise.
* sysdeps/generic/strcspn.c: Likewise.
* sysdeps/generic/strlen.c: Likewise.
* sysdeps/generic/strncat.c: Likewise.
* sysdeps/generic/strncmp.c: Likewise.
* sysdeps/generic/strncpy.c: Likewise.
* sysdeps/generic/strpbrk.c: Likewise.
* sysdeps/generic/strrchr.c: Likewise.
* sysdeps/generic/strsep.c: Likewise.
* sysdeps/generic/strspn.c: Likewise.
* sysdeps/generic/strstr.c: Likewise.
* sysdeps/generic/strtok.c: Likewise.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/i386/bits/string.h: Correct a few types and constraints.
* sysdeps/i386/i486/bits/string.h: Heavy rewrites and optimizations.
* string/stratcliff.c: Undefine __USE_STRING_INLINES.
* string/tst-strlen.c: Likewise.
* string/string.h: Add prototype for mempcpy. Include bits/string2.h
header always if optimizing.
* intl/dcgettext.c: Don't unconditionally define stpcpy, only if not
yet defined.
* intl/l10nflist.c: Likewise.
* string/tester.c: Add copyright and make little cleanups.
* inet/test_ifindex.c: Change type of ni variable to unsigned int.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Change type
of fields map_collection_max and map_collection_act to size_t.
* nss/libnss_files.map: Group entries.
* posix/unistd.h: Add prototype for __setpgid and __profil.
* sysdeps/generic/crypt.h: Declare __crypt_r.
* sysdeps/i386/bits/select.h: Fix fatal bugs, use correct casts now.
* sysdeps/i386/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater, isunordered): Optimize a bit.
* sysdeps/stub/ftruncate.c: Include missing header for prototype.
* sysdeps/stub/getdents.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/swapon.c: Likewise.
* sysdeps/stub/syscall.c: Likewise.
* sysdeps/stub/ualarm.c: Likewise.
* sysdeps/stub/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Don't compile or use opensock
if SIOGIFINDEX and SIOGIFNAME are not defined.
* sysdeps/unix/sysv/linux/net/if.h: Add IFF_PORTSEL and IFF_AUTOMEDIA
according to recent kernel changes.
1997-09-10 21:32 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* Makeconfig: Use $(have-initfini) instead of $(elf) to figure out
the installed name of the startup code.
(common-generated): Add version.mk.
* Makefile (distclean-1): Add glibcbug.
* Makerules: Replace -lgcc by $(gnulib).
* catgets/Makefile (generated): Add xmalloc.o.
* csu/Makefile (generated): Replace align.h and end.h by defs.h to
match the generated file.
* manual/Makefile (mostlyclean): Add stub-manual and stamp.o.
(realclean): Changed to remove chapters-incl[12].
* po/Makefile (realclean): New rule to remove the generated .mo files.
* time/Makefile: Only include zonefile dependencies if $(no_deps) is
not true to avoid make clean failure when directory time doesn't exist
yet.
(generated): Add tzselect.
* stdio/fgets.c (fgets): Add casts to reduce gcc warning noise.
* stdio/internals.c (flushbuf): Likewise.
* stdio/linewrap.c (lwupdate): Likewise.
* stdio/memstream.c (enlarge_buffer): Likewise.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* time/tzset.c (compute_change): Likewise.
* misc/init-misc.c (__init_misc): Only declare static if HAVE_GNU_LD
is defined.
* sysdeps/posix/pipestream.c (FUNC): Change to generate ANSI C style
functions.
* sysdeps/stub/init-posix.c: Likewise.
* sysdeps/stub/profil.c: Likewise.
* munch-tmpl.c (__libc_init): Convert to ANSI C style declaration to
reduce gcc warning noise.
* stdio/glue.c (_filbuf, _flsbuf): Likewise.
* stdio/obstream.c (grow, seek, input, init_obstream): Likewise.
* stdio/vasprintf.c (enlarge_buffer): Likewise.
* sysdeps/generic/sysd-stdio.c (__stdio_read, __stdio_write,
__stdio_seek, __stdio_close, __stdio_fileno, __stdio_open,
__stdio_reopen): Likewise.
* sysdeps/posix/defs.c (_cleanup): Likewise.
* time/offtime.c (__offtime): Add cast.
* posix/getopt.c: Don't use text_set_element if not defined.
* configure.in: Provide a check for underscores before user labels
that works even when the compiler used for building doesn't work
(like when there is no C library). Use the old way if the compiler
works.
1997-09-10 05:08 David S. Miller <davem@caip.rutgers.edu>
* sysdeps/unix/sysv/linux/sparc/bits/ioctls.h: The TC* ioctls use
'T' not 't' on SparcLinux.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: tcflag_t is 32 bits.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add aliases for
_longjmp and siglongjmp.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/stdio.h: Add format attributes to the extra printf and
scanf like functions.
* stdio/stdio.h: Likewise.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Print tablename_val, not tablename_len.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Use sprintf instead of sprintf, the string always fits.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_gethostbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-proto.c
(_nss_nisplus_getprotobynumber_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbynumber_r):
Likewise.
* nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_getservbynumber_r): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Use
__stpcpy, __stpncpy and __strdup instead of public names.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_parse_netgroup):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename):
Likewise.
* libc.map: Export __stpcpy and __strdup.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-ldouble.c): Pass -ffloat-store to avoid excessive
precision.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* include/rpc/auth_des.h: New file.
1997-09-09 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (__mktime_internal): Declare sec_requested even if
!LEAP_SECONDS_POSSIBLE, since it's needed at the end when checking
for time_t overflow.
1997-09-09 22:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c: Correct test for too small buffer.
Reported by Erik Troan <ewt@redhat.com>.
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
1997-09-07 17:09 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/Makefile: Kill setjmp_aux.
* sysdeps/alpha/bits/setjmp.h: Rewrite in terms of an array.
* sysdeps/alpha/__longjmp.c: Remove.
* sysdeps/alpha/setjmp_aux.c: Remove.
* sysdeps/alpha/__longjmp.S: New file.
* sysdeps/alpha/bsd-_setjmp.S: Stub out.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Do the work; don't call __setjmp_aux.
Move _setjmp and setjmp from bsd-*.S.
1997-09-06 20:20 Ulrich Drepper <drepper@cygnus.com>
* include/rpc/auth.h: New file.
* include/rpc/auth_unix.h: New file.
1997-09-06 Paul Eggert <eggert@twinsun.com>
Fix gmtime so that it reports leap seconds when TZ
indicates that leap seconds are desired.
* time/gmtime.c (<stddef.h>): Remove unnecessary include.
(gmtime): Put after gmtime_r, to help the compiler inline.
(__tz_convert): New decl.
(gmtime_r): Use __tz_convert instead of __offtime,
so that leap seconds are handled correctly.
* time/localtime.c (<errno.h>, <libc-lock.h>): Remove includes that
are now unnecessary.
(__tzset_internal, __tz_compute, __tzfile_compute, __use_tzfile,
__tzset_lock): Remove extern decls that are now unnecessary.
(localtime_internal): Moved to __tz_convert in tzset.c.
so that localtime and gmtime can both use it easily.
(localtime): Put after localtime_r, to help the compiler inline.
(localtime_r): Use __tz_convert instead of localtime_internal.
* time/strftime.c (__tz_compute): Remove unused (and now incorrect)
decl.
* time/tzfile.c (__tzfile_compute): New arg USE_LOCALTIME.
* time/tzset.c (<errno.h>): Include.
(_tmbuf): New decl.
(__tzfile_compute): New function.
(tz_compute): Renamed from __tz_compute. No longer extern.
Remove redundant call to tzset_internal.
(tzset_internal): Renamed from __tzset_internal. No longer extern.
(tzset_lock): Renamed from __tzset_lock. No longer extern.
(__tz_convert): New function, containing functionality of old
localtime_internal function, plus locking and optional UTC.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzfile.c (__tzfile_read): Don't read a file if TZ is the empty
string, just use UTC without leap seconds. This is for compatibility
with the Olson code.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzset.c (__tzname_max): Lock tz data structures before
invoking tzset_internal.
* time/tzfile.c: Define compute_tzname_max statically.
1997-09-07 10:57 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c: Remove not longer necessary HAVE_SECURE_RPC ifdefs.
* nis/nis_intern.h: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/ypclnt.c: Likewise.
* sunrpc/auth_des.c: Don't dereference NULL pointer,
initialize ad->ad_timediff.
* sunrpc/auth_none.c: Don't define our own prototypes, use the one
from the header files.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/key_call.c: Fix signal handling.
* sunrpc/openchild.c: Don't use /bin/sh to start /usr/etc/keyenvoy,
or we will get a deadlock with NIS+.
* sunrpc/rpc/auth.h: Add prototype for xdr_opaque_auth, don't define
HAVE_SECURE_RPC.
1997-09-07 15:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/select.h [__GNUC__] (__FD_ZERO, __FD_SET, __FD_CLR,
__FD_ISSET): Use correct casts to address array correctly.
Reported by urbanw@cs.umu.se.
1997-09-07 05:07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
* sysdeps/i386/memset.c: Undefine memset in case the header with the
optimized functions is included.
Patches by NIIBE Yutaka <gniibe@mri.co.jp>.
* sysdeps/i386/bits/string.h [__PIC__] (strcspn, strspn, strpbrk,
strsep): Use register for second parameter.
* sysdeps/i386/i486/bits/string.h: Likewise.
Reported by NIIBE Yutaka <gniibe@mri.co.jp>.
1997-09-03 09:48 Geoff Keating <geoffk@ozemail.com.au>
* math/libm-test.c: Change various tolerances to match what the
tested routines can actually provide.
* math/Makefile: Add new tests.
* math/atest-sincos.c: New file.
* math/atest-exp.c: New file.
* csu/Makefile: Give initfini.s and initfiniS.s their own
CFLAGS-* macros so they can be overridden.
* sysdeps/powerpc/Makefile [subdir=csu]: Override flags for
initfiniS.s to use -fpic instead of -fPIC, because the sed script
breaks otherwise.
* sysdeps/powerpc/Makefile [build-shared]: Use -fpic not -fPIC for
efficiency.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Don't use register 0, to let _mcount be in a shared object.
* sysdeps/powerpc/dl-machine.h: Use full sentences in comments.
Generally clean up. Suppress some code we don't need when relocating
ld.so.
* sysdeps/powerpc/test-arith.c: Change loop indices to size_t when
appropriate to suppress gcc warning.
* resolv/res_send.c: Suppress warning.
* sunrpc/xdr_sizeof.c: Suppress warning.
* FAQ: Add ppc-linux.
* manual/maint.texi: Add ppc-linux. Explain that gcc can't build it
yet.
* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Correct for
current kernels.
1997-08-15 07:45 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/fmtmsg.c: Use two parameters for __libc_once_define.
* sysdeps/i386/machine-gmon.h: Correct typo.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Change to match
kernel.
* sysdeps/generic/dl-sysdep.c: Add hook for bizzare PPC argument hack.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Rewrite to use
sysdeps/linux/dl-sysdep.c.
* sysdeps/powerpc/Makefile [subdir=gmon]: Compile ppc-mcount.
* sysdeps/powerpc/machine-gmon.h: Use ppc-mcount.
* sysdeps/powerpc/ppc-mcount: New file.
The following are mostly changes to allow profiling:
* sysdeps/powerpc/add_n.S: Added.
* sysdeps/powerpc/add_n.s: Removed.
* sysdeps/powerpc/addmul_1.S: Added.
* sysdeps/powerpc/addmul_1.s: Removed.
* sysdeps/powerpc/bsd-_setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/bsd-setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/lshift.S: Added.
* sysdeps/powerpc/lshift.s: Removed.
* sysdeps/powerpc/memset.S: Added.
* sysdeps/powerpc/memset.s: Removed.
* sysdeps/powerpc/mul_1.S: Added.
* sysdeps/powerpc/mul_1.s: Removed.
* sysdeps/powerpc/rshift.S: Added.
* sysdeps/powerpc/rshift.s: Removed.
* sysdeps/powerpc/s_copysign.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/s_fabs.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/strchr.S: Added.
* sysdeps/powerpc/strchr.s: Removed.
* sysdeps/powerpc/strcmp.S: Added.
* sysdeps/powerpc/strcmp.s: Removed.
* sysdeps/powerpc/strlen.S: Added.
* sysdeps/powerpc/strlen.s: Removed.
* sysdeps/powerpc/sub_n.S: Added.
* sysdeps/powerpc/sub_n.s: Removed.
* sysdeps/powerpc/submul_1.S: Added.
* sysdeps/powerpc/submul_1.s: Removed.
* sysdeps/unix/sysv/linux/powerpc/_exit.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Added.
* sysdeps/unix/sysv/linux/powerpc/brk.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Use new macros. Fix
various bugs. Document that it isn't tested.
* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Make look like
sysdeps/unix/_exit.S.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Define some new macros
to make assembler (possibly) more portable, allow profiling, etc.
1997-09-11 20:09:10 +08:00
|
|
|
@code{binutils} 2.8.1
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
Using the GNU @code{binutils} (assembler, linker, and related tools) is
|
|
|
|
preferable when possible, and they are required to build an ELF shared C
|
Update.
1997-09-11 04:36 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Define __set_errno if not yet available.
* db2/btree/bt_rec.c: Use __set_errno to set errno value.
* db2/clib/getlong.c: Likewise.
* db2/db185/db185.c: Likewise.
* db2/db185/db185_int.h: Likewise.
* db2/dbm/dbm.c: Likewise.
* db2/lock/lock_deadlock.c: Likewise.
* db2/log/log_archive.c: Likewise.
* elf/dl-profile.c: Implement mcount function.
* gmon/gmon.c: Use __profil not profil because of namespace pollution.
* gmon/mcount.c: Remove BSD kernel code.
Use compare&swap instruction if possible to change state variable.
Optimize frompc folding.
* gmon/sys/gmon.h (struct gmonparam): Change state field to long int.
* sysdeps/i386/i486/atomicity.h: New file.
* sysdeps/stub/atomicity.h: New file.
* sysdeps/mach/hurd/profil.c: Define function as __profil and make
profil weak alias.
* sysdeps/posix/profil.c: Likewise.
* string/bits/string2.h: New file.
* include/bits/string2.h: New file.
* string/Makefile (routines): Add mempcpy.
(tests): Add inl-tester.
Remove _D__NO_STRING_INLINES from CFLAGS-* variables.
* sysdeps/generic/mempcpy.c: New file.
* sysdeps/generic/memccpy.c: Undef function name to enable definition
as macro.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memmem.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/strcat.c: Likewise.
* sysdeps/generic/strchr.c: Likewise.
* sysdeps/generic/strcmp.c: Likewise.
* sysdeps/generic/strcpy.c: Likewise.
* sysdeps/generic/strcspn.c: Likewise.
* sysdeps/generic/strlen.c: Likewise.
* sysdeps/generic/strncat.c: Likewise.
* sysdeps/generic/strncmp.c: Likewise.
* sysdeps/generic/strncpy.c: Likewise.
* sysdeps/generic/strpbrk.c: Likewise.
* sysdeps/generic/strrchr.c: Likewise.
* sysdeps/generic/strsep.c: Likewise.
* sysdeps/generic/strspn.c: Likewise.
* sysdeps/generic/strstr.c: Likewise.
* sysdeps/generic/strtok.c: Likewise.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/i386/bits/string.h: Correct a few types and constraints.
* sysdeps/i386/i486/bits/string.h: Heavy rewrites and optimizations.
* string/stratcliff.c: Undefine __USE_STRING_INLINES.
* string/tst-strlen.c: Likewise.
* string/string.h: Add prototype for mempcpy. Include bits/string2.h
header always if optimizing.
* intl/dcgettext.c: Don't unconditionally define stpcpy, only if not
yet defined.
* intl/l10nflist.c: Likewise.
* string/tester.c: Add copyright and make little cleanups.
* inet/test_ifindex.c: Change type of ni variable to unsigned int.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Change type
of fields map_collection_max and map_collection_act to size_t.
* nss/libnss_files.map: Group entries.
* posix/unistd.h: Add prototype for __setpgid and __profil.
* sysdeps/generic/crypt.h: Declare __crypt_r.
* sysdeps/i386/bits/select.h: Fix fatal bugs, use correct casts now.
* sysdeps/i386/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater, isunordered): Optimize a bit.
* sysdeps/stub/ftruncate.c: Include missing header for prototype.
* sysdeps/stub/getdents.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/swapon.c: Likewise.
* sysdeps/stub/syscall.c: Likewise.
* sysdeps/stub/ualarm.c: Likewise.
* sysdeps/stub/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Don't compile or use opensock
if SIOGIFINDEX and SIOGIFNAME are not defined.
* sysdeps/unix/sysv/linux/net/if.h: Add IFF_PORTSEL and IFF_AUTOMEDIA
according to recent kernel changes.
1997-09-10 21:32 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* Makeconfig: Use $(have-initfini) instead of $(elf) to figure out
the installed name of the startup code.
(common-generated): Add version.mk.
* Makefile (distclean-1): Add glibcbug.
* Makerules: Replace -lgcc by $(gnulib).
* catgets/Makefile (generated): Add xmalloc.o.
* csu/Makefile (generated): Replace align.h and end.h by defs.h to
match the generated file.
* manual/Makefile (mostlyclean): Add stub-manual and stamp.o.
(realclean): Changed to remove chapters-incl[12].
* po/Makefile (realclean): New rule to remove the generated .mo files.
* time/Makefile: Only include zonefile dependencies if $(no_deps) is
not true to avoid make clean failure when directory time doesn't exist
yet.
(generated): Add tzselect.
* stdio/fgets.c (fgets): Add casts to reduce gcc warning noise.
* stdio/internals.c (flushbuf): Likewise.
* stdio/linewrap.c (lwupdate): Likewise.
* stdio/memstream.c (enlarge_buffer): Likewise.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* time/tzset.c (compute_change): Likewise.
* misc/init-misc.c (__init_misc): Only declare static if HAVE_GNU_LD
is defined.
* sysdeps/posix/pipestream.c (FUNC): Change to generate ANSI C style
functions.
* sysdeps/stub/init-posix.c: Likewise.
* sysdeps/stub/profil.c: Likewise.
* munch-tmpl.c (__libc_init): Convert to ANSI C style declaration to
reduce gcc warning noise.
* stdio/glue.c (_filbuf, _flsbuf): Likewise.
* stdio/obstream.c (grow, seek, input, init_obstream): Likewise.
* stdio/vasprintf.c (enlarge_buffer): Likewise.
* sysdeps/generic/sysd-stdio.c (__stdio_read, __stdio_write,
__stdio_seek, __stdio_close, __stdio_fileno, __stdio_open,
__stdio_reopen): Likewise.
* sysdeps/posix/defs.c (_cleanup): Likewise.
* time/offtime.c (__offtime): Add cast.
* posix/getopt.c: Don't use text_set_element if not defined.
* configure.in: Provide a check for underscores before user labels
that works even when the compiler used for building doesn't work
(like when there is no C library). Use the old way if the compiler
works.
1997-09-10 05:08 David S. Miller <davem@caip.rutgers.edu>
* sysdeps/unix/sysv/linux/sparc/bits/ioctls.h: The TC* ioctls use
'T' not 't' on SparcLinux.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: tcflag_t is 32 bits.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add aliases for
_longjmp and siglongjmp.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/stdio.h: Add format attributes to the extra printf and
scanf like functions.
* stdio/stdio.h: Likewise.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Print tablename_val, not tablename_len.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Use sprintf instead of sprintf, the string always fits.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_gethostbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-proto.c
(_nss_nisplus_getprotobynumber_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbynumber_r):
Likewise.
* nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_getservbynumber_r): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Use
__stpcpy, __stpncpy and __strdup instead of public names.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_parse_netgroup):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename):
Likewise.
* libc.map: Export __stpcpy and __strdup.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-ldouble.c): Pass -ffloat-store to avoid excessive
precision.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* include/rpc/auth_des.h: New file.
1997-09-09 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (__mktime_internal): Declare sec_requested even if
!LEAP_SECONDS_POSSIBLE, since it's needed at the end when checking
for time_t overflow.
1997-09-09 22:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c: Correct test for too small buffer.
Reported by Erik Troan <ewt@redhat.com>.
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
1997-09-07 17:09 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/Makefile: Kill setjmp_aux.
* sysdeps/alpha/bits/setjmp.h: Rewrite in terms of an array.
* sysdeps/alpha/__longjmp.c: Remove.
* sysdeps/alpha/setjmp_aux.c: Remove.
* sysdeps/alpha/__longjmp.S: New file.
* sysdeps/alpha/bsd-_setjmp.S: Stub out.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Do the work; don't call __setjmp_aux.
Move _setjmp and setjmp from bsd-*.S.
1997-09-06 20:20 Ulrich Drepper <drepper@cygnus.com>
* include/rpc/auth.h: New file.
* include/rpc/auth_unix.h: New file.
1997-09-06 Paul Eggert <eggert@twinsun.com>
Fix gmtime so that it reports leap seconds when TZ
indicates that leap seconds are desired.
* time/gmtime.c (<stddef.h>): Remove unnecessary include.
(gmtime): Put after gmtime_r, to help the compiler inline.
(__tz_convert): New decl.
(gmtime_r): Use __tz_convert instead of __offtime,
so that leap seconds are handled correctly.
* time/localtime.c (<errno.h>, <libc-lock.h>): Remove includes that
are now unnecessary.
(__tzset_internal, __tz_compute, __tzfile_compute, __use_tzfile,
__tzset_lock): Remove extern decls that are now unnecessary.
(localtime_internal): Moved to __tz_convert in tzset.c.
so that localtime and gmtime can both use it easily.
(localtime): Put after localtime_r, to help the compiler inline.
(localtime_r): Use __tz_convert instead of localtime_internal.
* time/strftime.c (__tz_compute): Remove unused (and now incorrect)
decl.
* time/tzfile.c (__tzfile_compute): New arg USE_LOCALTIME.
* time/tzset.c (<errno.h>): Include.
(_tmbuf): New decl.
(__tzfile_compute): New function.
(tz_compute): Renamed from __tz_compute. No longer extern.
Remove redundant call to tzset_internal.
(tzset_internal): Renamed from __tzset_internal. No longer extern.
(tzset_lock): Renamed from __tzset_lock. No longer extern.
(__tz_convert): New function, containing functionality of old
localtime_internal function, plus locking and optional UTC.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzfile.c (__tzfile_read): Don't read a file if TZ is the empty
string, just use UTC without leap seconds. This is for compatibility
with the Olson code.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzset.c (__tzname_max): Lock tz data structures before
invoking tzset_internal.
* time/tzfile.c: Define compute_tzname_max statically.
1997-09-07 10:57 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c: Remove not longer necessary HAVE_SECURE_RPC ifdefs.
* nis/nis_intern.h: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/ypclnt.c: Likewise.
* sunrpc/auth_des.c: Don't dereference NULL pointer,
initialize ad->ad_timediff.
* sunrpc/auth_none.c: Don't define our own prototypes, use the one
from the header files.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/key_call.c: Fix signal handling.
* sunrpc/openchild.c: Don't use /bin/sh to start /usr/etc/keyenvoy,
or we will get a deadlock with NIS+.
* sunrpc/rpc/auth.h: Add prototype for xdr_opaque_auth, don't define
HAVE_SECURE_RPC.
1997-09-07 15:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/select.h [__GNUC__] (__FD_ZERO, __FD_SET, __FD_CLR,
__FD_ISSET): Use correct casts to address array correctly.
Reported by urbanw@cs.umu.se.
1997-09-07 05:07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
* sysdeps/i386/memset.c: Undefine memset in case the header with the
optimized functions is included.
Patches by NIIBE Yutaka <gniibe@mri.co.jp>.
* sysdeps/i386/bits/string.h [__PIC__] (strcspn, strspn, strpbrk,
strsep): Use register for second parameter.
* sysdeps/i386/i486/bits/string.h: Likewise.
Reported by NIIBE Yutaka <gniibe@mri.co.jp>.
1997-09-03 09:48 Geoff Keating <geoffk@ozemail.com.au>
* math/libm-test.c: Change various tolerances to match what the
tested routines can actually provide.
* math/Makefile: Add new tests.
* math/atest-sincos.c: New file.
* math/atest-exp.c: New file.
* csu/Makefile: Give initfini.s and initfiniS.s their own
CFLAGS-* macros so they can be overridden.
* sysdeps/powerpc/Makefile [subdir=csu]: Override flags for
initfiniS.s to use -fpic instead of -fPIC, because the sed script
breaks otherwise.
* sysdeps/powerpc/Makefile [build-shared]: Use -fpic not -fPIC for
efficiency.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Don't use register 0, to let _mcount be in a shared object.
* sysdeps/powerpc/dl-machine.h: Use full sentences in comments.
Generally clean up. Suppress some code we don't need when relocating
ld.so.
* sysdeps/powerpc/test-arith.c: Change loop indices to size_t when
appropriate to suppress gcc warning.
* resolv/res_send.c: Suppress warning.
* sunrpc/xdr_sizeof.c: Suppress warning.
* FAQ: Add ppc-linux.
* manual/maint.texi: Add ppc-linux. Explain that gcc can't build it
yet.
* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Correct for
current kernels.
1997-08-15 07:45 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/fmtmsg.c: Use two parameters for __libc_once_define.
* sysdeps/i386/machine-gmon.h: Correct typo.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Change to match
kernel.
* sysdeps/generic/dl-sysdep.c: Add hook for bizzare PPC argument hack.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Rewrite to use
sysdeps/linux/dl-sysdep.c.
* sysdeps/powerpc/Makefile [subdir=gmon]: Compile ppc-mcount.
* sysdeps/powerpc/machine-gmon.h: Use ppc-mcount.
* sysdeps/powerpc/ppc-mcount: New file.
The following are mostly changes to allow profiling:
* sysdeps/powerpc/add_n.S: Added.
* sysdeps/powerpc/add_n.s: Removed.
* sysdeps/powerpc/addmul_1.S: Added.
* sysdeps/powerpc/addmul_1.s: Removed.
* sysdeps/powerpc/bsd-_setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/bsd-setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/lshift.S: Added.
* sysdeps/powerpc/lshift.s: Removed.
* sysdeps/powerpc/memset.S: Added.
* sysdeps/powerpc/memset.s: Removed.
* sysdeps/powerpc/mul_1.S: Added.
* sysdeps/powerpc/mul_1.s: Removed.
* sysdeps/powerpc/rshift.S: Added.
* sysdeps/powerpc/rshift.s: Removed.
* sysdeps/powerpc/s_copysign.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/s_fabs.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/strchr.S: Added.
* sysdeps/powerpc/strchr.s: Removed.
* sysdeps/powerpc/strcmp.S: Added.
* sysdeps/powerpc/strcmp.s: Removed.
* sysdeps/powerpc/strlen.S: Added.
* sysdeps/powerpc/strlen.s: Removed.
* sysdeps/powerpc/sub_n.S: Added.
* sysdeps/powerpc/sub_n.s: Removed.
* sysdeps/powerpc/submul_1.S: Added.
* sysdeps/powerpc/submul_1.s: Removed.
* sysdeps/unix/sysv/linux/powerpc/_exit.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Added.
* sysdeps/unix/sysv/linux/powerpc/brk.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Use new macros. Fix
various bugs. Document that it isn't tested.
* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Make look like
sysdeps/unix/_exit.S.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Define some new macros
to make assembler (possibly) more portable, allow profiling, etc.
1997-09-11 20:09:10 +08:00
|
|
|
library. We recommend @code{binutils} version 2.8.1 or later; earlier
|
1996-08-10 08:00:16 +08:00
|
|
|
versions are known to have problems or to not support all architectures.
|
1997-09-21 09:47:02 +08:00
|
|
|
|
|
|
|
@item
|
|
|
|
@code{texinfo} 3.11
|
|
|
|
|
|
|
|
To correctly translate and install the Texinfo documentation you need
|
|
|
|
this version of the @code{texinfo} package. Former versions did not
|
|
|
|
understand all the tags used in the document and also the installation
|
|
|
|
mechanisms for the info files was not present or worked differently.
|
|
|
|
|
|
|
|
On some Debian Linux based systems the used @code{install-info} program
|
|
|
|
works differently. Here you have to run make like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
make INSTALL_INFO=/path/to/GNU/install-info install
|
|
|
|
@end smallexample
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
If you change any configuration file you will need also
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
@code{autoconf} 2.12
|
1996-05-14 01:30:42 +08:00
|
|
|
@end itemize
|
|
|
|
|
1997-09-21 09:47:02 +08:00
|
|
|
@noindent
|
|
|
|
and if you change any of the message translation files you will also need
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
@code{GNU gettext} 0.10 or later
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
If you upgrade your source tree using the patches made available you probably
|
|
|
|
will need those package above in any case.
|
|
|
|
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@node Supported Configurations
|
|
|
|
@appendixsubsec Supported Configurations
|
|
|
|
@cindex configurations, all supported
|
|
|
|
|
|
|
|
The GNU C Library currently supports configurations that match the
|
|
|
|
following patterns:
|
|
|
|
|
|
|
|
@smallexample
|
1996-08-09 10:46:09 +08:00
|
|
|
alpha-@var{anything}-linux
|
1996-05-14 01:30:42 +08:00
|
|
|
i@var{x}86-@var{anything}-gnu
|
1997-05-27 07:01:17 +08:00
|
|
|
i@var{x}86-@var{anything}-linux
|
|
|
|
m68k-@var{anything}-linux
|
Update.
1997-09-11 04:36 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Define __set_errno if not yet available.
* db2/btree/bt_rec.c: Use __set_errno to set errno value.
* db2/clib/getlong.c: Likewise.
* db2/db185/db185.c: Likewise.
* db2/db185/db185_int.h: Likewise.
* db2/dbm/dbm.c: Likewise.
* db2/lock/lock_deadlock.c: Likewise.
* db2/log/log_archive.c: Likewise.
* elf/dl-profile.c: Implement mcount function.
* gmon/gmon.c: Use __profil not profil because of namespace pollution.
* gmon/mcount.c: Remove BSD kernel code.
Use compare&swap instruction if possible to change state variable.
Optimize frompc folding.
* gmon/sys/gmon.h (struct gmonparam): Change state field to long int.
* sysdeps/i386/i486/atomicity.h: New file.
* sysdeps/stub/atomicity.h: New file.
* sysdeps/mach/hurd/profil.c: Define function as __profil and make
profil weak alias.
* sysdeps/posix/profil.c: Likewise.
* string/bits/string2.h: New file.
* include/bits/string2.h: New file.
* string/Makefile (routines): Add mempcpy.
(tests): Add inl-tester.
Remove _D__NO_STRING_INLINES from CFLAGS-* variables.
* sysdeps/generic/mempcpy.c: New file.
* sysdeps/generic/memccpy.c: Undef function name to enable definition
as macro.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memmem.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/strcat.c: Likewise.
* sysdeps/generic/strchr.c: Likewise.
* sysdeps/generic/strcmp.c: Likewise.
* sysdeps/generic/strcpy.c: Likewise.
* sysdeps/generic/strcspn.c: Likewise.
* sysdeps/generic/strlen.c: Likewise.
* sysdeps/generic/strncat.c: Likewise.
* sysdeps/generic/strncmp.c: Likewise.
* sysdeps/generic/strncpy.c: Likewise.
* sysdeps/generic/strpbrk.c: Likewise.
* sysdeps/generic/strrchr.c: Likewise.
* sysdeps/generic/strsep.c: Likewise.
* sysdeps/generic/strspn.c: Likewise.
* sysdeps/generic/strstr.c: Likewise.
* sysdeps/generic/strtok.c: Likewise.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/i386/bits/string.h: Correct a few types and constraints.
* sysdeps/i386/i486/bits/string.h: Heavy rewrites and optimizations.
* string/stratcliff.c: Undefine __USE_STRING_INLINES.
* string/tst-strlen.c: Likewise.
* string/string.h: Add prototype for mempcpy. Include bits/string2.h
header always if optimizing.
* intl/dcgettext.c: Don't unconditionally define stpcpy, only if not
yet defined.
* intl/l10nflist.c: Likewise.
* string/tester.c: Add copyright and make little cleanups.
* inet/test_ifindex.c: Change type of ni variable to unsigned int.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Change type
of fields map_collection_max and map_collection_act to size_t.
* nss/libnss_files.map: Group entries.
* posix/unistd.h: Add prototype for __setpgid and __profil.
* sysdeps/generic/crypt.h: Declare __crypt_r.
* sysdeps/i386/bits/select.h: Fix fatal bugs, use correct casts now.
* sysdeps/i386/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater, isunordered): Optimize a bit.
* sysdeps/stub/ftruncate.c: Include missing header for prototype.
* sysdeps/stub/getdents.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/swapon.c: Likewise.
* sysdeps/stub/syscall.c: Likewise.
* sysdeps/stub/ualarm.c: Likewise.
* sysdeps/stub/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Don't compile or use opensock
if SIOGIFINDEX and SIOGIFNAME are not defined.
* sysdeps/unix/sysv/linux/net/if.h: Add IFF_PORTSEL and IFF_AUTOMEDIA
according to recent kernel changes.
1997-09-10 21:32 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* Makeconfig: Use $(have-initfini) instead of $(elf) to figure out
the installed name of the startup code.
(common-generated): Add version.mk.
* Makefile (distclean-1): Add glibcbug.
* Makerules: Replace -lgcc by $(gnulib).
* catgets/Makefile (generated): Add xmalloc.o.
* csu/Makefile (generated): Replace align.h and end.h by defs.h to
match the generated file.
* manual/Makefile (mostlyclean): Add stub-manual and stamp.o.
(realclean): Changed to remove chapters-incl[12].
* po/Makefile (realclean): New rule to remove the generated .mo files.
* time/Makefile: Only include zonefile dependencies if $(no_deps) is
not true to avoid make clean failure when directory time doesn't exist
yet.
(generated): Add tzselect.
* stdio/fgets.c (fgets): Add casts to reduce gcc warning noise.
* stdio/internals.c (flushbuf): Likewise.
* stdio/linewrap.c (lwupdate): Likewise.
* stdio/memstream.c (enlarge_buffer): Likewise.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* time/tzset.c (compute_change): Likewise.
* misc/init-misc.c (__init_misc): Only declare static if HAVE_GNU_LD
is defined.
* sysdeps/posix/pipestream.c (FUNC): Change to generate ANSI C style
functions.
* sysdeps/stub/init-posix.c: Likewise.
* sysdeps/stub/profil.c: Likewise.
* munch-tmpl.c (__libc_init): Convert to ANSI C style declaration to
reduce gcc warning noise.
* stdio/glue.c (_filbuf, _flsbuf): Likewise.
* stdio/obstream.c (grow, seek, input, init_obstream): Likewise.
* stdio/vasprintf.c (enlarge_buffer): Likewise.
* sysdeps/generic/sysd-stdio.c (__stdio_read, __stdio_write,
__stdio_seek, __stdio_close, __stdio_fileno, __stdio_open,
__stdio_reopen): Likewise.
* sysdeps/posix/defs.c (_cleanup): Likewise.
* time/offtime.c (__offtime): Add cast.
* posix/getopt.c: Don't use text_set_element if not defined.
* configure.in: Provide a check for underscores before user labels
that works even when the compiler used for building doesn't work
(like when there is no C library). Use the old way if the compiler
works.
1997-09-10 05:08 David S. Miller <davem@caip.rutgers.edu>
* sysdeps/unix/sysv/linux/sparc/bits/ioctls.h: The TC* ioctls use
'T' not 't' on SparcLinux.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: tcflag_t is 32 bits.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add aliases for
_longjmp and siglongjmp.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/stdio.h: Add format attributes to the extra printf and
scanf like functions.
* stdio/stdio.h: Likewise.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Print tablename_val, not tablename_len.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Use sprintf instead of sprintf, the string always fits.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_gethostbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-proto.c
(_nss_nisplus_getprotobynumber_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbynumber_r):
Likewise.
* nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_getservbynumber_r): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Use
__stpcpy, __stpncpy and __strdup instead of public names.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_parse_netgroup):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename):
Likewise.
* libc.map: Export __stpcpy and __strdup.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-ldouble.c): Pass -ffloat-store to avoid excessive
precision.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* include/rpc/auth_des.h: New file.
1997-09-09 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (__mktime_internal): Declare sec_requested even if
!LEAP_SECONDS_POSSIBLE, since it's needed at the end when checking
for time_t overflow.
1997-09-09 22:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c: Correct test for too small buffer.
Reported by Erik Troan <ewt@redhat.com>.
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
1997-09-07 17:09 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/Makefile: Kill setjmp_aux.
* sysdeps/alpha/bits/setjmp.h: Rewrite in terms of an array.
* sysdeps/alpha/__longjmp.c: Remove.
* sysdeps/alpha/setjmp_aux.c: Remove.
* sysdeps/alpha/__longjmp.S: New file.
* sysdeps/alpha/bsd-_setjmp.S: Stub out.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Do the work; don't call __setjmp_aux.
Move _setjmp and setjmp from bsd-*.S.
1997-09-06 20:20 Ulrich Drepper <drepper@cygnus.com>
* include/rpc/auth.h: New file.
* include/rpc/auth_unix.h: New file.
1997-09-06 Paul Eggert <eggert@twinsun.com>
Fix gmtime so that it reports leap seconds when TZ
indicates that leap seconds are desired.
* time/gmtime.c (<stddef.h>): Remove unnecessary include.
(gmtime): Put after gmtime_r, to help the compiler inline.
(__tz_convert): New decl.
(gmtime_r): Use __tz_convert instead of __offtime,
so that leap seconds are handled correctly.
* time/localtime.c (<errno.h>, <libc-lock.h>): Remove includes that
are now unnecessary.
(__tzset_internal, __tz_compute, __tzfile_compute, __use_tzfile,
__tzset_lock): Remove extern decls that are now unnecessary.
(localtime_internal): Moved to __tz_convert in tzset.c.
so that localtime and gmtime can both use it easily.
(localtime): Put after localtime_r, to help the compiler inline.
(localtime_r): Use __tz_convert instead of localtime_internal.
* time/strftime.c (__tz_compute): Remove unused (and now incorrect)
decl.
* time/tzfile.c (__tzfile_compute): New arg USE_LOCALTIME.
* time/tzset.c (<errno.h>): Include.
(_tmbuf): New decl.
(__tzfile_compute): New function.
(tz_compute): Renamed from __tz_compute. No longer extern.
Remove redundant call to tzset_internal.
(tzset_internal): Renamed from __tzset_internal. No longer extern.
(tzset_lock): Renamed from __tzset_lock. No longer extern.
(__tz_convert): New function, containing functionality of old
localtime_internal function, plus locking and optional UTC.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzfile.c (__tzfile_read): Don't read a file if TZ is the empty
string, just use UTC without leap seconds. This is for compatibility
with the Olson code.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzset.c (__tzname_max): Lock tz data structures before
invoking tzset_internal.
* time/tzfile.c: Define compute_tzname_max statically.
1997-09-07 10:57 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c: Remove not longer necessary HAVE_SECURE_RPC ifdefs.
* nis/nis_intern.h: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/ypclnt.c: Likewise.
* sunrpc/auth_des.c: Don't dereference NULL pointer,
initialize ad->ad_timediff.
* sunrpc/auth_none.c: Don't define our own prototypes, use the one
from the header files.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/key_call.c: Fix signal handling.
* sunrpc/openchild.c: Don't use /bin/sh to start /usr/etc/keyenvoy,
or we will get a deadlock with NIS+.
* sunrpc/rpc/auth.h: Add prototype for xdr_opaque_auth, don't define
HAVE_SECURE_RPC.
1997-09-07 15:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/select.h [__GNUC__] (__FD_ZERO, __FD_SET, __FD_CLR,
__FD_ISSET): Use correct casts to address array correctly.
Reported by urbanw@cs.umu.se.
1997-09-07 05:07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
* sysdeps/i386/memset.c: Undefine memset in case the header with the
optimized functions is included.
Patches by NIIBE Yutaka <gniibe@mri.co.jp>.
* sysdeps/i386/bits/string.h [__PIC__] (strcspn, strspn, strpbrk,
strsep): Use register for second parameter.
* sysdeps/i386/i486/bits/string.h: Likewise.
Reported by NIIBE Yutaka <gniibe@mri.co.jp>.
1997-09-03 09:48 Geoff Keating <geoffk@ozemail.com.au>
* math/libm-test.c: Change various tolerances to match what the
tested routines can actually provide.
* math/Makefile: Add new tests.
* math/atest-sincos.c: New file.
* math/atest-exp.c: New file.
* csu/Makefile: Give initfini.s and initfiniS.s their own
CFLAGS-* macros so they can be overridden.
* sysdeps/powerpc/Makefile [subdir=csu]: Override flags for
initfiniS.s to use -fpic instead of -fPIC, because the sed script
breaks otherwise.
* sysdeps/powerpc/Makefile [build-shared]: Use -fpic not -fPIC for
efficiency.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Don't use register 0, to let _mcount be in a shared object.
* sysdeps/powerpc/dl-machine.h: Use full sentences in comments.
Generally clean up. Suppress some code we don't need when relocating
ld.so.
* sysdeps/powerpc/test-arith.c: Change loop indices to size_t when
appropriate to suppress gcc warning.
* resolv/res_send.c: Suppress warning.
* sunrpc/xdr_sizeof.c: Suppress warning.
* FAQ: Add ppc-linux.
* manual/maint.texi: Add ppc-linux. Explain that gcc can't build it
yet.
* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Correct for
current kernels.
1997-08-15 07:45 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/fmtmsg.c: Use two parameters for __libc_once_define.
* sysdeps/i386/machine-gmon.h: Correct typo.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Change to match
kernel.
* sysdeps/generic/dl-sysdep.c: Add hook for bizzare PPC argument hack.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Rewrite to use
sysdeps/linux/dl-sysdep.c.
* sysdeps/powerpc/Makefile [subdir=gmon]: Compile ppc-mcount.
* sysdeps/powerpc/machine-gmon.h: Use ppc-mcount.
* sysdeps/powerpc/ppc-mcount: New file.
The following are mostly changes to allow profiling:
* sysdeps/powerpc/add_n.S: Added.
* sysdeps/powerpc/add_n.s: Removed.
* sysdeps/powerpc/addmul_1.S: Added.
* sysdeps/powerpc/addmul_1.s: Removed.
* sysdeps/powerpc/bsd-_setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/bsd-setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/lshift.S: Added.
* sysdeps/powerpc/lshift.s: Removed.
* sysdeps/powerpc/memset.S: Added.
* sysdeps/powerpc/memset.s: Removed.
* sysdeps/powerpc/mul_1.S: Added.
* sysdeps/powerpc/mul_1.s: Removed.
* sysdeps/powerpc/rshift.S: Added.
* sysdeps/powerpc/rshift.s: Removed.
* sysdeps/powerpc/s_copysign.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/s_fabs.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/strchr.S: Added.
* sysdeps/powerpc/strchr.s: Removed.
* sysdeps/powerpc/strcmp.S: Added.
* sysdeps/powerpc/strcmp.s: Removed.
* sysdeps/powerpc/strlen.S: Added.
* sysdeps/powerpc/strlen.s: Removed.
* sysdeps/powerpc/sub_n.S: Added.
* sysdeps/powerpc/sub_n.s: Removed.
* sysdeps/powerpc/submul_1.S: Added.
* sysdeps/powerpc/submul_1.s: Removed.
* sysdeps/unix/sysv/linux/powerpc/_exit.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Added.
* sysdeps/unix/sysv/linux/powerpc/brk.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Use new macros. Fix
various bugs. Document that it isn't tested.
* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Make look like
sysdeps/unix/_exit.S.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Define some new macros
to make assembler (possibly) more portable, allow profiling, etc.
1997-09-11 20:09:10 +08:00
|
|
|
powerpc-@var{anything}-linux
|
Update.
1997-09-25 00:23 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-profile.c: Correct implementation.
* io/ftwtest-sh: Don't depend on TMPDIR == /tmp.
* locale/setlocale.c: Rewrite a bit for more clarity.
* math/Makefile (libm-calls): Add w_exp2.
* math/math_private.h: Add prototypes for __ieee754_exp2{,f,l}.
* sysdeps/libm-i387/s_exp2.S: Change name to __ieee754_exp2.
* sysdeps/libm-i387/s_exp2f.S: Likewise.
* sysdeps/libm-i387/s_exp2l.S: Likewise.
* sysdeps/libm-ieee754/k_standard.c: Add error cases for exp2.
* string/bits/string2.h (__strcpy_small): Optimize.
(__stpcpy_small): Likewise.
(strncpy): Use variable for dest argument since it's used more than
once.
(strncat): Likewise.
(strcmp): Add optimization for this function.
* sysdeps/i386/i486/string.h (strlen): Correctly use __builtin_strlen.
(__strcpy_small): Optimize.
(__stpcpy_small): Likewise.
(__stpcpy_c): Correctly use __mempcpy_* macros.
(__mempcpy_by2, __mempcpy_by4, __mempcpy_byn): Return pointer to
byte following last copied.
(strncat): Use variable for dest argument since it's used more than
once.
(strcmp): Add optimization for this function.
* sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Use
.text and .previous to select correct section.
1997-09-23 19:56 Philip Blundell <Philip.Blundell@pobox.com>
* configure.in: Add `--disable-versioning' option to suppress the
use of symbol versions even if binutils claims to support it.
1997-09-24 20:10 Philip Blundell <Philip.Blundell@pobox.com>
* csu/Makefile (before-compile): Don't try to build abi-tags.h if
not using ELF.
1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/sofini.c [HAVE_DWARF2_UNWIND_INFO]: Supply termination for
the frame unwind info section.
* elf/soinit.c [HAVE_DWARF2_UNWIND_INFO]: Register and unregister
the frame unwind info.
* config.h.in (HAVE_DWARF2_UNWIND_INFO): Add #undef.
* configure.in: Check whether gcc supports DWARF2 unwind info.
* libc.map: Export frame handling tables.
1997-09-10 06:56 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/unix/sysv/linux/powerpc/bits/kernel_termios.h:
Use the size of the kernel's termios structure for ioctls.
* sysdeps/powerpc/dl-machine.h: Prepare for library profiling.
* sysdeps/powerpc/bits/mathinline.h: Add slightly slower versions
of the C9X FP comparison macros. Delete 'fabs' and 'sqrt' inline
routines, because gcc has them as internals.
* sysdeps/powerpc/Makefile (pic-ccflags): Define this instead of
CFLAGS-.os.
* sysdeps/powerpc/bzero.S: New file.
* sysdeps/powerpc/strcat.c: New file.
* sysdeps/powerpc/strcpy.S: New file.
* sysdeps/powerpc/stpcpy.S: New file.
* math/Makefile: Add atest_exp2, test-reduce.
* math/atest_exp2.c: New file.
* math/test-reduce.c: New file.
* sysdeps/libm-ieee754/Dist: New file.
* sysdeps/libm-ieee754/s_exp2.c: New file.
* sysdeps/libm-ieee754/s_exp2f.c: New file.
* sysdeps/libm-ieee754/t_exp2.h: New file.
* sysdeps/libm-ieee754/t_exp2f.h: New file.
* math/libm-test.c (exp2_test): Add some more tests.
* Rules: Use empty.os instead of empty.o, since it gets linked into
libc.so...
* configure.in: Add --disable-static to disable building .a files.
* config.make.in: Substitute the new variable.
* Makeconfig: Don't build .o files if not building .a files.
* elf/dl-runtime.c (fixup): Factor out call to elf_machine_relplt.
(profile_fixup): Likewise.
1997-09-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/globtest.c (main): Change to directory passed as first
argument.
* posix/globtest.sh: Don't cd before running the program, instead
pass testdir as argument, so that $common_objpfx remains valid.
1997-09-23 18:01 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall2): Fix multiple Server support.
* nis/nis_findserver.c: Save latest working sockaddr_in.
1997-09-17 22:07 Zack Weinberg <zack@rabi.phys.columbia.edu>
* configure.in: Automatically determine whether as and ld are the
GNU versions.
(options): --with-gnu-{as,ld,binutils} replaced by
single option --with-binutils=PATH specifying a -B option to gcc.
* aclocal.m4: Two new macros defined, LIBC_PROG_FOO_GNU and
LIBC_PROG_BINUTILS.
* configure.in: Allow the user to force configuration for
unsupported platforms with an undocumented option.
1997-09-22 16:55 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/get_myaddr.c (get_myaddress): Avoid loopback interfaces,
return loopback address only if there is no other interface.
* nis/Makefile: Add nis_callback libnsl-routines.
* nis/nis_add.c: Use new __do_niscall* interface.
* nis/nis_cache.c: Likewise.
* nis/nis_checkpoint.c: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_mkdir.c: Likewise.
* nis/nis_modify.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_remove.c: Likewise.
* nis/nis_rmdir.c: Likewise.
* nis/nis_server.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/rpcsvc/nis.h: Make C++ safe.
* nis/nss_nisplus/nisplus-publickey.c (getsecretkey): Fix use
of variables.
* nis/nis_findserv.c: Make thread safe.
* nis/nis_call.c: Add support for callback, Fix use of variables.
* nis/nis_table.c: Add support for callback, FOLLOW_PATH and
ALL_RESULTS.
* nis/nis_callback.c: New, callback functions.
* nis/nis_intern.h: Add callback declarations.
1997-09-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h: Fix logic in preprocessor directive.
(__strsep_1c, __strsep_g): Don't declare __retval as pointing to
const, to save a cast and a possible warning.
1997-09-22 04:12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/i486/atomicity.h (exchange_and_add): Really address
memory in xadd not %1.
1997-09-21 13:56 Ulrich Drepper <drepper@cygnus.com>
* manual/maint.texi (Supported Configurations): Add SPARC64 to
list of supported platforms.
1997-09-25 07:03:42 +08:00
|
|
|
sparc64-@var{anything}-linux
|
1997-05-27 07:01:17 +08:00
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
Former releases of this library (version 1.09.1 and perhaps earlier
|
|
|
|
versions) used to run on the following configurations:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
alpha-dec-osf1
|
Update.
1997-05-31 02:33 Ulrich Drepper <drepper@cygnus.com>
* io/ftwtest-sh: More tests.
* misc/tsearch.c: Rewrite tdestroy_recursive.
* libio/libio.h: Define bits for libg++-2.8.
1997-05-30 22:21 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_nis/nis-hosts.c: Same changes as in
nss/nss_files/files-hosts.c (Always use inet_pton).
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
1997-05-30 09:50 Richard Henderson <rth@tamu.edu>
* manual/maint.texi: ECOFF hasn't been tested in ages and I don't
plan on doing so ever again. Don't say alpha-linuxecoff is known
to work.
* elf/dl-lookup.c: Include <alloca.h>.
* misc/tsearch.c: Include <string.h>.
* posix/execle.c: Include <alloca.h>.
* posix/execlp.c: Likewise.
* stdio-common/printf_fphex.c: Include <string.h>.
* sunrpc/xdr.c: Include <string.h>.
* sysdeps/generic/memccpy.c: Include only <string.h>.
* sunrpc/clnt_udp.c (clntudp_call): Make fromlen a size_t to fix
parameters to network functions.
* sunrpc/pmap_rmt.c (clnt_broadcast): Likewise.
* sunrpc/svc_tcp.c (svctcp_create): Likewise with `len'.
(rendezvous_request): Likewise.
* sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
(svcudp_recv): Similar, but go through a local variable. The old code
used &xprt->xp_addrlen. Someone should determine if the type of the
structure member should be changed instead.
* sunrpc/xdr_rec.c (xdrrec_create): Expunge a ptr->int cast warning
and transform a nonsense for-loop to a closed form calculation.
(fill_input_buf): Another ptr->int warning.
* sysdeps/alpha/Makefile: Temporarily turn on -mieee globally. This
will last until I figure out how to build a parallel libm_ieee.
* sysdeps/alpha/fpu/fclrexcpt.c,
* sysdeps/alpha/fpu/fegetenv.c,
* sysdeps/alpha/fpu/fegetround.c,
* sysdeps/alpha/fpu/feholdexcpt.c,
* sysdeps/alpha/fpu/fenvbits.h,
* sysdeps/alpha/fpu/fesetenv.c,
* sysdeps/alpha/fpu/fesetround.c,
* sysdeps/alpha/fpu/feupdateenv.c,
* sysdeps/alpha/fpu/fgetexcptflg.c,
* sysdeps/alpha/fpu/fraiseexcpt.c,
* sysdeps/alpha/fpu/fsetexcptflg.c,
* sysdeps/alpha/fpu/ftestexcept.c: New files. There is, btw, a small
kernel patch that must be applied as of 2.0.31-pre1 and 2.1.41 for
this to work properly.
* sysdeps/alpha/fpu/fpu_control.h: Update copyright. Change default
FP mode to round to nearest, no exceptions as for Intel.
* sysdeps/unix/sysv/linux/alpha/setfpucw.c: Add copyright.
(rdfpcr): Use excb rather than trapb. Be more efficient about
getting at the fpcr.
(wrfpcr): Likewise.
(__setfpucw): Reformat.
* sysdeps/ieee754/huge_val.h: Change GCC's HUGE_VAL definition to use
a single DI-mode integer instead of bytes. This produces better code
on Alpha. Similar for HUGE_VALF.
* sysdeps/ieee754/nan.h: Similar for NAN. Add NANF and NANL.
* sysdeps/libm-ieee754/s_log2.c: Missing */ and weak_alias.
* sysdeps/unix/alpha/sysdep.S: Tiny cleanups.
* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/brk.S: Don't use jmp macro to make
sure the stack frame is released the very instruction before the
real jump out.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/gnu/types.h: Undef some bits we may
have gotten from <linux/posix_types.h>.
* sysdeps/unix/sysv/linux/alpha/ioperm.c: Add definition for Miata.
1997-05-30 13:05 Ulrich Drepper <drepper@cygnus.com>
* misc/tst-tsearch.c (mangle_tree): Update casts to prevent
warnings.
1997-05-29 14:02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/ttydefaults.h (CEOL, CSTATUS): Use
correct value for _POSIX_VDISABLE.
1997-05-29 13:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (manual/dir-add.texi): Force execution.
1997-05-29 13:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysexits.h: New file.
1997-05-29 13:55 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdlib/strfmon.c: Don't run past EOS after `='.
1997-02-27 10:34 Richard Henderson <rth@tamu.edu>
1997-05-31 08:47:04 +08:00
|
|
|
alpha-@var{anything}-linuxecoff
|
1997-05-27 07:01:17 +08:00
|
|
|
i@var{x}86-@var{anything}-bsd4.3
|
1996-05-14 01:30:42 +08:00
|
|
|
i@var{x}86-@var{anything}-isc2.2
|
|
|
|
i@var{x}86-@var{anything}-isc3.@var{n}
|
|
|
|
i@var{x}86-@var{anything}-sco3.2
|
|
|
|
i@var{x}86-@var{anything}-sco3.2v4
|
|
|
|
i@var{x}86-@var{anything}-sysv
|
|
|
|
i@var{x}86-@var{anything}-sysv4
|
|
|
|
i@var{x}86-force_cpu386-none
|
|
|
|
i@var{x}86-sequent-bsd
|
|
|
|
i960-nindy960-none
|
|
|
|
m68k-hp-bsd4.3
|
|
|
|
m68k-mvme135-none
|
|
|
|
m68k-mvme136-none
|
|
|
|
m68k-sony-newsos3
|
|
|
|
m68k-sony-newsos4
|
|
|
|
m68k-sun-sunos4.@var{n}
|
|
|
|
mips-dec-ultrix4.@var{n}
|
|
|
|
mips-sgi-irix4.@var{n}
|
|
|
|
sparc-sun-solaris2.@var{n}
|
|
|
|
sparc-sun-sunos4.@var{n}
|
|
|
|
@end smallexample
|
|
|
|
|
1997-05-27 07:01:17 +08:00
|
|
|
Since no one has volunteered to test and fix the above configurations,
|
|
|
|
these are not supported at the moment. It's expected that these don't
|
|
|
|
work anymore. Porting the library is not hard. If you are interested
|
|
|
|
in doing a port, please contact the glibc maintainers by sending
|
|
|
|
electronic mail to @email{bug-glibc@@prep.ai.mit.edu}.
|
|
|
|
|
1996-05-25 05:42:06 +08:00
|
|
|
Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486},
|
1997-05-27 07:01:17 +08:00
|
|
|
@samp{i586}, or @samp{i686}. All of those configurations produce a
|
1996-05-25 05:42:06 +08:00
|
|
|
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.
|
1996-05-14 01:30:42 +08:00
|
|
|
|
|
|
|
While no other configurations are supported, there are handy aliases for
|
|
|
|
these few. (These aliases work in other GNU software as well.)
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
decstation
|
|
|
|
hp320-bsd4.3 hp300bsd
|
|
|
|
i486-gnu
|
|
|
|
i586-linux
|
|
|
|
i386-sco
|
|
|
|
i386-sco3.2v4
|
|
|
|
i386-sequent-dynix
|
|
|
|
i386-svr4
|
|
|
|
news
|
|
|
|
sun3-sunos4.@var{n} sun3
|
|
|
|
sun4-solaris2.@var{n} sun4-sunos5.@var{n}
|
|
|
|
sun4-sunos4.@var{n} sun4
|
|
|
|
@end smallexample
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@node Reporting Bugs
|
|
|
|
@appendixsec Reporting Bugs
|
|
|
|
@cindex reporting bugs
|
|
|
|
@cindex bugs, reporting
|
|
|
|
|
|
|
|
There are probably bugs in the GNU C library. There are certainly
|
|
|
|
errors and omissions in this manual. If you report them, they will get
|
|
|
|
fixed. If you don't, no one will ever know about them and they will
|
|
|
|
remain unfixed for all eternity, if not longer.
|
|
|
|
|
|
|
|
To report a bug, first you must find it. Hopefully, this will be the
|
|
|
|
hard part. Once you've found a bug, make sure it's really a bug. A
|
|
|
|
good way to do this is to see if the GNU C library behaves the same way
|
|
|
|
some other C library does. If so, probably you are wrong and the
|
|
|
|
libraries are right (but not necessarily). If not, one of the libraries
|
|
|
|
is probably wrong.
|
|
|
|
|
|
|
|
Once you're sure you've found a bug, try to narrow it down to the
|
|
|
|
smallest test case that reproduces the problem. In the case of a C
|
|
|
|
library, you really only need to narrow it down to one library
|
|
|
|
function call, if possible. This should not be too difficult.
|
|
|
|
|
|
|
|
The final step when you have a simple test case is to report the bug.
|
|
|
|
When reporting a bug, send your test case, the results you got, the
|
|
|
|
results you expected, what you think the problem might be (if you've
|
|
|
|
thought of anything), your system type, and the version of the GNU C
|
|
|
|
library which you are using. Also include the files
|
|
|
|
@file{config.status} and @file{config.make} which are created by running
|
|
|
|
@file{configure}; they will be in whatever directory was current when
|
|
|
|
you ran @file{configure}.
|
|
|
|
|
|
|
|
If you think you have found some way in which the GNU C library does not
|
1996-12-08 16:01:13 +08:00
|
|
|
conform to the ISO and POSIX standards (@pxref{Standards and
|
1995-02-18 09:27:10 +08:00
|
|
|
Portability}), that is definitely a bug. Report it!@refill
|
|
|
|
|
|
|
|
Send bug reports to the Internet address
|
1997-05-27 07:01:17 +08:00
|
|
|
@email{bug-glibc@@prep.ai.mit.edu} or the UUCP path
|
|
|
|
@email{mit-eddie!prep.ai.mit.edu!bug-glibc}. If you have other problems
|
1995-02-18 09:27:10 +08:00
|
|
|
with installation or use, please report those as well.@refill
|
|
|
|
|
|
|
|
If you are not sure how a function should behave, and this manual
|
|
|
|
doesn't tell you, that's a bug in the manual. Report that too! If the
|
|
|
|
function's behavior disagrees with the manual, then either the library
|
|
|
|
or the manual has a bug, so report the disagreement. If you find any
|
|
|
|
errors or omissions in this manual, please report them to the Internet
|
1997-05-27 07:01:17 +08:00
|
|
|
address @email{bug-glibc-manual@@prep.ai.mit.edu} or the UUCP path
|
|
|
|
@email{mit-eddie!prep.ai.mit.edu!bug-glibc-manual}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@node Source Layout
|
|
|
|
@appendixsec Adding New Functions
|
|
|
|
|
|
|
|
The process of building the library is driven by the makefiles, which
|
|
|
|
make heavy use of special features of GNU @code{make}. The makefiles
|
|
|
|
are very complex, and you probably don't want to try to understand them.
|
|
|
|
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.
|
1996-05-25 05:42:06 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
The @file{string} subdirectory has all the string-manipulation
|
1996-05-25 05:42:06 +08:00
|
|
|
functions, @file{math} has all the mathematical functions, etc.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Each subdirectory contains a simple makefile, called @file{Makefile},
|
|
|
|
which defines a few @code{make} variables and then includes the global
|
|
|
|
makefile @file{Rules} with a line like:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
include ../Rules
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
The basic variables that a subdirectory makefile defines are:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item subdir
|
|
|
|
The name of the subdirectory, for example @file{stdio}.
|
|
|
|
This variable @strong{must} be defined.
|
|
|
|
|
|
|
|
@item headers
|
|
|
|
The names of the header files in this section of the library,
|
|
|
|
such as @file{stdio.h}.
|
|
|
|
|
|
|
|
@item routines
|
|
|
|
@itemx aux
|
|
|
|
The names of the modules (source files) in this section of the library.
|
|
|
|
These should be simple names, such as @samp{strlen} (rather than
|
|
|
|
complete file names, such as @file{strlen.c}). Use @code{routines} for
|
|
|
|
modules that define functions in the library, and @code{aux} for
|
|
|
|
auxiliary modules containing things like data definitions. But the
|
|
|
|
values of @code{routines} and @code{aux} are just concatenated, so there
|
|
|
|
really is no practical difference.@refill
|
|
|
|
|
|
|
|
@item tests
|
|
|
|
The names of test programs for this section of the library. These
|
|
|
|
should be simple names, such as @samp{tester} (rather than complete file
|
|
|
|
names, such as @file{tester.c}). @w{@samp{make tests}} will build and
|
|
|
|
run all the test programs. If a test program needs input, put the test
|
|
|
|
data in a file called @file{@var{test-program}.input}; it will be given to
|
|
|
|
the test program on its standard input. If a test program wants to be
|
|
|
|
run with arguments, put the arguments (all on a single line) in a file
|
1996-05-25 05:42:06 +08:00
|
|
|
called @file{@var{test-program}.args}. Test programs should exit with
|
|
|
|
zero status when the test passes, and nonzero status when the test
|
|
|
|
indicates a bug in the library or error in building.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@item others
|
|
|
|
The names of ``other'' programs associated with this section of the
|
|
|
|
library. These are programs which are not tests per se, but are other
|
|
|
|
small programs included with the library. They are built by
|
|
|
|
@w{@samp{make others}}.@refill
|
|
|
|
|
|
|
|
@item install-lib
|
|
|
|
@itemx install-data
|
|
|
|
@itemx install
|
|
|
|
Files to be installed by @w{@samp{make install}}. Files listed in
|
|
|
|
@samp{install-lib} are installed in the directory specified by
|
|
|
|
@samp{libdir} in @file{configparms} or @file{Makeconfig}
|
|
|
|
(@pxref{Installation}). Files listed in @code{install-data} are
|
|
|
|
installed in the directory specified by @samp{datadir} in
|
|
|
|
@file{configparms} or @file{Makeconfig}. Files listed in @code{install}
|
|
|
|
are installed in the directory specified by @samp{bindir} in
|
|
|
|
@file{configparms} or @file{Makeconfig}.@refill
|
|
|
|
|
|
|
|
@item distribute
|
|
|
|
Other files from this subdirectory which should be put into a
|
|
|
|
distribution tar file. You need not list here the makefile itself or
|
|
|
|
the source and header files listed in the other standard variables.
|
|
|
|
Only define @code{distribute} if there are files used in an unusual way
|
|
|
|
that should go into the distribution.
|
|
|
|
|
|
|
|
@item generated
|
|
|
|
Files which are generated by @file{Makefile} in this subdirectory.
|
|
|
|
These files will be removed by @w{@samp{make clean}}, and they will
|
|
|
|
never go into a distribution.
|
|
|
|
|
|
|
|
@item extra-objs
|
|
|
|
Extra object files which are built by @file{Makefile} in this
|
|
|
|
subdirectory. This should be a list of file names like @file{foo.o};
|
|
|
|
the files will actually be found in whatever directory object files are
|
|
|
|
being built in. These files will be removed by @w{@samp{make clean}}.
|
|
|
|
This variable is used for secondary object files needed to build
|
|
|
|
@code{others} or @code{tests}.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@node Porting
|
|
|
|
@appendixsec Porting the GNU C Library
|
|
|
|
|
|
|
|
The GNU C library is written to be easily portable to a variety of
|
|
|
|
machines and operating systems. Machine- and operating system-dependent
|
|
|
|
functions are well separated to make it easy to add implementations for
|
|
|
|
new machines or operating systems. This section describes the layout of
|
|
|
|
the library source tree and explains the mechanisms used to select
|
|
|
|
machine-dependent code to use.
|
|
|
|
|
|
|
|
All the machine-dependent and operating system-dependent files in the
|
|
|
|
library are in the subdirectory @file{sysdeps} under the top-level
|
|
|
|
library source directory. This directory contains a hierarchy of
|
|
|
|
subdirectories (@pxref{Hierarchy Conventions}).
|
|
|
|
|
|
|
|
Each subdirectory of @file{sysdeps} contains source files for a
|
|
|
|
particular machine or operating system, or for a class of machine or
|
|
|
|
operating system (for example, systems by a particular vendor, or all
|
|
|
|
machines that use IEEE 754 floating-point format). A configuration
|
|
|
|
specifies an ordered list of these subdirectories. Each subdirectory
|
|
|
|
implicitly appends its parent directory to the list. For example,
|
|
|
|
specifying the list @file{unix/bsd/vax} is equivalent to specifying the
|
|
|
|
list @file{unix/bsd/vax unix/bsd unix}. A subdirectory can also specify
|
|
|
|
that it implies other subdirectories which are not directly above it in
|
|
|
|
the directory hierarchy. If the file @file{Implies} exists in a
|
|
|
|
subdirectory, it lists other subdirectories of @file{sysdeps} which are
|
|
|
|
appended to the list, appearing after the subdirectory containing the
|
|
|
|
@file{Implies} file. Lines in an @file{Implies} file that begin with a
|
|
|
|
@samp{#} character are ignored as comments. For example,
|
|
|
|
@file{unix/bsd/Implies} contains:@refill
|
|
|
|
@smallexample
|
|
|
|
# BSD has Internet-related things.
|
|
|
|
unix/inet
|
|
|
|
@end smallexample
|
|
|
|
@noindent
|
|
|
|
and @file{unix/Implies} contains:
|
|
|
|
@need 300
|
|
|
|
@smallexample
|
|
|
|
posix
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
So the final list is @file{unix/bsd/vax unix/bsd unix/inet unix posix}.
|
|
|
|
|
|
|
|
@file{sysdeps} has two ``special'' subdirectories, called @file{generic}
|
|
|
|
and @file{stub}. These two are always implicitly appended to the list
|
|
|
|
of subdirectories (in that order), so you needn't put them in an
|
|
|
|
@file{Implies} file, and you should not create any subdirectories under
|
1996-05-25 05:42:06 +08:00
|
|
|
them intended to be new specific categories. @file{generic} is for
|
|
|
|
things that can be implemented in machine-independent C, using only
|
|
|
|
other machine-independent functions in the C library. @file{stub} is
|
|
|
|
for @dfn{stub} versions of functions which cannot be implemented on a
|
|
|
|
particular machine or operating system. The stub functions always
|
|
|
|
return an error, and set @code{errno} to @code{ENOSYS} (Function not
|
|
|
|
implemented). @xref{Error Reporting}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
A source file is known to be system-dependent by its having a version in
|
1996-05-25 05:42:06 +08:00
|
|
|
@file{generic} or @file{stub}; every generally-available function whose
|
|
|
|
implementation is system-dependent in should have either a generic or
|
|
|
|
stub implementation (there is no point in having both). Some rare functions
|
|
|
|
are only useful on specific systems and aren't defined at all on others;
|
|
|
|
these do not appear anywhere in the system-independent source code or makefiles
|
|
|
|
(including the @file{generic} and @file{stub} directories), only in the
|
|
|
|
system-dependent @file{Makefile} in the specific system's subdirectory.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
If you come across a file that is in one of the main source directories
|
|
|
|
(@file{string}, @file{stdio}, etc.), and you want to write a machine- or
|
|
|
|
operating system-dependent version of it, move the file into
|
|
|
|
@file{sysdeps/generic} and write your new implementation in the
|
|
|
|
appropriate system-specific subdirectory. Note that if a file is to be
|
|
|
|
system-dependent, it @strong{must not} appear in one of the main source
|
|
|
|
directories.@refill
|
|
|
|
|
|
|
|
There are a few special files that may exist in each subdirectory of
|
|
|
|
@file{sysdeps}:
|
|
|
|
|
|
|
|
@comment Blank lines after items make the table look better.
|
|
|
|
@table @file
|
|
|
|
@item Makefile
|
|
|
|
|
|
|
|
A makefile for this machine or operating system, or class of machine or
|
|
|
|
operating system. This file is included by the library makefile
|
|
|
|
@file{Makerules}, which is used by the top-level makefile and the
|
|
|
|
subdirectory makefiles. It can change the variables set in the
|
|
|
|
including makefile or add new rules. It can use GNU @code{make}
|
|
|
|
conditional directives based on the variable @samp{subdir} (see above) to
|
|
|
|
select different sets of variables and rules for different sections of
|
|
|
|
the library. It can also set the @code{make} variable
|
|
|
|
@samp{sysdep-routines}, to specify extra modules to be included in the
|
|
|
|
library. You should use @samp{sysdep-routines} rather than adding
|
|
|
|
modules to @samp{routines} because the latter is used in determining
|
|
|
|
what to distribute for each subdirectory of the main source tree.@refill
|
|
|
|
|
|
|
|
Each makefile in a subdirectory in the ordered list of subdirectories to
|
|
|
|
be searched is included in order. Since several system-dependent
|
|
|
|
makefiles may be included, each should append to @samp{sysdep-routines}
|
|
|
|
rather than simply setting it:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
sysdep-routines := $(sysdep-routines) foo bar
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@need 1000
|
|
|
|
@item Subdirs
|
|
|
|
|
|
|
|
This file contains the names of new whole subdirectories under the
|
|
|
|
top-level library source tree that should be included for this system.
|
|
|
|
These subdirectories are treated just like the system-independent
|
|
|
|
subdirectories in the library source tree, such as @file{stdio} and
|
|
|
|
@file{math}.
|
|
|
|
|
|
|
|
Use this when there are completely new sets of functions and header
|
|
|
|
files that should go into the library for the system this subdirectory
|
|
|
|
of @file{sysdeps} implements. For example,
|
|
|
|
@file{sysdeps/unix/inet/Subdirs} contains @file{inet}; the @file{inet}
|
|
|
|
directory contains various network-oriented operations which only make
|
|
|
|
sense to put in the library on systems that support the Internet.@refill
|
|
|
|
|
|
|
|
@item Dist
|
|
|
|
|
|
|
|
This file contains the names of files (relative to the subdirectory of
|
|
|
|
@file{sysdeps} in which it appears) which should be included in the
|
|
|
|
distribution. List any new files used by rules in the @file{Makefile}
|
|
|
|
in the same directory, or header files used by the source files in that
|
|
|
|
directory. You don't need to list files that are implementations
|
|
|
|
(either C or assembly source) of routines whose names are given in the
|
|
|
|
machine-independent makefiles in the main source tree.
|
|
|
|
|
|
|
|
@item configure
|
|
|
|
|
|
|
|
This file is a shell script fragment to be run at configuration time.
|
|
|
|
The top-level @file{configure} script uses the shell @code{.} command to
|
|
|
|
read the @file{configure} file in each system-dependent directory
|
|
|
|
chosen, in order. The @file{configure} files are often generated from
|
|
|
|
@file{configure.in} files using Autoconf.
|
|
|
|
|
|
|
|
A system-dependent @file{configure} script will usually add things to
|
|
|
|
the shell variables @samp{DEFS} and @samp{config_vars}; see the
|
|
|
|
top-level @file{configure} script for details. The script can check for
|
|
|
|
@w{@samp{--with-@var{package}}} options that were passed to the
|
|
|
|
top-level @file{configure}. For an option
|
|
|
|
@w{@samp{--with-@var{package}=@var{value}}} @file{configure} sets the
|
|
|
|
shell variable @w{@samp{with_@var{package}}} (with any dashes in
|
|
|
|
@var{package} converted to underscores) to @var{value}; if the option is
|
|
|
|
just @w{@samp{--with-@var{package}}} (no argument), then it sets
|
|
|
|
@w{@samp{with_@var{package}}} to @samp{yes}.
|
|
|
|
|
|
|
|
@item configure.in
|
|
|
|
|
|
|
|
This file is an Autoconf input fragment to be processed into the file
|
|
|
|
@file{configure} in this subdirectory. @xref{Introduction,,,
|
|
|
|
autoconf.info, Autoconf: Generating Automatic Configuration Scripts},
|
|
|
|
for a description of Autoconf. You should write either @file{configure}
|
|
|
|
or @file{configure.in}, but not both. The first line of
|
|
|
|
@file{configure.in} should invoke the @code{m4} macro
|
|
|
|
@samp{GLIBC_PROVIDES}. This macro does several @code{AC_PROVIDE} calls
|
|
|
|
for Autoconf macros which are used by the top-level @file{configure}
|
|
|
|
script; without this, those macros might be invoked again unnecessarily
|
|
|
|
by Autoconf.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
That is the general system for how system-dependencies are isolated.
|
|
|
|
@iftex
|
|
|
|
The next section explains how to decide what directories in
|
|
|
|
@file{sysdeps} to use. @ref{Porting to Unix}, has some tips on porting
|
|
|
|
the library to Unix variants.
|
|
|
|
@end iftex
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Hierarchy Conventions:: The layout of the @file{sysdeps} hierarchy.
|
|
|
|
* Porting to Unix:: Porting the library to an average
|
|
|
|
Unix-like system.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Hierarchy Conventions
|
|
|
|
@appendixsubsec Layout of the @file{sysdeps} Directory Hierarchy
|
|
|
|
|
|
|
|
A GNU configuration name has three parts: the CPU type, the
|
|
|
|
manufacturer's name, and the operating system. @file{configure} uses
|
|
|
|
these to pick the list of system-dependent directories to look for. If
|
|
|
|
the @samp{--nfp} option is @emph{not} passed to @file{configure}, the
|
|
|
|
directory @file{@var{machine}/fpu} is also used. The operating system
|
|
|
|
often has a @dfn{base operating system}; for example, if the operating
|
|
|
|
system is @samp{sunos4.1}, the base operating system is @samp{unix/bsd}.
|
|
|
|
The algorithm used to pick the list of directories is simple:
|
|
|
|
@file{configure} makes a list of the base operating system,
|
|
|
|
manufacturer, CPU type, and operating system, in that order. It then
|
|
|
|
concatenates all these together with slashes in between, to produce a
|
|
|
|
directory name; for example, the configuration @w{@samp{sparc-sun-sunos4.1}}
|
|
|
|
results in @file{unix/bsd/sun/sparc/sunos4.1}. @file{configure} then
|
|
|
|
tries removing each element of the list in turn, so
|
|
|
|
@file{unix/bsd/sparc} and @file{sun/sparc} are also tried, among others.
|
|
|
|
Since the precise version number of the operating system is often not
|
|
|
|
important, and it would be very inconvenient, for example, to have
|
|
|
|
identical @file{sunos4.1.1} and @file{sunos4.1.2} directories,
|
|
|
|
@file{configure} tries successively less specific operating system names
|
|
|
|
by removing trailing suffixes starting with a period.
|
|
|
|
|
|
|
|
As an example, here is the complete list of directories that would be
|
|
|
|
tried for the configuration @w{@samp{sparc-sun-sunos4.1}} (without the
|
|
|
|
@w{@samp{--nfp}} option):
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
sparc/fpu
|
|
|
|
unix/bsd/sun/sunos4.1/sparc
|
|
|
|
unix/bsd/sun/sunos4.1
|
|
|
|
unix/bsd/sun/sunos4/sparc
|
|
|
|
unix/bsd/sun/sunos4
|
|
|
|
unix/bsd/sun/sunos/sparc
|
|
|
|
unix/bsd/sun/sunos
|
|
|
|
unix/bsd/sun/sparc
|
|
|
|
unix/bsd/sun
|
|
|
|
unix/bsd/sunos4.1/sparc
|
|
|
|
unix/bsd/sunos4.1
|
|
|
|
unix/bsd/sunos4/sparc
|
|
|
|
unix/bsd/sunos4
|
|
|
|
unix/bsd/sunos/sparc
|
|
|
|
unix/bsd/sunos
|
|
|
|
unix/bsd/sparc
|
|
|
|
unix/bsd
|
|
|
|
unix/sun/sunos4.1/sparc
|
|
|
|
unix/sun/sunos4.1
|
|
|
|
unix/sun/sunos4/sparc
|
|
|
|
unix/sun/sunos4
|
|
|
|
unix/sun/sunos/sparc
|
|
|
|
unix/sun/sunos
|
|
|
|
unix/sun/sparc
|
|
|
|
unix/sun
|
|
|
|
unix/sunos4.1/sparc
|
|
|
|
unix/sunos4.1
|
|
|
|
unix/sunos4/sparc
|
|
|
|
unix/sunos4
|
|
|
|
unix/sunos/sparc
|
|
|
|
unix/sunos
|
|
|
|
unix/sparc
|
|
|
|
unix
|
|
|
|
sun/sunos4.1/sparc
|
|
|
|
sun/sunos4.1
|
|
|
|
sun/sunos4/sparc
|
|
|
|
sun/sunos4
|
|
|
|
sun/sunos/sparc
|
|
|
|
sun/sunos
|
|
|
|
sun/sparc
|
|
|
|
sun
|
|
|
|
sunos4.1/sparc
|
|
|
|
sunos4.1
|
|
|
|
sunos4/sparc
|
|
|
|
sunos4
|
|
|
|
sunos/sparc
|
|
|
|
sunos
|
|
|
|
sparc
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
Different machine architectures are conventionally subdirectories at the
|
|
|
|
top level of the @file{sysdeps} directory tree. For example,
|
|
|
|
@w{@file{sysdeps/sparc}} and @w{@file{sysdeps/m68k}}. These contain
|
|
|
|
files specific to those machine architectures, but not specific to any
|
|
|
|
particular operating system. There might be subdirectories for
|
|
|
|
specializations of those architectures, such as
|
|
|
|
@w{@file{sysdeps/m68k/68020}}. Code which is specific to the
|
|
|
|
floating-point coprocessor used with a particular machine should go in
|
|
|
|
@w{@file{sysdeps/@var{machine}/fpu}}.
|
|
|
|
|
|
|
|
There are a few directories at the top level of the @file{sysdeps}
|
|
|
|
hierarchy that are not for particular machine architectures.
|
|
|
|
|
|
|
|
@table @file
|
|
|
|
@item generic
|
|
|
|
@itemx stub
|
|
|
|
As described above (@pxref{Porting}), these are the two subdirectories
|
|
|
|
that every configuration implicitly uses after all others.
|
|
|
|
|
|
|
|
@item ieee754
|
|
|
|
This directory is for code using the IEEE 754 floating-point format,
|
|
|
|
where the C type @code{float} is IEEE 754 single-precision format, and
|
|
|
|
@code{double} is IEEE 754 double-precision format. Usually this
|
|
|
|
directory is referred to in the @file{Implies} file in a machine
|
|
|
|
architecture-specific directory, such as @file{m68k/Implies}.
|
|
|
|
|
|
|
|
@item posix
|
|
|
|
This directory contains implementations of things in the library in
|
|
|
|
terms of @sc{POSIX.1} functions. This includes some of the @sc{POSIX.1}
|
|
|
|
functions themselves. Of course, @sc{POSIX.1} cannot be completely
|
|
|
|
implemented in terms of itself, so a configuration using just
|
|
|
|
@file{posix} cannot be complete.
|
|
|
|
|
|
|
|
@item unix
|
|
|
|
This is the directory for Unix-like things. @xref{Porting to Unix}.
|
|
|
|
@file{unix} implies @file{posix}. There are some special-purpose
|
|
|
|
subdirectories of @file{unix}:
|
|
|
|
|
|
|
|
@table @file
|
|
|
|
@item unix/common
|
|
|
|
This directory is for things common to both BSD and System V release 4.
|
|
|
|
Both @file{unix/bsd} and @file{unix/sysv/sysv4} imply @file{unix/common}.
|
|
|
|
|
|
|
|
@item unix/inet
|
|
|
|
This directory is for @code{socket} and related functions on Unix systems.
|
|
|
|
The @file{inet} top-level subdirectory is enabled by @file{unix/inet/Subdirs}.
|
|
|
|
@file{unix/common} implies @file{unix/inet}.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@item mach
|
|
|
|
This is the directory for things based on the Mach microkernel from CMU
|
|
|
|
(including the GNU operating system). Other basic operating systems
|
|
|
|
(VMS, for example) would have their own directories at the top level of
|
|
|
|
the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@node Porting to Unix
|
|
|
|
@appendixsubsec Porting the GNU C Library to Unix Systems
|
|
|
|
|
|
|
|
Most Unix systems are fundamentally very similar. There are variations
|
|
|
|
between different machines, and variations in what facilities are
|
|
|
|
provided by the kernel. But the interface to the operating system
|
|
|
|
facilities is, for the most part, pretty uniform and simple.
|
|
|
|
|
|
|
|
The code for Unix systems is in the directory @file{unix}, at the top
|
|
|
|
level of the @file{sysdeps} hierarchy. This directory contains
|
|
|
|
subdirectories (and subdirectory trees) for various Unix variants.
|
|
|
|
|
|
|
|
The functions which are system calls in most Unix systems are
|
1997-09-05 09:43:20 +08:00
|
|
|
implemented in assembly code, which is generated automatically from
|
|
|
|
specifications in the file @file{sysdeps/unix/syscalls.list}. Some
|
|
|
|
special system calls are implemented in files that are named with a
|
|
|
|
suffix of @samp{.S}; for example, @file{_exit.S}. Files ending in
|
|
|
|
@samp{.S} are run through the C preprocessor before being fed to the
|
|
|
|
assembler.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
These files all use a set of macros that should be defined in
|
|
|
|
@file{sysdep.h}. The @file{sysdep.h} file in @file{sysdeps/unix}
|
|
|
|
partially defines them; a @file{sysdep.h} file in another directory must
|
|
|
|
finish defining them for the particular machine and operating system
|
|
|
|
variant. See @file{sysdeps/unix/sysdep.h} and the machine-specific
|
|
|
|
@file{sysdep.h} implementations to see what these macros are and what
|
|
|
|
they should do.@refill
|
|
|
|
|
|
|
|
The system-specific makefile for the @file{unix} directory (that is, the
|
|
|
|
file @file{sysdeps/unix/Makefile}) gives rules to generate several files
|
|
|
|
from the Unix system you are building the library on (which is assumed
|
|
|
|
to be the target system you are building the library @emph{for}). All
|
|
|
|
the generated files are put in the directory where the object files are
|
|
|
|
kept; they should not affect the source tree itself. The files
|
|
|
|
generated are @file{ioctls.h}, @file{errnos.h}, @file{sys/param.h}, and
|
|
|
|
@file{errlist.c} (for the @file{stdio} section of the library).
|
|
|
|
|
|
|
|
@ignore
|
|
|
|
@c This section might be a good idea if it is finished,
|
|
|
|
@c but there's no point including it as it stands. --rms
|
|
|
|
@c @appendixsec Compatibility with Traditional C
|
|
|
|
|
|
|
|
@c ??? This section is really short now. Want to keep it? --roland
|
|
|
|
|
1996-12-08 16:01:13 +08:00
|
|
|
Although the GNU C library implements the @w{ISO C} library facilities, you
|
|
|
|
@emph{can} use the GNU C library with traditional, ``pre-ISO'' C
|
1995-02-18 09:27:10 +08:00
|
|
|
compilers. However, you need to be careful because the content and
|
|
|
|
organization of the GNU C library header files differs from that of
|
|
|
|
traditional C implementations. This means you may need to make changes
|
|
|
|
to your program in order to get it to compile.
|
|
|
|
@end ignore
|
|
|
|
|
|
|
|
@node Contributors
|
|
|
|
@appendixsec Contributors to the GNU C Library
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
The GNU C library was written originally by Roland McGrath. Some parts
|
|
|
|
of the library were contributed or worked on by other people.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
The @code{getopt} function and related code were written by
|
|
|
|
Richard Stallman, @w{David J. MacKenzie}, and @w{Roland McGrath}.
|
|
|
|
|
1995-09-27 10:50:10 +08:00
|
|
|
@item
|
|
|
|
The merge sort function @code{qsort} was written by Michael J. Haertel.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The quick sort function used as a fallback by @code{qsort} was written
|
|
|
|
by Douglas C. Schmidt.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The memory allocation functions @code{malloc}, @code{realloc} and
|
|
|
|
@code{free} and related code were written by Michael J. Haertel.
|
|
|
|
|
|
|
|
@item
|
|
|
|
Fast implementations of many of the string functions (@code{memcpy},
|
1997-09-05 09:43:20 +08:00
|
|
|
@code{strlen}, etc.) were written by Torbj@"orn Granlund.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
@item
|
|
|
|
The @file{tar.h} header file was written by David J. MacKenzie.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The port to the MIPS DECStation running Ultrix 4
|
|
|
|
(@code{mips-dec-ultrix4})
|
|
|
|
was contributed by Brendan Kehoe and Ian Lance Taylor.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The DES encryption function @code{crypt} and related functions were
|
|
|
|
contributed by Michael Glad.
|
|
|
|
|
|
|
|
@item
|
1997-09-21 09:47:02 +08:00
|
|
|
The @code{ftw} and @code{nftw} function was contributed by Ulrich Drepper.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
@item
|
|
|
|
The startup code to support SunOS shared libraries was contributed by
|
|
|
|
Tom Quinn.
|
|
|
|
|
|
|
|
@item
|
Fri Sep 29 03:43:51 1995 Paul Eggert <eggert@twinsun.com>
Rewrite mktime from scratch for performance, and for correctness
in the presence of leap seconds.
* time/mktime.c (ydhms_tm_diff, not_equal_tm, print_tm, check_result):
New functions.
(LEAP_SECONDS_POSSIBLE, CHAR_BIT, INT_MIN, INT_MAX,
TIME_T_MIN, TIME_T_MAX, TM_YEAR_BASE, EPOCH_YEAR): New macros.
<limits.h>, <stdlib.h>: New #includes.
(main): Support tests with given broken-down value; support benchmarks.
(__mon_lengths, debugging_enabled, printtm, dist_tm, doit,
do_normalization, normalize, BAD_STRUCT_TM, SKIP_VALUE,
<ctype.h>): Remove.
* time/time.h, time/mktime.c (__mktime_internal): New offset arg.
* time/mktime.c (mktime), time/timegm.c (timegm): Use it.
* time/mktime.c (__mon_yday): New variable; replaces `__mon_lengths'.
time/offtime.c (__offtime), time/tzset.c (compute_change): Use it.
* time/offtime.c (__offtime): Remove useless assignment
`tp->tm_isdst = -1'.
* manual/maint.texi: Update credits.
Fri Oct 6 00:28:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/common/readv.S: Moved to sysdeps/unix/bsd.
* sysdeps/unix/common/writev.S: Moved to sysdeps/unix/bsd.
* sysdeps/unix/sysv/linux/readv.c: File removed.
* sysdeps/unix/sysv/linux/writev.c: File removed.
* sysdeps/unix/configure.in: Check for readv and writev syscalls.
* sysdeps/unix/configure.in: If eval doesn't set $unix_srcname,
set it to $unix_syscall instead of $unix_function.
1995-10-06 12:50:55 +08:00
|
|
|
The @code{mktime} function was contributed by Paul Eggert.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
@item
|
|
|
|
The port to the Sequent Symmetry running Dynix version 3
|
|
|
|
(@code{i386-sequent-bsd}) was contributed by Jason Merrill.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The timezone support code is derived from the public-domain timezone
|
|
|
|
package by Arthur David Olson and his many contributors.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The port to the DEC Alpha running OSF/1 (@code{alpha-dec-osf1}) was
|
|
|
|
contributed by Brendan Kehoe, using some code written by Roland McGrath.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The port to SGI machines running Irix 4 (@code{mips-sgi-irix4}) was
|
|
|
|
contributed by Tom Quinn.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The port of the Mach and Hurd code to the MIPS architecture
|
|
|
|
(@code{mips-@var{anything}-gnu}) was contributed by Kazumoto Kojima.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The floating-point printing function used by @code{printf} and friends
|
|
|
|
and the floating-point reading function used by @code{scanf},
|
|
|
|
@code{strtod} and friends were written by Ulrich Drepper. The
|
|
|
|
multi-precision integer functions used in those functions are taken from
|
1997-09-05 09:43:20 +08:00
|
|
|
GNU MP, which was contributed by Torbj@"orn Granlund.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
@item
|
1996-07-18 03:01:35 +08:00
|
|
|
The internationalization support in the library, and the support
|
|
|
|
programs @code{locale} and @code{localedef}, were written by Ulrich
|
|
|
|
Drepper. Ulrich Drepper adapted the support code for message catalogs
|
1995-09-27 10:50:10 +08:00
|
|
|
(@file{libintl.h}, etc.) from the GNU @code{gettext} package, which he
|
1996-07-18 03:01:35 +08:00
|
|
|
also wrote. He also contributed the @code{catgets} support and the
|
|
|
|
entire suite of multi-byte and wide-character support functions
|
|
|
|
(@file{wctype.h}, @file{wchar.h}, etc.).
|
|
|
|
|
|
|
|
@item
|
|
|
|
The implementations of the @file{nsswitch.conf} mechanism and the files
|
|
|
|
and DNS backends for it were designed and written by Ulrich Drepper and
|
|
|
|
Roland McGrath, based on a backend interface defined by Peter Eriksson.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
@item
|
|
|
|
The port to Linux i386/ELF (@code{i386-@var{anything}-linux}) was
|
|
|
|
contributed by Ulrich Drepper, based in large part on work done in
|
|
|
|
Hongjiu Lu's Linux version of the GNU C Library.
|
|
|
|
|
1996-05-14 01:30:42 +08:00
|
|
|
@item
|
|
|
|
The port to Linux/m68k (@code{m68k-@var{anything}-linux}) was
|
|
|
|
contributed by Andreas Schwab.
|
|
|
|
|
1997-09-21 09:47:02 +08:00
|
|
|
@item
|
|
|
|
The ports to Linux/ARM (@code{arm-@var{ANYTHING}-linuxaout}) and ARM
|
|
|
|
standalone (@code{arm-@var{ANYTHING}-none}), as well as parts of the
|
|
|
|
IPv6 support code, were contributed by Philip Blundell.
|
|
|
|
|
1996-07-18 03:01:35 +08:00
|
|
|
@item
|
|
|
|
Richard Henderson contributed the ELF dynamic linking code and other
|
|
|
|
support for the Alpha processor.
|
|
|
|
|
|
|
|
@item
|
|
|
|
David Mosberger-Tang contributed the port to Linux/Alpha
|
|
|
|
(@code{alpha-@var{anything}-linux}).
|
|
|
|
|
1997-06-05 19:28:54 +08:00
|
|
|
@item
|
Update.
1997-09-11 04:36 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Define __set_errno if not yet available.
* db2/btree/bt_rec.c: Use __set_errno to set errno value.
* db2/clib/getlong.c: Likewise.
* db2/db185/db185.c: Likewise.
* db2/db185/db185_int.h: Likewise.
* db2/dbm/dbm.c: Likewise.
* db2/lock/lock_deadlock.c: Likewise.
* db2/log/log_archive.c: Likewise.
* elf/dl-profile.c: Implement mcount function.
* gmon/gmon.c: Use __profil not profil because of namespace pollution.
* gmon/mcount.c: Remove BSD kernel code.
Use compare&swap instruction if possible to change state variable.
Optimize frompc folding.
* gmon/sys/gmon.h (struct gmonparam): Change state field to long int.
* sysdeps/i386/i486/atomicity.h: New file.
* sysdeps/stub/atomicity.h: New file.
* sysdeps/mach/hurd/profil.c: Define function as __profil and make
profil weak alias.
* sysdeps/posix/profil.c: Likewise.
* string/bits/string2.h: New file.
* include/bits/string2.h: New file.
* string/Makefile (routines): Add mempcpy.
(tests): Add inl-tester.
Remove _D__NO_STRING_INLINES from CFLAGS-* variables.
* sysdeps/generic/mempcpy.c: New file.
* sysdeps/generic/memccpy.c: Undef function name to enable definition
as macro.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memmem.c: Likewise.
* sysdeps/generic/memmove.c: Likewise.
* sysdeps/generic/strcat.c: Likewise.
* sysdeps/generic/strchr.c: Likewise.
* sysdeps/generic/strcmp.c: Likewise.
* sysdeps/generic/strcpy.c: Likewise.
* sysdeps/generic/strcspn.c: Likewise.
* sysdeps/generic/strlen.c: Likewise.
* sysdeps/generic/strncat.c: Likewise.
* sysdeps/generic/strncmp.c: Likewise.
* sysdeps/generic/strncpy.c: Likewise.
* sysdeps/generic/strpbrk.c: Likewise.
* sysdeps/generic/strrchr.c: Likewise.
* sysdeps/generic/strsep.c: Likewise.
* sysdeps/generic/strspn.c: Likewise.
* sysdeps/generic/strstr.c: Likewise.
* sysdeps/generic/strtok.c: Likewise.
* sysdeps/generic/strtok_r.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/i386/bits/string.h: Correct a few types and constraints.
* sysdeps/i386/i486/bits/string.h: Heavy rewrites and optimizations.
* string/stratcliff.c: Undefine __USE_STRING_INLINES.
* string/tst-strlen.c: Likewise.
* string/string.h: Add prototype for mempcpy. Include bits/string2.h
header always if optimizing.
* intl/dcgettext.c: Don't unconditionally define stpcpy, only if not
yet defined.
* intl/l10nflist.c: Likewise.
* string/tester.c: Add copyright and make little cleanups.
* inet/test_ifindex.c: Change type of ni variable to unsigned int.
* locale/programs/ld-ctype.c (struct locale_ctype_t): Change type
of fields map_collection_max and map_collection_act to size_t.
* nss/libnss_files.map: Group entries.
* posix/unistd.h: Add prototype for __setpgid and __profil.
* sysdeps/generic/crypt.h: Declare __crypt_r.
* sysdeps/i386/bits/select.h: Fix fatal bugs, use correct casts now.
* sysdeps/i386/fpu/bits/mathinline.h (isgreater, isgreaterequal,
isless, islessequal, islessgreater, isunordered): Optimize a bit.
* sysdeps/stub/ftruncate.c: Include missing header for prototype.
* sysdeps/stub/getdents.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/swapon.c: Likewise.
* sysdeps/stub/syscall.c: Likewise.
* sysdeps/stub/ualarm.c: Likewise.
* sysdeps/stub/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Don't compile or use opensock
if SIOGIFINDEX and SIOGIFNAME are not defined.
* sysdeps/unix/sysv/linux/net/if.h: Add IFF_PORTSEL and IFF_AUTOMEDIA
according to recent kernel changes.
1997-09-10 21:32 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* Makeconfig: Use $(have-initfini) instead of $(elf) to figure out
the installed name of the startup code.
(common-generated): Add version.mk.
* Makefile (distclean-1): Add glibcbug.
* Makerules: Replace -lgcc by $(gnulib).
* catgets/Makefile (generated): Add xmalloc.o.
* csu/Makefile (generated): Replace align.h and end.h by defs.h to
match the generated file.
* manual/Makefile (mostlyclean): Add stub-manual and stamp.o.
(realclean): Changed to remove chapters-incl[12].
* po/Makefile (realclean): New rule to remove the generated .mo files.
* time/Makefile: Only include zonefile dependencies if $(no_deps) is
not true to avoid make clean failure when directory time doesn't exist
yet.
(generated): Add tzselect.
* stdio/fgets.c (fgets): Add casts to reduce gcc warning noise.
* stdio/internals.c (flushbuf): Likewise.
* stdio/linewrap.c (lwupdate): Likewise.
* stdio/memstream.c (enlarge_buffer): Likewise.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* time/tzset.c (compute_change): Likewise.
* misc/init-misc.c (__init_misc): Only declare static if HAVE_GNU_LD
is defined.
* sysdeps/posix/pipestream.c (FUNC): Change to generate ANSI C style
functions.
* sysdeps/stub/init-posix.c: Likewise.
* sysdeps/stub/profil.c: Likewise.
* munch-tmpl.c (__libc_init): Convert to ANSI C style declaration to
reduce gcc warning noise.
* stdio/glue.c (_filbuf, _flsbuf): Likewise.
* stdio/obstream.c (grow, seek, input, init_obstream): Likewise.
* stdio/vasprintf.c (enlarge_buffer): Likewise.
* sysdeps/generic/sysd-stdio.c (__stdio_read, __stdio_write,
__stdio_seek, __stdio_close, __stdio_fileno, __stdio_open,
__stdio_reopen): Likewise.
* sysdeps/posix/defs.c (_cleanup): Likewise.
* time/offtime.c (__offtime): Add cast.
* posix/getopt.c: Don't use text_set_element if not defined.
* configure.in: Provide a check for underscores before user labels
that works even when the compiler used for building doesn't work
(like when there is no C library). Use the old way if the compiler
works.
1997-09-10 05:08 David S. Miller <davem@caip.rutgers.edu>
* sysdeps/unix/sysv/linux/sparc/bits/ioctls.h: The TC* ioctls use
'T' not 't' on SparcLinux.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h: tcflag_t is 32 bits.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add aliases for
_longjmp and siglongjmp.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/stdio.h: Add format attributes to the extra printf and
scanf like functions.
* stdio/stdio.h: Likewise.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Print tablename_val, not tablename_len.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Use sprintf instead of sprintf, the string always fits.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_gethostbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Likewise.
* nis/nss_nisplus/nisplus-proto.c
(_nss_nisplus_getprotobynumber_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbynumber_r):
Likewise.
* nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_getservbynumber_r): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Use
__stpcpy, __stpncpy and __strdup instead of public names.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_parse_netgroup):
Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_create_tablename):
Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
Likewise.
(_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename):
Likewise.
* libc.map: Export __stpcpy and __strdup.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-ldouble.c): Pass -ffloat-store to avoid excessive
precision.
1997-09-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* include/rpc/auth_des.h: New file.
1997-09-09 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (__mktime_internal): Declare sec_requested even if
!LEAP_SECONDS_POSSIBLE, since it's needed at the end when checking
for time_t overflow.
1997-09-09 22:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c: Correct test for too small buffer.
Reported by Erik Troan <ewt@redhat.com>.
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
1997-09-07 17:09 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/Makefile: Kill setjmp_aux.
* sysdeps/alpha/bits/setjmp.h: Rewrite in terms of an array.
* sysdeps/alpha/__longjmp.c: Remove.
* sysdeps/alpha/setjmp_aux.c: Remove.
* sysdeps/alpha/__longjmp.S: New file.
* sysdeps/alpha/bsd-_setjmp.S: Stub out.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Do the work; don't call __setjmp_aux.
Move _setjmp and setjmp from bsd-*.S.
1997-09-06 20:20 Ulrich Drepper <drepper@cygnus.com>
* include/rpc/auth.h: New file.
* include/rpc/auth_unix.h: New file.
1997-09-06 Paul Eggert <eggert@twinsun.com>
Fix gmtime so that it reports leap seconds when TZ
indicates that leap seconds are desired.
* time/gmtime.c (<stddef.h>): Remove unnecessary include.
(gmtime): Put after gmtime_r, to help the compiler inline.
(__tz_convert): New decl.
(gmtime_r): Use __tz_convert instead of __offtime,
so that leap seconds are handled correctly.
* time/localtime.c (<errno.h>, <libc-lock.h>): Remove includes that
are now unnecessary.
(__tzset_internal, __tz_compute, __tzfile_compute, __use_tzfile,
__tzset_lock): Remove extern decls that are now unnecessary.
(localtime_internal): Moved to __tz_convert in tzset.c.
so that localtime and gmtime can both use it easily.
(localtime): Put after localtime_r, to help the compiler inline.
(localtime_r): Use __tz_convert instead of localtime_internal.
* time/strftime.c (__tz_compute): Remove unused (and now incorrect)
decl.
* time/tzfile.c (__tzfile_compute): New arg USE_LOCALTIME.
* time/tzset.c (<errno.h>): Include.
(_tmbuf): New decl.
(__tzfile_compute): New function.
(tz_compute): Renamed from __tz_compute. No longer extern.
Remove redundant call to tzset_internal.
(tzset_internal): Renamed from __tzset_internal. No longer extern.
(tzset_lock): Renamed from __tzset_lock. No longer extern.
(__tz_convert): New function, containing functionality of old
localtime_internal function, plus locking and optional UTC.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzfile.c (__tzfile_read): Don't read a file if TZ is the empty
string, just use UTC without leap seconds. This is for compatibility
with the Olson code.
1997-09-06 Paul Eggert <eggert@twinsun.com>
* time/tzset.c (__tzname_max): Lock tz data structures before
invoking tzset_internal.
* time/tzfile.c: Define compute_tzname_max statically.
1997-09-07 10:57 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c: Remove not longer necessary HAVE_SECURE_RPC ifdefs.
* nis/nis_intern.h: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/ypclnt.c: Likewise.
* sunrpc/auth_des.c: Don't dereference NULL pointer,
initialize ad->ad_timediff.
* sunrpc/auth_none.c: Don't define our own prototypes, use the one
from the header files.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/rpc_cmsg.c: Likewise.
* sunrpc/key_call.c: Fix signal handling.
* sunrpc/openchild.c: Don't use /bin/sh to start /usr/etc/keyenvoy,
or we will get a deadlock with NIS+.
* sunrpc/rpc/auth.h: Add prototype for xdr_opaque_auth, don't define
HAVE_SECURE_RPC.
1997-09-07 15:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/select.h [__GNUC__] (__FD_ZERO, __FD_SET, __FD_CLR,
__FD_ISSET): Use correct casts to address array correctly.
Reported by urbanw@cs.umu.se.
1997-09-07 05:07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c: Include <bits/libc-lock.h>, not <libc-lock.h>.
* elf/dl-open.c: Likewise.
* sysdeps/i386/memset.c: Undefine memset in case the header with the
optimized functions is included.
Patches by NIIBE Yutaka <gniibe@mri.co.jp>.
* sysdeps/i386/bits/string.h [__PIC__] (strcspn, strspn, strpbrk,
strsep): Use register for second parameter.
* sysdeps/i386/i486/bits/string.h: Likewise.
Reported by NIIBE Yutaka <gniibe@mri.co.jp>.
1997-09-03 09:48 Geoff Keating <geoffk@ozemail.com.au>
* math/libm-test.c: Change various tolerances to match what the
tested routines can actually provide.
* math/Makefile: Add new tests.
* math/atest-sincos.c: New file.
* math/atest-exp.c: New file.
* csu/Makefile: Give initfini.s and initfiniS.s their own
CFLAGS-* macros so they can be overridden.
* sysdeps/powerpc/Makefile [subdir=csu]: Override flags for
initfiniS.s to use -fpic instead of -fPIC, because the sed script
breaks otherwise.
* sysdeps/powerpc/Makefile [build-shared]: Use -fpic not -fPIC for
efficiency.
* sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Don't use register 0, to let _mcount be in a shared object.
* sysdeps/powerpc/dl-machine.h: Use full sentences in comments.
Generally clean up. Suppress some code we don't need when relocating
ld.so.
* sysdeps/powerpc/test-arith.c: Change loop indices to size_t when
appropriate to suppress gcc warning.
* resolv/res_send.c: Suppress warning.
* sunrpc/xdr_sizeof.c: Suppress warning.
* FAQ: Add ppc-linux.
* manual/maint.texi: Add ppc-linux. Explain that gcc can't build it
yet.
* sysdeps/unix/sysv/linux/powerpc/profil-counter.h: Correct for
current kernels.
1997-08-15 07:45 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/fmtmsg.c: Use two parameters for __libc_once_define.
* sysdeps/i386/machine-gmon.h: Correct typo.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Change to match
kernel.
* sysdeps/generic/dl-sysdep.c: Add hook for bizzare PPC argument hack.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Rewrite to use
sysdeps/linux/dl-sysdep.c.
* sysdeps/powerpc/Makefile [subdir=gmon]: Compile ppc-mcount.
* sysdeps/powerpc/machine-gmon.h: Use ppc-mcount.
* sysdeps/powerpc/ppc-mcount: New file.
The following are mostly changes to allow profiling:
* sysdeps/powerpc/add_n.S: Added.
* sysdeps/powerpc/add_n.s: Removed.
* sysdeps/powerpc/addmul_1.S: Added.
* sysdeps/powerpc/addmul_1.s: Removed.
* sysdeps/powerpc/bsd-_setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/bsd-setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/lshift.S: Added.
* sysdeps/powerpc/lshift.s: Removed.
* sysdeps/powerpc/memset.S: Added.
* sysdeps/powerpc/memset.s: Removed.
* sysdeps/powerpc/mul_1.S: Added.
* sysdeps/powerpc/mul_1.s: Removed.
* sysdeps/powerpc/rshift.S: Added.
* sysdeps/powerpc/rshift.s: Removed.
* sysdeps/powerpc/s_copysign.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/s_fabs.S: Use ENTRY, END, weak_alias macros.
* sysdeps/powerpc/setjmp.S: Use JUMPTARGET macro.
* sysdeps/powerpc/strchr.S: Added.
* sysdeps/powerpc/strchr.s: Removed.
* sysdeps/powerpc/strcmp.S: Added.
* sysdeps/powerpc/strcmp.s: Removed.
* sysdeps/powerpc/strlen.S: Added.
* sysdeps/powerpc/strlen.s: Removed.
* sysdeps/powerpc/sub_n.S: Added.
* sysdeps/powerpc/sub_n.s: Removed.
* sysdeps/powerpc/submul_1.S: Added.
* sysdeps/powerpc/submul_1.s: Removed.
* sysdeps/unix/sysv/linux/powerpc/_exit.S: Removed.
* sysdeps/unix/sysv/linux/powerpc/brk.S: Added.
* sysdeps/unix/sysv/linux/powerpc/brk.c: Removed.
* sysdeps/unix/sysv/linux/powerpc/clone.S: Use new macros. Fix
various bugs. Document that it isn't tested.
* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Make look like
sysdeps/unix/_exit.S.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/syscall.S: Use new macros.
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Define some new macros
to make assembler (possibly) more portable, allow profiling, etc.
1997-09-11 20:09:10 +08:00
|
|
|
The port to Linux on PowerPC (@code{powerpc-@var{anything}-linux})
|
|
|
|
was contributed by Geoffrey Keating.
|
|
|
|
|
|
|
|
@item
|
1997-06-05 19:28:54 +08:00
|
|
|
Miles Bader wrote the argp argument-parsing package, and the argz/envz
|
|
|
|
interfaces.
|
|
|
|
|
1995-09-27 10:50:10 +08:00
|
|
|
@item
|
|
|
|
Stephen R. van den Berg contributed a highly-optimized @code{strstr} function.
|
|
|
|
|
|
|
|
@item
|
|
|
|
Ulrich Drepper contributed the @code{hsearch} and @code{drand48}
|
|
|
|
families of functions; reentrant @samp{@dots{}@code{_r}} versions of the
|
|
|
|
@code{random} family; System V shared memory and IPC support code; and
|
|
|
|
several highly-optimized string functions for i@var{x}86 processors.
|
|
|
|
|
1996-05-14 04:18:37 +08:00
|
|
|
@item
|
|
|
|
The math functions are taken from @code{fdlibm-5.1} by Sun
|
1996-07-18 03:01:35 +08:00
|
|
|
Microsystems, as modified by J.T. Conklin, Ian Lance Taylor,
|
|
|
|
Ulrich Drepper, Andreas Schwab, and Roland McGrath.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The @code{libio} library used to implement @code{stdio} functions on
|
|
|
|
some platforms was written by Per Bothner and modified by Ulrich Drepper.
|
1996-05-14 04:18:37 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@item
|
1996-05-14 01:30:42 +08:00
|
|
|
The Internet-related code (most of the @file{inet} subdirectory) and
|
|
|
|
several other miscellaneous functions and header files have been
|
|
|
|
included from 4.4 BSD with little or no modification.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
All code incorporated from 4.4 BSD is under the following copyright:
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
@display
|
|
|
|
Copyright @copyright{} 1991 Regents of the University of California.
|
|
|
|
All rights reserved.
|
|
|
|
@end display
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions
|
|
|
|
are met:
|
|
|
|
|
|
|
|
@enumerate
|
|
|
|
@item
|
|
|
|
Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
@item
|
|
|
|
Redistributions in binary form must reproduce the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer in the
|
|
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
@item
|
|
|
|
All advertising materials mentioning features or use of this software
|
|
|
|
must display the following acknowledgement:
|
|
|
|
@quotation
|
|
|
|
This product includes software developed by the University of
|
|
|
|
California, Berkeley and its contributors.
|
|
|
|
@end quotation
|
|
|
|
@item
|
|
|
|
Neither the name of the University nor the names of its contributors
|
|
|
|
may be used to endorse or promote products derived from this software
|
|
|
|
without specific prior written permission.
|
|
|
|
@end enumerate
|
|
|
|
|
|
|
|
@sc{this software is provided by the regents and contributors ``as is'' and
|
|
|
|
any express or implied warranties, including, but not limited to, the
|
|
|
|
implied warranties of merchantability and fitness for a particular purpose
|
|
|
|
are disclaimed. in no event shall the regents or contributors be liable
|
|
|
|
for any direct, indirect, incidental, special, exemplary, or consequential
|
|
|
|
damages (including, but not limited to, procurement of substitute goods
|
|
|
|
or services; loss of use, data, or profits; or business interruption)
|
|
|
|
however caused and on any theory of liability, whether in contract, strict
|
|
|
|
liability, or tort (including negligence or otherwise) arising in any way
|
|
|
|
out of the use of this software, even if advised of the possibility of
|
|
|
|
such damage.}
|
|
|
|
@end quotation
|
|
|
|
|
|
|
|
@item
|
|
|
|
The random number generation functions @code{random}, @code{srandom},
|
|
|
|
@code{setstate} and @code{initstate}, which are also the basis for the
|
|
|
|
@code{rand} and @code{srand} functions, were written by Earl T. Cohen
|
|
|
|
for the University of California at Berkeley and are copyrighted by the
|
|
|
|
Regents of the University of California. They have undergone minor
|
1996-12-08 16:01:13 +08:00
|
|
|
changes to fit into the GNU C library and to fit the @w{ISO C} standard,
|
1995-02-18 09:27:10 +08:00
|
|
|
but the functional code is Berkeley's.@refill
|
|
|
|
|
|
|
|
@item
|
Update.
Wed Aug 14 21:36:16 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtod.c (STRTOD): Correct assertion about size of
wint_t and wchar_t. Reported by David Mosberger-Tang.
Mon Aug 12 22:40:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-lookup.c (_dl_lookup_symbol): Remove fifth parameter
RELOC_ADDR and make NOPLT a set of flags. All callers
changed. Delete condition that checks for resolving to the
location being filled in. Add condition to skip the
executable's symbols if requested.
* elf/link.h: Change declaration of _dl_lookup_symbol
accordingly.
(DL_LOOKUP_NOEXEC, DL_LOOKUP_NOPLT): New definitions.
* elf/dl-reloc.c (RESOLVE): Remove second parameter and rename
NOPLT to FLAGS.
* elf/dl-runtime.c (RESOLVE): Likewise.
* elf/rtld.c (RESOLVE): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Pass
DL_LOOKUP_NOEXEC as second argument to the RESOLVE macro if
processing a copy reloc, DL_LOOKUP_NOPLT for a jump slot
reloc, zero otherwise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
Wed Aug 14 17:57:08 1996 Ulrich Drepper <drepper@cygnus.com>
* MakeTAGS: Clean up use of --omit-header and -n for xgettext.
* po/header.pot: Add empty line at end.
Sun Aug 11 13:45:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (all-pot): Remove $P/errlist.pot, all error messages
are now in $P/stdio-common.pot.
(XGETTEXTFLAGS-errlist.pot): Variable removed.
Mon Aug 12 19:25:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (do-ar, o-iterator-doit): Compute path to autolock
script at run time, not configure time.
* config.make.in, configure.in: Undo previous change.
Wed Aug 14 13:20:02 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/close.S: Push return value of thread
on stack as argument for `_exit'. Reported by Andreas Schwab.
Mon Aug 12 19:36:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/clone.S: New file.
Wed Aug 14 04:22:35 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-load.c (_dl_map_object): Save name in malloced memory.
(_dl_map_object_from_fd): Free name on error.
Wed Aug 14 13:00:09 1996 Ulrich Drepper <drepper@cygnus.com>
* string/strdup.c: Use result of memcpy to avoid reloading.
Tue Aug 13 00:55:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* shadow/sgetspent_r.c (__sgetspent_r): Copy string to buffer, not
the other way round.
* resolv/Makefile (libresolv-routines): Add base64, inet_net_ntop,
inet_net_pton, inet_net.
* resolv/arpa/nameser.h (__BIND): Update version number.
Mon Aug 12 19:03:22 1996 Thomas Bushnell n/BSG <thomas@psilocin.gnu.ai.mit.edu>
* sysdeps/generic/gnu/types.h: Declare __fd_mask as `unsigned long'.
* mach/Makefile (mach/mach_host.uh): Depend on
$(objpfx)/mach-syscalls.mk.
($(objpfx)mach-shortcuts.h): Depend on $(objpfx)mach/mach_host.h.
(This fixes a make loop; thanks to Marcus Daniels
<marcus@sysc.pdx.edu> for the patch.)
1996-08-15 05:45:21 +08:00
|
|
|
The Internet resolver code is taken directly from BIND 4.9.5, which is
|
1995-02-18 09:27:10 +08:00
|
|
|
under both the Berkeley copyright above and also:
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
Portions Copyright @copyright{} 1993 by Digital Equipment Corporation.
|
|
|
|
|
|
|
|
Permission to use, copy, modify, and distribute this software for any
|
|
|
|
purpose with or without fee is hereby granted, provided that the above
|
|
|
|
copyright notice and this permission notice appear in all copies, and
|
|
|
|
that the name of Digital Equipment Corporation not be used in
|
|
|
|
advertising or publicity pertaining to distribution of the document or
|
|
|
|
software without specific, written prior permission.
|
|
|
|
|
|
|
|
@sc{the software is provided ``as is'' and digital equipment corp.
|
|
|
|
disclaims all warranties with regard to this software, including all
|
|
|
|
implied warranties of merchantability and fitness. in no event shall
|
|
|
|
digital equipment corporation be liable for any special, direct,
|
|
|
|
indirect, or consequential damages or any damages whatsoever resulting
|
|
|
|
from loss of use, data or profits, whether in an action of contract,
|
|
|
|
negligence or other tortious action, arising out of or in connection
|
|
|
|
with the use or performance of this software.}
|
|
|
|
@end quotation
|
|
|
|
|
|
|
|
@item
|
|
|
|
The code to support Sun RPC is taken verbatim from Sun's
|
|
|
|
@w{@sc{rpcsrc-4.0}} distribution, and is covered by this copyright:
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
@display
|
|
|
|
Copyright @copyright{} 1984, Sun Microsystems, Inc.
|
|
|
|
@end display
|
|
|
|
|
|
|
|
Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
|
|
|
unrestricted use provided that this legend is included on all tape media
|
|
|
|
and as a part of the software program in whole or part. Users may copy
|
|
|
|
or modify Sun RPC without charge, but are not authorized to license or
|
|
|
|
distribute it to anyone else except as part of a product or program
|
|
|
|
developed by the user.
|
|
|
|
|
|
|
|
@sc{sun rpc is provided as is with no warranties of any kind including the
|
|
|
|
warranties of design, merchantibility and fitness for a particular
|
|
|
|
purpose, or arising from a course of dealing, usage or trade practice.}
|
|
|
|
|
|
|
|
Sun RPC is provided with no support and without any obligation on the
|
|
|
|
part of Sun Microsystems, Inc. to assist in its use, correction,
|
|
|
|
modification or enhancement.
|
|
|
|
|
|
|
|
@sc{sun microsystems, inc. shall have no liability with respect to the
|
|
|
|
infringement of copyrights, trade secrets or any patents by sun rpc
|
|
|
|
or any part thereof.}
|
|
|
|
|
|
|
|
In no event will Sun Microsystems, Inc. be liable for any lost revenue
|
|
|
|
or profits or other special, indirect and consequential damages, even if
|
|
|
|
Sun has been advised of the possibility of such damages.
|
|
|
|
|
|
|
|
@display
|
|
|
|
Sun Microsystems, Inc.
|
|
|
|
2550 Garcia Avenue
|
|
|
|
Mountain View, California 94043
|
|
|
|
@end display
|
|
|
|
@end quotation
|
|
|
|
|
|
|
|
@item
|
1995-09-27 10:50:10 +08:00
|
|
|
Some of the support code for Mach is taken from Mach 3.0 by CMU,
|
|
|
|
and is under the following copyright terms:
|
|
|
|
|
|
|
|
@quotation
|
|
|
|
@display
|
|
|
|
Mach Operating System
|
|
|
|
Copyright @copyright{} 1991,1990,1989 Carnegie Mellon University
|
|
|
|
All Rights Reserved.
|
|
|
|
@end display
|
|
|
|
|
|
|
|
Permission to use, copy, modify and distribute this software and its
|
|
|
|
documentation is hereby granted, provided that both the copyright
|
|
|
|
notice and this permission notice appear in all copies of the
|
|
|
|
software, derivative works or modified versions, and any portions
|
|
|
|
thereof, and that both notices appear in supporting documentation.
|
|
|
|
|
|
|
|
@sc{carnegie mellon allows free use of this software in its ``as is''
|
|
|
|
condition. carnegie mellon disclaims any liability of any kind for
|
|
|
|
any damages whatsoever resulting from the use of this software.}
|
|
|
|
|
|
|
|
Carnegie Mellon requests users of this software to return to
|
|
|
|
|
|
|
|
@display
|
|
|
|
Software Distribution Coordinator
|
|
|
|
School of Computer Science
|
|
|
|
Carnegie Mellon University
|
|
|
|
Pittsburgh PA 15213-3890
|
|
|
|
@end display
|
|
|
|
|
|
|
|
@noindent
|
1997-05-27 07:01:17 +08:00
|
|
|
or @email{Software.Distribution@@CS.CMU.EDU} any improvements or
|
1995-09-27 10:50:10 +08:00
|
|
|
extensions that they make and grant Carnegie Mellon the rights to
|
|
|
|
redistribute these changes.
|
|
|
|
@end quotation
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@c @bye
|