Update. cvs/libc-ud-971228
authorUlrich Drepper <drepper@redhat.com>
Sun, 28 Dec 1997 16:01:53 +0000 (16:01 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 28 Dec 1997 16:01:53 +0000 (16:01 +0000)
1997-12-28 15:08  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/powerpc/__longjmp.S: Define _SETJMP_H before including
<bits/setjmp.h>.
* sysdeps/powerpc/setjmp.S: Likewise.
Patches by Matt McLean <keys@keys.got.net>.

* Make-dist (sysdep_dirs): Ignore bits dirs while searching.

* Makefile: Undo last patch.
(distribute): Add test-installation.pl.

* configure.in: Correct handling of --enable-add-ons without parameter.
Correct address of WWW pages.

* libc.map: Add _nl_domain_bindings.

* db2/mutex/tsl_parisc.s: New file.

* iconvdata/Makefile (distribute): Add jis0201.c, jis0208.c, jis0212.c,
and extra-module.mk.

* localedata/Makefile (distribute): New.  Add all the files.

* stdlib/Makefile (headers): Add inttypes.h.
(routines): Add strtoimax, strtoumax, wcstoimax, and wcstoumax.
* sysdeps/generic/inttypes.h: New file.
* sysdeps/generic/strtoimax.c: New file.
* sysdeps/generic/strtoumax.c: New file.
* sysdeps/generic/wcstoimax.c: New file.
* sysdeps/generic/wcstoumax.c: New file.
* sysdeps/wordsize-32/Dist: Removed.
* sysdeps/wordsize-32/Makefile: Removed.
* sysdeps/wordsize-64/Dist: Removed.
* sysdeps/wordsize-64/Makefile: Removed.
* sysdeps/generic/bits/environments.h: New file.

* include/limits.h: Define MB_LEN_MAX in any case to 6.  The gcc
header is still not correct.

* io/fcntl.h [__USE_FILE_OFFSET64]: We have to use the __*64 types.
* posix/unistd.h: Likewise.
* sysdeps/generic/sys/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.

* manual/arith.texi: Change definition of mul macro.
* manual/math.texi: Likewise.

* misc/Makefile (routines): Add mmap64.
* sysdeps/generic/mmap64.c: New file.
* sysdeps/unix/sysv/linux/alpha/mmap64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: New file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __mmap64 and mmap64
aliases to mmap.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

* sysdeps/generic/setrlimit64.c: Don't mark as stub.

* nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r): Pretty print.

* nis(rpcsvc/nis_tags.h: Prevent warning by unknown pragma.

* sysdeps/posix/mk-stdiolim.c: Generate correct file which defines
FOPEN_MAX also when included by limits.h.
* sysdeps/unix/sysv/linux/stdio_lim.h.in: Likewise.

* sysdeps/unix/sysv/linux/Dist: Add oldsiglist.c, netax25/ax25.h,
and netrom/netrom.h.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=stdio-common]: Add
oldsiglist to sysdep_routines, not aux.
[$(subdir)=inet] (sysdep_headers): Add netax25/ax25.h, netrom/netrom.h.

* sysdeps/unix/sysv/linux/bits/socket.h: Remove SOL_AX25, SOL_ATALK,
and SOL_NETROM definition.

* sysdeps/unix/sysv/linux/i386/Dist: Add s_pwrite64.S and s_pread64.S.

* sysdeps/unix/sysv/linux/net/route.h: Pretty print.
* sysdeps/unix/sysv/linux/netatalk/at.h: Pretty print.

1997-12-25  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/alpha/net/route.h: New file.

* sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Replace
sa_handler with k_sa_handler.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __getrlimit as
strong alias.
Reported by a sun.

* sysdeps/unix/sysv/linux/sigsuspend.c: Don't define
__libc_have_rt_sigs here.
* sysdeps/unix/sysv/linux/sigaction.c: Do it instead here.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/sigpending.c: Correct comment.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.

1997-12-11 07:51  Geoff Keating  <geoffk@ozemail.com.au>

* sysdeps/powerpc/atomicity.h: New file.
* sysdeps/mach/powerpc/machine-lock.h: New file.

* Rules: Use -fpic to build anything that might end up in a users'
shared library.

* sysdeps/powerpc/s_fdim.c: New file.
* sysdeps/powerpc/s_fdimf.c: New file.
* sysdeps/powerpc/s_fmax.S: New file.
* sysdeps/powerpc/s_fmaxf.S: New file.
* sysdeps/powerpc/s_fmin.S: New file.
* sysdeps/powerpc/s_fminf.S: New file.
* sysdeps/powerpc/s_llrint.c: Now is for double.
* sysdeps/powerpc/s_llrintf.c: New file.
* sysdeps/powerpc/s_llround.c: Now is for double.
* sysdeps/powerpc/s_llroundf.c: New file.
* sysdeps/powerpc/s_lrint.c: Now is for double.
* sysdeps/powerpc/s_lrintf.S: New file.
* sysdeps/powerpc/s_lround.c: Now is for double.
* sysdeps/powerpc/s_lroundf.c: New file.
* sysdeps/powerpc/bits/mathinlines.h: Add inline versions of lrint,
lrintf, fdim, fdimf.

* sysdeps/unix/sysv/linux/powerpc/kernel_termios.h: Don't use bits/
file directly, use its parent.

* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Re-instate '++'
(for the third time).

1997-12-20 13:50  Richard Henderson  <rth@cygnus.com>

* posix/sched.h: timespec is in <time.h>.

* sysdeps/unix/sysv/linux/sys/kd.h: Don't redefine _LINUX_TYPES_H.

81 files changed:
ChangeLog
FAQ.in
Make-dist
Makefile
PROJECTS
README
README.template
Rules
bits/environments.h [new file with mode: 0644]
configure
configure.in
db2/mutex/tsl_parisc.s [new file with mode: 0644]
iconvdata/Makefile
include/limits.h
io/fcntl.h
libc.map
manual/arith.texi
manual/math.texi
misc/Makefile
nis/nss_nis/nis-hosts.c
nis/rpcsvc/nis_tags.h
posix/sched.h
posix/unistd.h
stdlib/Makefile
sysdeps/generic/bits/environments.h [new file with mode: 0644]
sysdeps/generic/inttypes.h [new file with mode: 0644]
sysdeps/generic/mmap64.c [new file with mode: 0644]
sysdeps/generic/setrlimit64.c
sysdeps/generic/strtoimax.c [new file with mode: 0644]
sysdeps/generic/strtoumax.c [new file with mode: 0644]
sysdeps/generic/sys/mman.h
sysdeps/generic/wcstoimax.c [new file with mode: 0644]
sysdeps/generic/wcstoumax.c [new file with mode: 0644]
sysdeps/mach/powerpc/machine-lock.h [new file with mode: 0644]
sysdeps/posix/mk-stdiolim.c
sysdeps/powerpc/__longjmp.S
sysdeps/powerpc/atomicity.h [new file with mode: 0644]
sysdeps/powerpc/bits/mathinline.h
sysdeps/powerpc/s_fdim.c [new file with mode: 0644]
sysdeps/powerpc/s_fdimf.c [new file with mode: 0644]
sysdeps/powerpc/s_fmax.S [new file with mode: 0644]
sysdeps/powerpc/s_fmaxf.S [new file with mode: 0644]
sysdeps/powerpc/s_fmin.S [new file with mode: 0644]
sysdeps/powerpc/s_fminf.S [new file with mode: 0644]
sysdeps/powerpc/s_llrint.c
sysdeps/powerpc/s_llrintf.c [new file with mode: 0644]
sysdeps/powerpc/s_llround.c
sysdeps/powerpc/s_llroundf.c [new file with mode: 0644]
sysdeps/powerpc/s_lrint.c
sysdeps/powerpc/s_lrintf.S [new file with mode: 0644]
sysdeps/powerpc/s_lround.c
sysdeps/powerpc/s_lroundf.c [new file with mode: 0644]
sysdeps/powerpc/setjmp.S
sysdeps/unix/sysv/linux/Dist
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
sysdeps/unix/sysv/linux/alpha/mmap64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/net/route.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/syscalls.list
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/i386/Dist
sysdeps/unix/sysv/linux/i386/sigaction.c
sysdeps/unix/sysv/linux/net/route.h
sysdeps/unix/sysv/linux/netatalk/at.h
sysdeps/unix/sysv/linux/netax25/ax25.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/netrom/netrom.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
sysdeps/unix/sysv/linux/sigaction.c
sysdeps/unix/sysv/linux/sigpending.c
sysdeps/unix/sysv/linux/sigprocmask.c
sysdeps/unix/sysv/linux/sigsuspend.c
sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
sysdeps/unix/sysv/linux/stdio_lim.h.in
sysdeps/unix/sysv/linux/sys/kd.h
sysdeps/unix/sysv/linux/sys/mman.h
sysdeps/wordsize-32/Dist [deleted file]
sysdeps/wordsize-32/Makefile [deleted file]
sysdeps/wordsize-64/Dist [deleted file]
sysdeps/wordsize-64/Makefile [deleted file]

index 00185bf0a3c78d3ed117bca6f413cb1c3590a65a..db94809eb7529347ee02cb357298039e6a7f0ad8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,137 @@
+1997-12-28 15:08  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/powerpc/__longjmp.S: Define _SETJMP_H before including
+       <bits/setjmp.h>.
+       * sysdeps/powerpc/setjmp.S: Likewise.
+       Patches by Matt McLean <keys@keys.got.net>.
+
+       * Make-dist (sysdep_dirs): Ignore bits dirs while searching.
+
+       * Makefile: Undo last patch.
+       (distribute): Add test-installation.pl.
+
+       * configure.in: Correct handling of --enable-add-ons without parameter.
+       Correct address of WWW pages.
+
+       * libc.map: Add _nl_domain_bindings.
+
+       * db2/mutex/tsl_parisc.s: New file.
+
+       * iconvdata/Makefile (distribute): Add jis0201.c, jis0208.c, jis0212.c,
+       and extra-module.mk.
+
+       * localedata/Makefile (distribute): New.  Add all the files.
+
+       * stdlib/Makefile (headers): Add inttypes.h.
+       (routines): Add strtoimax, strtoumax, wcstoimax, and wcstoumax.
+       * sysdeps/generic/inttypes.h: New file.
+       * sysdeps/generic/strtoimax.c: New file.
+       * sysdeps/generic/strtoumax.c: New file.
+       * sysdeps/generic/wcstoimax.c: New file.
+       * sysdeps/generic/wcstoumax.c: New file.
+       * sysdeps/wordsize-32/Dist: Removed.
+       * sysdeps/wordsize-32/Makefile: Removed.
+       * sysdeps/wordsize-64/Dist: Removed.
+       * sysdeps/wordsize-64/Makefile: Removed.
+       * sysdeps/generic/bits/environments.h: New file.
+
+       * include/limits.h: Define MB_LEN_MAX in any case to 6.  The gcc
+       header is still not correct.
+
+       * io/fcntl.h [__USE_FILE_OFFSET64]: We have to use the __*64 types.
+       * posix/unistd.h: Likewise.
+       * sysdeps/generic/sys/mman.h: Likewise.
+       * sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
+
+       * manual/arith.texi: Change definition of mul macro.
+       * manual/math.texi: Likewise.
+
+       * misc/Makefile (routines): Add mmap64.
+       * sysdeps/generic/mmap64.c: New file.
+       * sysdeps/unix/sysv/linux/alpha/mmap64.c: New file.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: New file.
+       * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __mmap64 and mmap64
+       aliases to mmap.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
+
+       * sysdeps/generic/setrlimit64.c: Don't mark as stub.
+
+       * nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r): Pretty print.
+
+       * nis(rpcsvc/nis_tags.h: Prevent warning by unknown pragma.
+
+       * sysdeps/posix/mk-stdiolim.c: Generate correct file which defines
+       FOPEN_MAX also when included by limits.h.
+       * sysdeps/unix/sysv/linux/stdio_lim.h.in: Likewise.
+
+       * sysdeps/unix/sysv/linux/Dist: Add oldsiglist.c, netax25/ax25.h,
+       and netrom/netrom.h.
+       * sysdeps/unix/sysv/linux/Makefile [$(subdir)=stdio-common]: Add
+       oldsiglist to sysdep_routines, not aux.
+       [$(subdir)=inet] (sysdep_headers): Add netax25/ax25.h, netrom/netrom.h.
+
+       * sysdeps/unix/sysv/linux/bits/socket.h: Remove SOL_AX25, SOL_ATALK,
+       and SOL_NETROM definition.
+
+       * sysdeps/unix/sysv/linux/i386/Dist: Add s_pwrite64.S and s_pread64.S.
+
+       * sysdeps/unix/sysv/linux/net/route.h: Pretty print.
+       * sysdeps/unix/sysv/linux/netatalk/at.h: Pretty print.
+
+1997-12-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/alpha/net/route.h: New file.
+
+       * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Replace
+       sa_handler with k_sa_handler.
+       * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __getrlimit as
+       strong alias.
+       Reported by a sun.
+
+       * sysdeps/unix/sysv/linux/sigsuspend.c: Don't define
+       __libc_have_rt_sigs here.
+       * sysdeps/unix/sysv/linux/sigaction.c: Do it instead here.
+       * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
+       * sysdeps/unix/sysv/linux/sigpending.c: Correct comment.
+       * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
+
+1997-12-11 07:51  Geoff Keating  <geoffk@ozemail.com.au>
+
+       * sysdeps/powerpc/atomicity.h: New file.
+       * sysdeps/mach/powerpc/machine-lock.h: New file.
+
+       * Rules: Use -fpic to build anything that might end up in a users'
+       shared library.
+
+       * sysdeps/powerpc/s_fdim.c: New file.
+       * sysdeps/powerpc/s_fdimf.c: New file.
+       * sysdeps/powerpc/s_fmax.S: New file.
+       * sysdeps/powerpc/s_fmaxf.S: New file.
+       * sysdeps/powerpc/s_fmin.S: New file.
+       * sysdeps/powerpc/s_fminf.S: New file.
+       * sysdeps/powerpc/s_llrint.c: Now is for double.
+       * sysdeps/powerpc/s_llrintf.c: New file.
+       * sysdeps/powerpc/s_llround.c: Now is for double.
+       * sysdeps/powerpc/s_llroundf.c: New file.
+       * sysdeps/powerpc/s_lrint.c: Now is for double.
+       * sysdeps/powerpc/s_lrintf.S: New file.
+       * sysdeps/powerpc/s_lround.c: Now is for double.
+       * sysdeps/powerpc/s_lroundf.c: New file.
+       * sysdeps/powerpc/bits/mathinlines.h: Add inline versions of lrint,
+       lrintf, fdim, fdimf.
+
+       * sysdeps/unix/sysv/linux/powerpc/kernel_termios.h: Don't use bits/
+       file directly, use its parent.
+
+       * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Re-instate '++'
+       (for the third time).
+
+1997-12-20 13:50  Richard Henderson  <rth@cygnus.com>
+
+       * posix/sched.h: timespec is in <time.h>.
+
+       * sysdeps/unix/sysv/linux/sys/kd.h: Don't redefine _LINUX_TYPES_H.
+
 1997-12-22 18:10  Ulrich Drepper  <drepper@cygnus.com>
 
        * configure.in: Stop with error if --disable-static is used when
diff --git a/FAQ.in b/FAQ.in
index 62c943bd74a363b7f1aae0d60b355e459f7ea217..1d8918a1a25e0b32ae3e988c7de3b2e70d67ccc8 100644 (file)
--- a/FAQ.in
+++ b/FAQ.in
@@ -42,7 +42,7 @@ few people have expressed interest.
 If you have a system not listed above (or in the `README' file) and
 you are really interested in porting it, contact
 
-       <bug-glibc@prep.ai.mit.edu>
+       <bug-glibc@gnu.org>
 
 ??     What compiler do I need to build GNU libc?
 
@@ -103,7 +103,7 @@ has not been ported to them.
   You should not need these tools unless you change the source files.
 
 * Some scripts need perl5 - but at the moment those scripts are not
-  vital for building and installing GNU libc (some data files will not 
+  vital for building and installing GNU libc (some data files will not
   be created).
 
 * When compiling for Linux, the header files of the Linux kernel must
index 981d5e68f433910cbbcd3838613800f2a780e66b..f77eb355074b44329fddf42dc28671a52bb3f9d1 100644 (file)
--- a/Make-dist
+++ b/Make-dist
@@ -34,7 +34,7 @@ foo:=$(shell echo 'foobar=$(filter %.c %.S %.s %.h,$(distribute))'>&2)
 
 ifndef sysdep_dirs
 # Find all sysdep directories.
-export sysdep_dirs := $(shell find $(..)sysdeps -type d \
+export sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name bits \
                                   ! -name CVS ! -name RCS -print)
 else
 # Defined by the parent.
index 9e7679bcf4bae32920044e4d11364d0e5004bf22..ed8d327ddc3dddd8a1eb859d72f3530050345bac 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -188,19 +188,20 @@ $(version.c-objects): $(objpfx)version-info.h
 
 subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)stub-$(dir))
 
-$(common-objpfx)stub-%: subdir_install
-
 # Since stubs.h is never needed when building the library, we simplify the
 # hairy installation process by producing it in place only as the last part
-# of the top-level `make install'.
-$(inst_includedir)/gnu/stubs.h: $(subdir-stubs)
+# of the top-level `make install'.  It depends on subdir_install, which
+# iterates over all the subdirs; subdir_install in each subdir depends on
+# the subdir's stubs file.  Having more direct dependencies would result in
+# extra iterations over the list for subdirs and many recursive makes.
+$(inst_includedir)/gnu/stubs.h: subdir_install
        $(make-target-directory)
        @rm -f $(objpfx)stubs.h
        (echo '/* This file is automatically generated.';\
         echo '   It defines a symbol `__stub_FUNCTION'\'' for each function';\
         echo '   in the C library which is a stub, meaning it will fail';\
         echo '   every time called, usually setting errno to ENOSYS.  */';\
-        sort $^) > $(objpfx)stubs.h
+        sort $(subdir-stubs)) > $(objpfx)stubs.h
        if test -r $@ && cmp -s $(objpfx)stubs.h $@; \
        then echo 'stubs.h unchanged'; \
        else $(INSTALL_DATA) $(objpfx)stubs.h $@; fi
@@ -315,7 +316,7 @@ distribute  := README INSTALL FAQ NOTES NEWS PROJECTS BUGS          \
               autolock.sh rellns-sh munch-tmpl.c munch.awk interp.c    \
               sysdep.h set-hooks.h libc-symbols.h version.h shlib-versions \
               rpm/Makefile rpm/template rpm/rpmrc glibcbug.in abi-tags \
-              stub-tag.h
+              stub-tag.h test-installation.pl
 
 distribute := $(strip $(distribute))
 generated := $(generated) stubs.h version-info.h
index d7291b8744700fe963474f7806b6fbc57ba6dfb1..c8a196342b5d7930d6a97057126c686df148a741 100644 (file)
--- a/PROJECTS
+++ b/PROJECTS
@@ -86,7 +86,6 @@ contact <bug-glibc@prep.ai.mit.edu>
 
 [13] Several more or less small functions have to be written:
 
-     + tcgetid() and waitid()                  from XPG4.2
      + grantpt(), ptsname(), unlockpt()                from XPG4.2
 
      More information is available on request.
@@ -97,6 +96,8 @@ contact <bug-glibc@prep.ai.mit.edu>
      This is needed in several places in the GNU libc and I already have
      rather concrete plans but so far no possibility to start this.
 
+***  The library is available, no it remains to be used in the streams.
+
 
 [15] Cleaning up the header files.  Ideally, each header style should
      follow the "good examples".  Each variable and function should have
diff --git a/README b/README
index 755d4ec667433584bd95063ee139ec8297898cd6..4594cc5eb585587ed64696a8328783ecb53f03dc 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.0.90 test release of the GNU C Library.
+This directory contains the version 2.0.91 test release of the GNU C Library.
 Many bugs have been fixed since the last release.
 Some bugs surely remain.
 
@@ -47,7 +47,7 @@ provides the Unix `crypt' function, plus some other entry points.
 Because of the United States export restriction on DES implementations,
 we are distributing this code separately from the rest of the C
 library.  There is an extra distribution tar file just for crypt; it is
-called `glibc-crypt-2.0.90.tar.gz'.  You can just unpack the crypt
+called `glibc-crypt-2.0.91.tar.gz'.  You can just unpack the crypt
 distribution along with the rest of the C library and build; you can
 also build the library without getting crypt.  Users outside the USA
 can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
@@ -80,7 +80,7 @@ in the GNU C library, explaining how you can tell the library what
 facilities you want it to make available.
 
 We prefer to get bug reports sent using the `glibcbug' shell script which
-is install together with the rest of the GNU libc to <bugs@gnu.org>.
+is installed together with the rest of the GNU libc to <bugs@gnu.org>.
 Simply run this shell script and fill in the information.  Nevertheless
 you can still send bug reports to <bug-glibc@prep.ai.mit.edu> as normal
 electronic mails.
index 600a3e6d54a59452b0266065cc495f66209df3ca..fbea88344467119d497791d330ba78b20f3c43b9 100644 (file)
@@ -40,7 +40,7 @@ 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 <bug-glibc@prep.ai.mit.edu>.
+electronic mail to <bug-glibc@gnu.org>.
 
 The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
 provides the Unix `crypt' function, plus some other entry points.
@@ -82,8 +82,8 @@ facilities you want it to make available.
 We prefer to get bug reports sent using the `glibcbug' shell script which
 is installed together with the rest of the GNU libc to <bugs@gnu.org>.
 Simply run this shell script and fill in the information.  Nevertheless
-you can still send bug reports to <bug-glibc@prep.ai.mit.edu> as normal
-electronic mails.
+you can still send bug reports to <bug-glibc@gnu.irg> as normal electronic
+mails.
 
 The GNU C Library is free software.  See the file COPYING.LIB for copying
 conditions.
diff --git a/Rules b/Rules
index c36e2c30d6d675c34c2ca17c1efa56a2adb6d617..029f81b96e03fa59ee1f5868d7f907918bd1cfe8 100644 (file)
--- a/Rules
+++ b/Rules
@@ -171,6 +171,12 @@ ifdef static-only-routines
 $(static-only-routines:%=$(objpfx)%.os): %.os: $(common-objpfx)empty.os
        rm -f $@
        ln $< $@
+
+# Must build the routines as PIC, though, because they can end up in (users')
+# shared objects.  We don't want to use CFLAGS-os because users may, for
+# example, make that processor-specific.
+$(static-only-routines:%=$(objpfx)%.o): $(objpfx)%.o: %.c $(before-compile)
+       $(compile.c) $(pic-ccflag) $(OUTPUT_OPTION)
 endif
 
 ifdef shared-only-routines
diff --git a/bits/environments.h b/bits/environments.h
new file mode 100644 (file)
index 0000000..8ed1990
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _XBS5_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _XBS5_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _XBS5_LP64_OFF32    64bit long and pointers and 32bit off_t type
+   _XBS5_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+*/
+
+#endif /* environments.h */
index 625d2f75bafe0314d03bf60724790121372b6d19..1e6489461b6de18b357a562daff7c13b1c1a5aa1 100755 (executable)
--- a/configure
+++ b/configure
@@ -694,8 +694,12 @@ fi
 if test "${enable_add_ons+set}" = set; then
   enableval="$enable_add_ons"
   case "$enableval" in
-    yes) add_ons=`echo $srcdir/*/configure | \
-                 sed -e "s!$srcdir/!!g" -e 's!/configure!!g'`;;
+    yes) if test "$srcdir" = "."; then
+          add_ons=`echo */configure | sed -e 's!/configure!!g'`
+        else
+          add_ons=`echo $srcdir/*/configure | \
+                   sed -e "s!^$srcdir/!!g" -e 's!/configure!!g'`
+        fi;;
     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
    esac
 else
@@ -758,7 +762,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:762: checking host system type" >&5
+echo "configure:766: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -809,7 +813,7 @@ if test -z "$enable_hacker_mode"; then
     echo "*** So far nobody cared to port it and if there is no volunteer it"
     echo "*** might never happen.  So, if you have interest to see glibc on"
     echo "*** this platform visit"
-    echo "***  http://www.gnu.ai.mit.edu/software/libc/porting.html"
+    echo "***  http://www.gnu.org/software/libc/porting.html"
     echo "*** and join the group of porters"
     exit 1
     ;;
@@ -877,7 +881,7 @@ fi
 # This can take a while to compute.
 sysdep_dir=$srcdir/sysdeps
 echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
-echo "configure:881: checking sysdep dirs" >&5
+echo "configure:885: checking sysdep dirs" >&5
 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
 
@@ -1078,7 +1082,7 @@ echo "$ac_t""sysdeps/generic" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1082: checking for a BSD compatible install" >&5
+echo "configure:1086: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1132,7 +1136,7 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
   INSTALL='\$(..)./install-sh -c'
 fi
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1136: checking whether ln -s works" >&5
+echo "configure:1140: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1157,7 +1161,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1161: checking for $ac_word" >&5
+echo "configure:1165: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1189,7 +1193,7 @@ test -n "$MSGFMT" || MSGFMT=":"
 # Extract the first word of "makeinfo", so it can be a program name with args.
 set dummy makeinfo; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1193: checking for $ac_word" >&5
+echo "configure:1197: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1229,7 +1233,7 @@ fi
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1233: checking for $ac_word" >&5
+echo "configure:1237: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1258,7 +1262,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1262: checking for $ac_word" >&5
+echo "configure:1266: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1306,7 +1310,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1310: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1314: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1316,11 +1320,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1320 "configure"
+#line 1324 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1343,13 +1347,13 @@ else
  cross_linkable=yes
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1347: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1351: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1353: checking whether we are using GNU C" >&5
+echo "configure:1357: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1358,7 +1362,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1375,7 +1379,7 @@ if test $ac_cv_prog_gcc = yes; then
   yes;
 #endif
 EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     if test -z "$CFLAGS"; then
       CFLAGS="-g -O2"
     fi
@@ -1387,7 +1391,7 @@ else
 fi
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1391: checking build system type" >&5
+echo "configure:1395: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1410,7 +1414,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1414: checking for $ac_word" >&5
+echo "configure:1418: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1441,7 +1445,7 @@ done
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1445: checking how to run the C preprocessor" >&5
+echo "configure:1449: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1456,13 +1460,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1460 "configure"
+#line 1464 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1473,13 +1477,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1477 "configure"
+#line 1481 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1483: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1512,7 +1516,7 @@ LD=`$CC -print-file-name=ld`
 
 # Determine whether we are using GNU binutils.
 echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
-echo "configure:1516: checking whether $AS is GNU as" >&5
+echo "configure:1520: checking whether $AS is GNU as" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1530,7 +1534,7 @@ rm -f a.out
 gnu_as=$libc_cv_prog_as_gnu
 
 echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
-echo "configure:1534: checking whether $LD is GNU ld" >&5
+echo "configure:1538: checking whether $LD is GNU ld" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1554,7 +1558,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1558: checking for $ac_word" >&5
+echo "configure:1562: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1585,7 +1589,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1589: checking for $ac_word" >&5
+echo "configure:1593: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1616,7 +1620,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1620: checking for $ac_word" >&5
+echo "configure:1624: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1651,7 +1655,7 @@ fi
 # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1655: checking for $ac_word" >&5
+echo "configure:1659: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1693,7 +1697,7 @@ if test "$BASH" = no; then
   # Extract the first word of "ksh", so it can be a program name with args.
 set dummy ksh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1697: checking for $ac_word" >&5
+echo "configure:1701: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1739,7 +1743,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1743: checking for $ac_word" >&5
+echo "configure:1747: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1774,7 +1778,7 @@ test -n "$PERL" || PERL="no"
 
 
 echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
-echo "configure:1778: checking for signed size_t type" >&5
+echo "configure:1782: checking for signed size_t type" >&5
 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1798,12 +1802,12 @@ EOF
 fi
 
 echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
-echo "configure:1802: checking for libc-friendly stddef.h" >&5
+echo "configure:1806: checking for libc-friendly stddef.h" >&5
 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1807 "configure"
+#line 1811 "configure"
 #include "confdefs.h"
 #define __need_size_t
 #define __need_wchar_t
@@ -1818,7 +1822,7 @@ size_t size; wchar_t wchar;
 if (&size == NULL || &wchar == NULL) abort ();
 ; return 0; }
 EOF
-if { (eval echo configure:1822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_friendly_stddef=yes
 else
@@ -1837,7 +1841,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
 fi
 
 echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
-echo "configure:1841: checking whether we need to use -P to assemble .S files" >&5
+echo "configure:1845: checking whether we need to use -P to assemble .S files" >&5
 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1868,7 +1872,7 @@ if test $ac_cv_prog_gcc = yes; then
   # We must check this even if -pipe is not given here, because the user
   # might do `make CFLAGS=-pipe'.
   echo $ac_n "checking for gcc 2.7.x -pipe bug""... $ac_c" 1>&6
-echo "configure:1872: checking for gcc 2.7.x -pipe bug" >&5
+echo "configure:1876: checking for gcc 2.7.x -pipe bug" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_pipe_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1897,7 +1901,7 @@ else
 fi
 
 echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
-echo "configure:1901: checking for assembler global-symbol directive" >&5
+echo "configure:1905: checking for assembler global-symbol directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1927,7 +1931,7 @@ EOF
 fi
 
 echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
-echo "configure:1931: checking for .set assembler directive" >&5
+echo "configure:1935: checking for .set assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1961,7 +1965,7 @@ EOF
 fi
 
 echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
-echo "configure:1965: checking for .symver assembler directive" >&5
+echo "configure:1969: checking for .symver assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1980,7 +1984,7 @@ fi
 
 echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
 echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
-echo "configure:1984: checking for ld --version-script" >&5
+echo "configure:1988: checking for ld --version-script" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2003,7 +2007,7 @@ EOF
     if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
                                        -nostartfiles -nostdlib
                                        -Wl,--version-script,conftest.map
-                      1>&5'; { (eval echo configure:2007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+                      1>&5'; { (eval echo configure:2011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
     then
       libc_cv_ld_version_script_option=yes
     else
@@ -2041,7 +2045,7 @@ if test $VERSIONING = no; then
 fi
 if test $elf = yes; then
   echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
-echo "configure:2045: checking for .previous assembler directive" >&5
+echo "configure:2049: checking for .previous assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2049,7 +2053,7 @@ else
 .section foo_section
 .previous
 EOF
-  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_asm_previous_directive=yes
   else
     libc_cv_asm_previous_directive=no
@@ -2065,7 +2069,7 @@ EOF
 
   else
     echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
-echo "configure:2069: checking for .popsection assembler directive" >&5
+echo "configure:2073: checking for .popsection assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2073,7 +2077,7 @@ else
 .pushsection foo_section
 .popsection
 EOF
-    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
       libc_cv_asm_popsection_directive=yes
     else
       libc_cv_asm_popsection_directive=no
@@ -2093,12 +2097,12 @@ fi
 
 if test $elf != yes; then
   echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:2097: checking for .init and .fini sections" >&5
+echo "configure:2101: checking for .init and .fini sections" >&5
 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2102 "configure"
+#line 2106 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2107,7 +2111,7 @@ asm (".section .init");
                                    asm (".text");
 ; return 0; }
 EOF
-if { (eval echo configure:2111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_have_initfini=yes
 else
@@ -2135,19 +2139,19 @@ if test $elf = yes; then
 else
   if test $ac_cv_prog_cc_works = yes; then
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2139: checking for _ prefix on C symbol names" >&5
+echo "configure:2143: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2144 "configure"
+#line 2148 "configure"
 #include "confdefs.h"
 asm ("_glibc_foobar:");
 int main() {
 glibc_foobar ();
 ; return 0; }
 EOF
-if { (eval echo configure:2151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   libc_cv_asm_underscores=yes
 else
@@ -2162,17 +2166,17 @@ fi
 echo "$ac_t""$libc_cv_asm_underscores" 1>&6
   else
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2166: checking for _ prefix on C symbol names" >&5
+echo "configure:2170: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2171 "configure"
+#line 2175 "configure"
 #include "confdefs.h"
 void underscore_test(void) {
 return; }
 EOF
-if { (eval echo configure:2176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   if grep _underscore_test conftest* >/dev/null; then
     rm -f conftest*
     libc_cv_asm_underscores=yes
@@ -2205,7 +2209,7 @@ if test $elf = yes; then
   libc_cv_asm_weakext_directive=no
 else
   echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:2209: checking for assembler .weak directive" >&5
+echo "configure:2213: checking for assembler .weak directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2228,7 +2232,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
 
 if test $libc_cv_asm_weak_directive = no; then
   echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
-echo "configure:2232: checking for assembler .weakext directive" >&5
+echo "configure:2236: checking for assembler .weakext directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2265,7 +2269,7 @@ EOF
 fi
 
 echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
-echo "configure:2269: checking for ld --no-whole-archive" >&5
+echo "configure:2273: checking for ld --no-whole-archive" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2276,7 +2280,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
                            -nostdlib -nostartfiles -Wl,--no-whole-archive
-                           -o conftest conftest.c 1>&5'; { (eval echo configure:2280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                           -o conftest conftest.c 1>&5'; { (eval echo configure:2284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_ld_no_whole_archive=yes
 else
   libc_cv_ld_no_whole_archive=no
@@ -2287,7 +2291,7 @@ fi
 echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
 
 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
-echo "configure:2291: checking for gcc -fno-exceptions" >&5
+echo "configure:2295: checking for gcc -fno-exceptions" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2298,7 +2302,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
                            -nostdlib -nostartfiles -fno-exceptions
-                           -o conftest conftest.c 1>&5'; { (eval echo configure:2302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                           -o conftest conftest.c 1>&5'; { (eval echo configure:2306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_no_exceptions=yes
 else
   libc_cv_gcc_no_exceptions=no
@@ -2310,14 +2314,14 @@ echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6
 
 if test "$base_machine" = alpha ; then
 echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
-echo "configure:2314: checking for function ..ng prefix" >&5
+echo "configure:2318: checking for function ..ng prefix" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<\EOF
 foo () { }
 EOF
-if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2321: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2325: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
 then
   libc_cv_gcc_alpha_ng_prefix=yes
 else
@@ -2341,12 +2345,12 @@ fi
 fi
 
 echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2345: checking for DWARF2 unwind info support" >&5
+echo "configure:2349: checking for DWARF2 unwind info support" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<EOF
-#line 2350 "configure"
+#line 2354 "configure"
 static char __EH_FRAME_BEGIN__;
 _start ()
 {
@@ -2373,7 +2377,7 @@ __bzero () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
                            -nostdlib -nostartfiles
-                           -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                           -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2381: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_dwarf2_unwind_info=static
 else
   libc_cv_gcc_dwarf2_unwind_info=no
@@ -2381,7 +2385,7 @@ fi
 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
   if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
                              -nostdlib -nostartfiles
-                             -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                             -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_gcc_dwarf2_unwind_info=yes
   else
     libc_cv_gcc_dwarf2_unwind_info=no
@@ -2452,7 +2456,7 @@ if test "$uname" = "sysdeps/generic"; then
   fi
 
   echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2456: checking OS release for uname" >&5
+echo "configure:2460: checking OS release for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2474,7 +2478,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
   uname_release="$libc_cv_uname_release"
 
   echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2478: checking OS version for uname" >&5
+echo "configure:2482: checking OS version for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2496,7 +2500,7 @@ else
 fi
 
 echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2500: checking stdio selection" >&5
+echo "configure:2504: checking stdio selection" >&5
 
 case $stdio in
 libio) cat >> confdefs.h <<\EOF
@@ -2508,7 +2512,7 @@ esac
 echo "$ac_t""$stdio" 1>&6
 
 echo $ac_n "checking ldap selection""... $ac_c" 1>&6
-echo "configure:2512: checking ldap selection" >&5
+echo "configure:2516: checking ldap selection" >&5
 
 case $add_ons in
 *ldap*)
@@ -2570,7 +2574,7 @@ if test $static = no && test $shared = yes; then
 fi
 
 echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2574: checking whether -fPIC is default" >&5
+echo "configure:2578: checking whether -fPIC is default" >&5
 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
index 4aeeae047a3813f2c118e14f6007c8c8168df610..5f6dae1ed76ddef56d6a3287a62b1f341812de40 100644 (file)
@@ -84,8 +84,12 @@ AC_ARG_ENABLE(add-ons, dnl
 [  --enable-add-ons[=DIR1,DIR2]... configure and build add-ons in DIR1,DIR2,...
                                   search for add-ons if no parameter given],
   [case "$enableval" in
-    yes) add_ons=`echo $srcdir/*/configure | \
-                 sed -e "s!$srcdir/!!g" -e 's!/configure!!g'`;;
+    yes) if test "$srcdir" = "."; then
+          add_ons=`echo */configure | sed -e 's!/configure!!g'`
+        else
+          add_ons=`echo $srcdir/*/configure | \
+                   sed -e "s!^$srcdir/!!g" -e 's!/configure!!g'`
+        fi;;
     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
    esac],
   [add_ons=])
@@ -144,7 +148,7 @@ if test -z "$enable_hacker_mode"; then
     echo "*** So far nobody cared to port it and if there is no volunteer it"
     echo "*** might never happen.  So, if you have interest to see glibc on"
     echo "*** this platform visit"
-    echo "***  http://www.gnu.ai.mit.edu/software/libc/porting.html"
+    echo "***  http://www.gnu.org/software/libc/porting.html"
     echo "*** and join the group of porters"
     exit 1
     ;;
diff --git a/db2/mutex/tsl_parisc.s b/db2/mutex/tsl_parisc.s
new file mode 100644 (file)
index 0000000..e605494
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 1996-1997 The University of Utah and the Computer Systems
+ * Laboratory at the University of Utah (CSL).  All rights reserved.
+ *
+ * Permission to use, copy, modify and distribute this software is hereby
+ * granted provided that (1) source code retains these copyright, permission,
+ * and disclaimer notices, and (2) redistributions including binaries
+ * reproduce the notices in supporting documentation, and (3) all advertising
+ * materials mentioning features or use of this software display the following
+ * acknowledgement: ``This product includes software developed by the Computer
+ * Systems Laboratory at the University of Utah.''
+ *
+ * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
+ * IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
+ * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * CSL requests users of this software to return to csl-dist@cs.utah.edu any
+ * improvements that they make and grant CSL redistribution rights.
+ *
+ *     @(#)tsl_parisc.s        8.4 (Sleepycat) 1/18/97
+ */
+
+/*
+ * Spin locks for the PA-RISC.  Based on Bob Wheeler's Mach implementation.
+ */
+       .SPACE  $TEXT$
+       .SUBSPA $CODE$
+
+/*
+ * int tsl_set(tsl_t *tsl)
+ *
+ * Try to acquire a lock, return 1 if successful, 0 if not.
+ */
+       .EXPORT tsl_set,ENTRY
+tsl_set
+       .PROC
+       .CALLINFO FRAME=0,NO_CALLS
+       .ENTRY
+       ldo     15(%r26),%r26
+       depi    0,31,4,%r26
+       ldcws   0(%r26),%r28
+       subi,=  0,%r28,%r0
+       ldi     1,%r28
+       bv,n    0(%r2)
+       .EXIT
+       .PROCEND
+
+
+/*
+ * void tsl_unset(tsl_t *tsl)
+ *
+ * Release a lock.
+ */
+       .EXPORT tsl_unset,ENTRY
+tsl_unset
+       .PROC
+       .CALLINFO FRAME=0,NO_CALLS
+       .ENTRY
+       ldo     15(%r26),%r26
+       ldi     -1,%r19
+       depi    0,31,4,%r26
+       bv      0(%r2)
+       stw     %r19,0(%r26)
+       .EXIT
+       .PROCEND
index 0b64ba4a6671078b286a639f25eee2296f62487e..e5bfb7ab72e96553e5955a5a1c9638538e031a2e 100644 (file)
@@ -55,13 +55,14 @@ EBCDIC-AT-DE-A-routines := ebcdic-at-de-a
 EBCDIC-CA-FR-routines := ebcdic-ca-fr
 libJIS-routines := jis0201 jis0208 jis0212
 
-distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl \
-             iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \
-             iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c\
-             t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h        \
-             koi-8.c koi8-r.c koi8-r.h hp-roman8.c latin-greek.c         \
-             latin-greek.h latin-greek-1.c latin-greek-1.h ebcdic-at-de.c\
-             ebcdic-at-de-a.c ebcdic-ca-fr.c
+distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl gconv-modules     \
+             iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c   \
+             iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c  \
+             t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h          \
+             koi-8.c koi8-r.c koi8-r.h hp-roman8.c latin-greek.c           \
+             latin-greek.h latin-greek-1.c latin-greek-1.h ebcdic-at-de.c  \
+             ebcdic-at-de-a.c ebcdic-ca-fr.c jis0201.c jis0208.c jis0212.c \
+             extra-module.mk
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
index ab51f483312b4a1af4435471e8f25a4ac748bba4..b149ba1a73b666e87591dccd51a32feb9073eaf7 100644 (file)
 #endif
 
 
+/* Maximum length of any multibyte character in any locale.
+   We define this value here since the gcc header does not define
+   the correct value.  */
+#define MB_LEN_MAX     6
+
+
 #if __GNUC__ >= 2
 
  /* Get the compiler's limits.h, which defines all the ANSI constants.  */
@@ -63,9 +69,6 @@
 /* Number of bits in a `char'. */
 #  define CHAR_BIT     8
 
-/* Maximum length of any multibyte character in any locale.  */
-#  define MB_LEN_MAX   6
-
 /* Minimum and maximum values a `signed char' can hold.  */
 #  define SCHAR_MIN    (-128)
 #  define SCHAR_MAX    127
index 14a165539b78ed7e03e910851738b533c6925f14..17120fadc2a897607cbd35ffde46c4ea77454b61 100644 (file)
@@ -99,7 +99,7 @@ extern int creat64 __P ((__const char *__file, __mode_t __mode));
 # ifndef __USE_FILE_OFFSET64
 extern int lockf __P ((int __fd, int __cmd, __off_t __len));
 # else
-extern int lockf __P ((int __fd, int __cmd, __off_t __len))
+extern int lockf __P ((int __fd, int __cmd, __off64_t __len))
      __asm__ ("lockf64");
 # endif
 # ifdef __USE_LARGEFILE64
index 902d8f89c8a137c8356e3697f6156e0321e4d848..4bc3a4e27c3f31dc60dcffd212bccfa4ebfdc356 100644 (file)
--- a/libc.map
+++ b/libc.map
@@ -6,7 +6,7 @@ GLIBC_2.0 {
     _nl_msg_cat_cntr; __environ; _environ; _res;
     ___brk_addr; __curbrk; _nl_current_LC_CTYPE; _libc_intl_domainname;
     _sys_errlist; _sys_siglist; __progname; _nl_default_dirname;
-    __timezone; __daylight; __tzname;
+    _nl_domain_bindings; __timezone; __daylight; __tzname;
     _nl_current_LC_COLLATE; __collate_element_hash;
     __collate_element_strings; __collate_symbol_classes;
     __collate_symbol_hash; __collate_symbol_strings;
index 3a6bb434deafa95828e0cceb67234f7a97f79935..563d9859afc53a0ecbb4f17b245e298b676a650f 100644 (file)
@@ -2,17 +2,23 @@
 @ifclear cdot
 @ifhtml
 @set cdot Â·
+@macro mul
+·
+@end macro
 @end ifhtml
 @iftex
-@set cdot @cdot
+@set cdot Â·
+@macro mul
+@cdot
+@end macro
 @end iftex
 @ifclear cdot
 @set cdot x
-@end ifclear
 @macro mul
-@value{cdot}
+x
 @end macro
 @end ifclear
+@end ifclear
 
 @node Arithmetic, Date and Time, Mathematics, Top
 @chapter Low-Level Arithmetic Functions
@@ -211,6 +217,13 @@ This function returns @code{-1} if @var{x} represents negative infinity,
 This function returns a nonzero value if @var{x} is a ``not a number''
 value, and zero otherwise.  (You can just as well use @code{@var{x} !=
 @var{x}} to get the same result).
+
+However, @code{isnan} will not raise an invalid exception if @var{x} is
+a signalling NaN, while @code{@var{x} != @var{x}} will.  This makes
+@code{isnan} much slower than the alternative; in code where performance
+matters and signalling NaNs are unimportant, it's usually better to use
+@code{@var{x} != @var{x}}, even though this is harder to understand.
+
 @end deftypefun
 
 @comment math.h
index d6206eb4fe77c9ee6338946960c864c2d4c0cbff..b784afe52bc60a60f391ac53bd2fcba4f85d816b 100644 (file)
@@ -2,17 +2,23 @@
 @ifclear cdot
 @ifhtml
 @set cdot Â·
+@macro mul
+·
+@end macro
 @end ifhtml
 @iftex
-@set cdot @cdot
+@set cdot Â·
+@macro mul
+@cdot
+@end macro
 @end iftex
 @ifclear cdot
 @set cdot x
-@end ifclear
 @macro mul
-@value{cdot}
+x
 @end macro
 @end ifclear
+@end ifclear
 @iftex
 @set infty @infty
 @end iftex
index 842f9839bbbe388a9413bfd8e7c06f5bd9d3188e..1dfde43f7e2989ab50d617695333ba66f479c158 100644 (file)
@@ -52,7 +52,7 @@ routines := brk sbrk sstk ioctl \
            chflags fchflags \
            insremque getttyent getusershell getpass ttyslot \
            syslog syscall daemon \
-           mmap munmap mprotect msync madvise \
+           mmap munmap mprotect msync madvise mmap64 \
            efgcvt efgcvt_r qefgcvt qefgcvt_r \
            hsearch hsearch_r tsearch lsearch \
            err error ustat \
index f08a624c37c8dc3e34fe9f659568fdfc5f7ecb7a..e627d243992268d3a2b7a1629c45c61d631c9adf 100644 (file)
@@ -199,7 +199,8 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
        ++p;
       free (result);
 
-      if ((parse_res = parse_line (p, host, data, buflen, errnop)) == -1)
+      parse_res = parse_line (p, host, data, buflen, errnop);
+      if (parse_res == -1)
        {
          free (outkey);
          *h_errnop = NETDB_INTERNAL;
index 19a5bcab19f83261512e520f414ef4e262b308d9..9a24188f9876f84807718891a22aa58c9092c12f 100644 (file)
@@ -12,7 +12,9 @@
 #ifndef        _RPCSVC_NIS_TAGS_H
 #define        _RPCSVC_NIS_TAGS_H
 
+#if 0
 #pragma ident  "@(#)nis_tags.h 1.16    96/10/25 SMI"
+#endif
 /* from file: zns_tags.h       1.7 Copyright (c) 1990 Sun Microsystems */
 
 #ifdef __cplusplus
index ae0f634fa4c3434fd354dc1be0eef618a994cbd6..b5c44996d4b1894b55e209836c70858dd55460f2 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,9 @@
 
 /* Get type definitions.  */
 #include <bits/types.h>
-#include <sys/time.h>          /* for struct timespec */
+
+#define __need_timespec
+#include <time.h>
 
 /* Get system specific constant and data structure definitions.  */
 #include <bits/sched.h>
index 0147594f538de0d3485c1f2756a5a1b2608a1d56..9e1cc8e8e0bc4407c375e658464716d225697540 100644 (file)
@@ -273,7 +273,7 @@ extern __off_t __lseek __P ((int __fd, __off_t __offset, int __whence));
 #ifndef __USE_FILE_OFFSET64
 extern __off_t lseek __P ((int __fd, __off_t __offset, int __whence));
 #else
-extern __off_t lseek __P ((int __fd, __off_t __offset, int __whence))
+extern __off_t lseek __P ((int __fd, __off64_t __offset, int __whence))
      __asm__ ("lseek64");
 #endif
 #ifdef __USE_LARGEFILE64
@@ -304,7 +304,7 @@ extern ssize_t pread __P ((int __fd, __ptr_t __buf, size_t __nbytes,
                           __off_t __offset));
 # else
 extern ssize_t pread __P ((int __fd, __ptr_t __buf, size_t __nbytes,
-                          __off_t __offset)) __asm__ ("pread64");
+                          __off64_t __offset)) __asm__ ("pread64");
 # endif
 extern ssize_t __pread64 __P ((int __fd, __ptr_t __buf, size_t __nbytes,
                               __off64_t __offset));
@@ -322,7 +322,7 @@ extern ssize_t pwrite __P ((int __fd, __const __ptr_t __buf, size_t __n,
                            __off_t __offset));
 # else
 extern ssize_t pwrite __P ((int __fd, __const __ptr_t __buf, size_t __n,
-                           __off_t __offset)) __asm__ ("pwrite64");
+                           __off64_t __offset)) __asm__ ("pwrite64");
 # endif
 extern ssize_t __pwrite64 __P ((int __fd, __const __ptr_t __buf, size_t __n,
                                __off64_t __offset));
@@ -878,7 +878,7 @@ extern int getpagesize __P ((void));
 #ifndef __USE_FILE_OFFSET64
 extern int truncate __P ((__const char *__file, __off_t __length));
 #else
-extern int truncate __P ((__const char *__file, __off_t __length))
+extern int truncate __P ((__const char *__file, __off64_t __length))
      __asm__ ("truncate64");
 #endif
 #ifdef __USE_LARGEFILE64
@@ -889,7 +889,7 @@ extern int truncate64 __P ((__const char *__file, __off64_t __length));
 #ifndef __USE_FILE_OFFSET64
 extern int ftruncate __P ((int __fd, __off_t __length));
 #else
-extern int ftruncate __P ((int __fd, __off_t __length))
+extern int ftruncate __P ((int __fd, __off64_t __length))
      __asm__ ("ftruncate64");
 #endif
 #ifdef __USE_LARGEFILE64
@@ -957,7 +957,7 @@ extern long int syscall __P ((long int __sysno, ...));
 # ifndef __USE_FILE_OFFSET64
 extern int lockf __P ((int __fd, int __cmd, __off_t __len));
 # else
-extern int lockf __P ((int __fd, int __cmd, __off_t __len))
+extern int lockf __P ((int __fd, int __cmd, __off64_t __len))
      __asm__ ("lockf64");
 # endif
 # ifdef __USE_LARGEFILE64
index 0076ad4ffff392888a9e86a433361961ad652dc5..2d297e5191690d64fb9822484b2459a6a818bf1b 100644 (file)
@@ -21,7 +21,8 @@
 #
 subdir := stdlib
 
-headers        := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h
+headers        := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h    \
+          inttypes.h
 
 routines       :=                                                            \
        atof atoi atol atoll                                                  \
@@ -44,7 +45,8 @@ routines      :=                                                            \
        strtof_l strtod_l strtold_l                                           \
        system canonicalize                                                   \
        a64l l64a                                                             \
-       rpmatch strfmon strfmon_l getsubopt xpg_basename fmtmsg
+       rpmatch strfmon strfmon_l getsubopt xpg_basename fmtmsg               \
+       strtoimax strtoumax wcstoimax wcstoumax
 
 distribute     := exit.h grouping.h abort-instr.h
 tests          := tst-strtol tst-strtod testmb testrand testsort testdiv \
diff --git a/sysdeps/generic/bits/environments.h b/sysdeps/generic/bits/environments.h
new file mode 100644 (file)
index 0000000..8ed1990
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly.  Use <unistd.h> instead"
+#endif
+
+/* This header should define the following symbols under the described
+   situations.  A value `1' means that the model is always supported,
+   `-1' means it is never supported.  Undefined means it cannot be
+   statically decided.
+
+   _XBS5_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _XBS5_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+
+   _XBS5_LP64_OFF32    64bit long and pointers and 32bit off_t type
+   _XBS5_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+*/
+
+#endif /* environments.h */
diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h
new file mode 100644 (file)
index 0000000..c5a74b8
--- /dev/null
@@ -0,0 +1 @@
+#error "This file must be written based on the data typs sizes of the target"
diff --git a/sysdeps/generic/mmap64.c b/sysdeps/generic/mmap64.c
new file mode 100644 (file)
index 0000000..c0e8868
--- /dev/null
@@ -0,0 +1,48 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <errno.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+
+/* Map addresses starting near ADDR and extending for LEN bytes.  From
+   OFFSET into the file FD describes according to PROT and FLAGS.  If ADDR
+   is nonzero, it is the desired mapping address.  If the MAP_FIXED bit is
+   set in FLAGS, the mapping will be at ADDR exactly (which must be
+   page-aligned); otherwise the system chooses a convenient nearby address.
+   The return value is the actual mapping address chosen or MAP_FAILED
+   for errors (in which case `errno' is set).  A successful `mmap' call
+   deallocates any previous mapping for the affected region.  */
+
+__ptr_t
+__mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd,
+         __off64_t offset)
+{
+  off_t small_offset = (off_t) offset;
+
+  if (small_offset != offset)
+    {
+      /* We cannot do this since the offset is too large.  */
+      __set_errno (EOVERFLOW);
+      return MAP_FAILED;
+    }
+
+  return __mmap (addr, len, prot, flags, fd, small_offset);
+}
+
+weak_alias (__mmap64, mmap64)
index 97329c58d86bee294a69f2d92a41e41f3078761e..57c5da44c1a7b31fc5611ed5e63d0b7387dc9e4a 100644 (file)
@@ -43,4 +43,3 @@ setrlimit64 (resource, rlimits)
 }
 
 stub_warning (setrlimit64)
-#include <stub-tag.h>
diff --git a/sysdeps/generic/strtoimax.c b/sysdeps/generic/strtoimax.c
new file mode 100644 (file)
index 0000000..f1de70f
--- /dev/null
@@ -0,0 +1 @@
+#error "The correct implementation must be chosen based on the `intmax_t' type"
diff --git a/sysdeps/generic/strtoumax.c b/sysdeps/generic/strtoumax.c
new file mode 100644 (file)
index 0000000..508cb19
--- /dev/null
@@ -0,0 +1 @@
+#error "The correct implementation must be chosen based on the `uintmax_t' type"
index f8ca3f03ee487138cccfe966adb46542c057b996..f6e0196f70abf09148d9b6259d56a7b293bf783f 100644 (file)
@@ -100,6 +100,8 @@ extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
      __asm__ ("mmap64");
 #endif
 #ifdef __USE_LARGEFILE64
+extern __ptr_t __mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
+                             int __flags, int __fd, __off64_t __offset));
 extern __ptr_t mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
                          int __flags, int __fd, __off64_t __offset));
 #endif
diff --git a/sysdeps/generic/wcstoimax.c b/sysdeps/generic/wcstoimax.c
new file mode 100644 (file)
index 0000000..f1de70f
--- /dev/null
@@ -0,0 +1 @@
+#error "The correct implementation must be chosen based on the `intmax_t' type"
diff --git a/sysdeps/generic/wcstoumax.c b/sysdeps/generic/wcstoumax.c
new file mode 100644 (file)
index 0000000..508cb19
--- /dev/null
@@ -0,0 +1 @@
+#error "The correct implementation must be chosen based on the `uintmax_t' type"
diff --git a/sysdeps/mach/powerpc/machine-lock.h b/sysdeps/mach/powerpc/machine-lock.h
new file mode 100644 (file)
index 0000000..543927d
--- /dev/null
@@ -0,0 +1,75 @@
+/* Machine-specific definition for spin locks.  PowerPC version.
+   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _MACHINE_LOCK_H
+#define        _MACHINE_LOCK_H
+
+/* The type of a spin lock variable.  */
+
+typedef __volatile long int __spin_lock_t;
+
+/* Value to initialize `__spin_lock_t' variables to.  */
+
+#define        __SPIN_LOCK_INITIALIZER 0L
+
+
+#ifndef _EXTERN_INLINE
+#define _EXTERN_INLINE extern __inline
+#endif
+
+/* Unlock LOCK.  */
+
+_EXTERN_INLINE void
+__spin_unlock (__spin_lock_t *__lock)
+{
+  __asm__ __volatile__ ("sync ; stwcx. %1,0,%0"
+                       : : "r" (__lock), "r" (0) : "cr0");
+}
+
+/* Try to lock LOCK; return nonzero if we locked it, zero if another has.  */
+
+_EXTERN_INLINE int
+__spin_try_lock (register __spin_lock_t *__lock)
+{
+  long int __rtn;
+
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%1
+       stwcx.  %2,0,%1
+       bne-    0b
+" : "=&r"(__rtn) : "r"(__lock), "r"(1) : "cr0");
+  return ~__rtn;
+}
+
+/* Return nonzero if LOCK is locked.  */
+
+_EXTERN_INLINE int
+__spin_lock_locked (__spin_lock_t *__lock)
+{
+  long int __rtn;
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%1
+       stwcx.  %0,0,%1
+       bne-    0b
+" : "=&r"(__rtn) : "r"(__lock) : "cr0");
+  return __rtn;
+}
+
+
+#endif /* machine-lock.h */
index 8858ebeae5915a9fcce797dc14fb8b34d7b4355f..ec482dee968a66f0ab573c0c962ccd4dc7a2f2b9 100644 (file)
@@ -49,7 +49,7 @@ main()
 
   /* These values correspond to the code in sysdeps/posix/tempname.c.
      Change the values here if you change that code.  */
-  puts ("#ifndef __need_FOPEN_MAX");
+  puts ("#ifdef _STDIO_H");
   printf ("# define L_tmpnam %u\n", sizeof ("/usr/tmp/") + 9);
   printf ("# define TMP_MAX %u\n", 62 * 62 * 62);
 
@@ -74,6 +74,8 @@ main()
 #endif
          );
 
+  puts ("# undef __need_FOPEN_MAX");
+  puts ("# define __need_FOPEN_MAX     1");
   puts ("#endif\n");
 
   /* POSIX does not require that OPEN_MAX and PATH_MAX be defined, so
index 4a22fb895298328c1b2498709f2964ee4cc4d8e9..5d6422c500b0aad4b37d3b0c1efa28087f1066e8 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <sysdep.h>
 #define _ASM
+#define _SETJMP_H
 #include <bits/setjmp.h>
 
 ENTRY (__longjmp)
diff --git a/sysdeps/powerpc/atomicity.h b/sysdeps/powerpc/atomicity.h
new file mode 100644 (file)
index 0000000..dba0965
--- /dev/null
@@ -0,0 +1,99 @@
+/* Low-level functions for atomic operations.  PowerPC version.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _ATOMICITY_H
+#define _ATOMICITY_H   1
+
+#include <inttypes.h>
+
+static inline int
+__attribute__ ((unused))
+exchange_and_add (volatile uint32_t *mem, int val)
+{
+  int tmp, result;
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%2
+       add     %1,%3,%0
+       stwcx.  %1,0,%2
+       bne-    0b
+" : "=&r"(result), "=&r"(tmp) : "r" (mem), "r"(val) : "cr0");
+  return result;
+}
+
+static inline void
+__attribute__ ((unused))
+atomic_add (volatile uint32_t *mem, int val)
+{
+  int tmp;
+  __asm__ __volatile__("\
+0:     lwarx   %0,0,%1
+       add     %0,%2,%0
+       stwcx.  %0,0,%1
+       bne-    0b
+" : "=&r"(tmp) : "r" (mem), "r"(val) : "cr0");
+}
+
+static inline int
+__attribute__ ((unused))
+compare_and_swap (volatile long int *p, long int oldval, long int newval)
+{
+  int result;
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%1
+       xor.    %0,%0,%2
+       cntlzw  %0,%0
+       bne-    1f
+       stwcx.  %3,0,%1
+       bne-    0b
+1:     srwi    %0,%0,5
+" : "=&r"(result) : "r"(p), "r"(oldval), "r"(newval) : "cr0");
+  return result;
+}
+
+static inline long int
+__attribute__ ((unused))
+always_swap (volatile long int *p, long int newval)
+{
+  long int result;
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%1
+       stwcx.  %2,0,%1
+       bne-    0b
+" : "=&r"(result) : "r"(p), "r"(newval) : "cr0");
+  return result;
+}
+
+static inline int
+__attribute__ ((unused))
+test_and_set (volatile long int *p, long int oldval, long int newval)
+{
+  int result;
+  __asm__ __volatile__ ("\
+0:     lwarx   %0,0,%1
+       xor.    %0,%0,%2
+       cntlzw  %0,%0
+       bne-    1f
+       stwcx.  %3,0,%1
+       bne-    0b
+1:     srwi    %0,%0,5
+" : "=&r"(result) : "r"(p), "r"(oldval), "r"(newval) : "cr0");
+  return result;
+}
+
+#endif /* atomicity.h */
index 24f186adf1e2806ea202cec6b3b5767f740b673b..fff1d64ce20de9d70ef05edc6d5826db50b6e9dc 100644 (file)
    Boston, MA 02111-1307, USA.  */
 
 #ifdef __GNUC__
-#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
-
-#ifdef __cplusplus
-# define __MATH_INLINE __inline
-#else
-# define __MATH_INLINE extern __inline
-#endif
-
-__MATH_INLINE double __sgn1 (double __x);
-__MATH_INLINE double
-__sgn1 (double __x)
-{
-  return __x >= 0.0 ? 1.0 : -1.0;
-}
-#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
 
 #if __USE_ISOC9X && !defined _SOFT_FLOAT
 # define __unordered_cmp(x, y) \
   (__extension__                                                             \
    ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y);                              \
       unsigned __r;                                                          \
-      __asm__("fcmpu 7,%1,%2 ; mfcr %0" : "=r" (__r) : "f" (__x), "f"(__y));  \
+      __asm__("fcmpu 7,%1,%2 ; mfcr %0" : "=r" (__r) : "f" (__x), "f"(__y)    \
+              : "cr7");  \
       __r; }))
 
 # define isgreater(x, y) (__unordered_cmp (x, y) >> 2 & 1)
@@ -50,4 +36,53 @@ __sgn1 (double __x)
 # define isunordered(x, y) (__unordered_cmp (x, y) & 1)
 #endif /* __USE_ISOC9X && !_SOFT_FLOAT */
 
+#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
+
+#ifdef __cplusplus
+# define __MATH_INLINE __inline
+#else
+# define __MATH_INLINE extern __inline
+#endif  /* __cplusplus */
+
+#ifdef __USE_ISOC9X
+__MATH_INLINE long int lrint (double __x);
+__MATH_INLINE long int
+lrint (double __x)
+{
+  union {
+    double __d;
+    long int __ll[2];
+  } __u;
+  asm ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
+  return __u.__ll[1];
+}
+
+__MATH_INLINE long int lrintf (float __x);
+__MATH_INLINE long int
+lrintf (float __x)
+{
+  union {
+    double __d;
+    long int __ll[2];
+  } __u;
+  asm ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
+  return __u.__ll[1];
+}
+
+__MATH_INLINE double fdim (double __x, double __y);
+__MATH_INLINE double
+fdim (double __x, double __y)
+{
+  return __x < __y ? 0 : __x - __y;
+}
+
+__MATH_INLINE float fdimf (float __x, float __y);
+__MATH_INLINE float
+fdimf (float __x, float __y)
+{
+  return __x < __y ? 0 : __x - __y;
+}
+
+#endif /* __USE_ISOC9X */
+#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
 #endif /* __GNUC__  */
diff --git a/sysdeps/powerpc/s_fdim.c b/sysdeps/powerpc/s_fdim.c
new file mode 100644 (file)
index 0000000..da22f5c
--- /dev/null
@@ -0,0 +1,31 @@
+/* Return positive difference between arguments.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <math.h>
+
+double
+__fdim (double x, double y)
+{
+  return x < y ? 0 : x - y;
+}
+weak_alias (__fdim, fdim)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__fdim, __fdiml)
+weak_alias (__fdim, fdiml)
+#endif
diff --git a/sysdeps/powerpc/s_fdimf.c b/sysdeps/powerpc/s_fdimf.c
new file mode 100644 (file)
index 0000000..bebe7e5
--- /dev/null
@@ -0,0 +1,27 @@
+/* Return positive difference between arguments.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <math.h>
+
+float
+__fdimf (float x, float y)
+{
+  return x < y ? 0 : x - y;
+}
+weak_alias (__fdimf, fdimf)
diff --git a/sysdeps/powerpc/s_fmax.S b/sysdeps/powerpc/s_fmax.S
new file mode 100644 (file)
index 0000000..559769a
--- /dev/null
@@ -0,0 +1,43 @@
+/* Floating-point maximum.  PowerPC version.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sysdep.h>
+
+ENTRY(__fmax)
+/* double [f1] fmax (double [f1] x, double [f2] y); */
+       fcmpu   %cr0,%f1,%f2
+       blt     %cr0,0f         /* if x < y, neither x nor y can be NaN... */
+       bnulr+  %cr0
+/* x and y are unordered, so one of x or y must be a NaN... */
+       fcmpu   %cr1,%f2,%f2
+       bunlr   %cr1
+0:     fmr     %f1,%f2
+       blr
+END(__fmax)
+
+weak_alias(__fmax,fmax)
+
+/* It turns out that it's safe to use this code even for single-precision.  */
+strong_alias(__fmax,__fmaxf)
+weak_alias(__fmax,fmaxf)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias(__fmax,__fmaxl)
+weak_alias(__fmax,fmaxl)
+#endif
diff --git a/sysdeps/powerpc/s_fmaxf.S b/sysdeps/powerpc/s_fmaxf.S
new file mode 100644 (file)
index 0000000..3c2d62b
--- /dev/null
@@ -0,0 +1 @@
+/* __fmaxf is in s_fmax.c  */
diff --git a/sysdeps/powerpc/s_fmin.S b/sysdeps/powerpc/s_fmin.S
new file mode 100644 (file)
index 0000000..72516c2
--- /dev/null
@@ -0,0 +1,43 @@
+/* Floating-point minimum.  PowerPC version.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <sysdep.h>
+
+ENTRY(__fmin)
+/* double [f1] fmin (double [f1] x, double [f2] y); */
+       fcmpu   %cr0,%f1,%f2
+       bgt     %cr0,0f         /* if x > y, neither x nor y can be NaN... */
+       bnulr+  %cr0
+/* x and y are unordered, so one of x or y must be a NaN... */
+       fcmpu   %cr1,%f2,%f2
+       bunlr   %cr1
+0:     fmr     %f1,%f2
+       blr
+END(__fmin)
+
+weak_alias(__fmin,fmin)
+
+/* It turns out that it's safe to use this code even for single-precision.  */
+strong_alias(__fmin,__fminf)
+weak_alias(__fmin,fminf)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias(__fmin,__fminl)
+weak_alias(__fmin,fminl)
+#endif
diff --git a/sysdeps/powerpc/s_fminf.S b/sysdeps/powerpc/s_fminf.S
new file mode 100644 (file)
index 0000000..10ab7fe
--- /dev/null
@@ -0,0 +1 @@
+/* __fminf is in s_fmin.c  */
index 7ca48c029a12cc836c00528e938e9061b1e43d7d..1789e79860649dfc8138fb2e2410ce0775d8f175 100644 (file)
@@ -1,5 +1,4 @@
-/* Round a long long floating point value to an integer in the current
-   rounding mode.
+/* Round a double value to a long long in the current rounding mode.
    Copyright (C) 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
 #include "math.h"
 
 long long int
-__llrint (long double x)
+__llrint (double x)
 {
-  return (long long int) __rintl (x);
+  return (long long int) __rint (x);
 }
 weak_alias (__llrint, llrint)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__llrint, __llrintl)
+weak_alias (__llrint, llrintl)
+#endif
diff --git a/sysdeps/powerpc/s_llrintf.c b/sysdeps/powerpc/s_llrintf.c
new file mode 100644 (file)
index 0000000..2068a02
--- /dev/null
@@ -0,0 +1,27 @@
+/* Round a float value to a long long in the current rounding mode.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "math.h"
+
+long long int
+__llrintf (float x)
+{
+  return (long long int) __rintf (x);
+}
+weak_alias (__llrintf, llrintf)
index fbe3a3217c385af8a2f09315f8db715f3ef088e7..6b49dbf9172fb8994368015e24d8cea156e51522 100644 (file)
@@ -1,4 +1,4 @@
-/* Round long double value to long int.
+/* Round double value to long long int.
    Copyright (C) 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    clipping to MAX_LLONG or MIN_LLONG.  */
 
 long long int
-__llround (long double x)
+__llround (double x)
 {
-  long double xrf;
+  double xrf;
   long long int xr;
   xr = (long long int) x;
-  xrf = (long double) xr;
+  xrf = (double) xr;
   if (x >= 0.0)
     if (x - xrf >= 0.5 && x - xrf < 1.0 && x+1 > 0)
       return x+1;
@@ -44,3 +44,7 @@ __llround (long double x)
       return x;
 }
 weak_alias (__llround, llround)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__llround, __llroundl)
+weak_alias (__llround, llroundl)
+#endif
diff --git a/sysdeps/powerpc/s_llroundf.c b/sysdeps/powerpc/s_llroundf.c
new file mode 100644 (file)
index 0000000..23f1c28
--- /dev/null
@@ -0,0 +1,46 @@
+/* Round float value to long long int.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <math.h>
+
+/* I think that what this routine is supposed to do is round a value
+   to the nearest integer, with values exactly on the boundary rounded
+   away from zero.  */
+/* This routine relies on (long long)x, when x is out of range of a long long,
+   clipping to MAX_LLONG or MIN_LLONG.  */
+
+long long int
+__llroundf (float x)
+{
+  float xrf;
+  long long int xr;
+  xr = (long long int) x;
+  xrf = (float) xr;
+  if (x >= 0.0)
+    if (x - xrf >= 0.5 && x - xrf < 1.0 && x+1 > 0)
+      return x+1;
+    else
+      return x;
+  else
+    if (xrf - x >= 0.5 && xrf - x < 1.0 && x-1 < 0)
+      return x-1;
+    else
+      return x;
+}
+weak_alias (__llroundf, llroundf)
index 647cf30c9c9818b97cbb5c900e78d5a1b68ed627..a06059885951c8f1035ffbbe4280eb27dfce17f5 100644 (file)
 
 #include "math.h"
 
-#ifdef NO_LONG_DOUBLE
-
 long int
-__lrint (long double x)
-{
-  return (long int) __rintl(x);
-}
-
-#else
-
-long int
-__lrint (long double x)
+__lrint (double x)
 {
   union {
     double d;
     long int ll[2];
   } u;
   asm ("fctiw %0,%1" : "=f"(u.d) : "f"(x));
-  return d.ll[1];
+  return u.ll[1];
 }
+weak_alias (__lrint, lrint)
+
+/* This code will also work for a 'float' argument.  */
+asm ("\
+        .globl __lrintf
+        .globl lrintf
+        .weak lrintf
+       .set __lrintf,__lrint
+       .set lrintf,__lrint
+");
 
+#ifdef NO_LONG_DOUBLE
+strong_alias (__lrint, __lrintl)
+weak_alias (__lrint, lrintl)
 #endif
-weak_alias (__lrint, lrint)
diff --git a/sysdeps/powerpc/s_lrintf.S b/sysdeps/powerpc/s_lrintf.S
new file mode 100644 (file)
index 0000000..e247665
--- /dev/null
@@ -0,0 +1 @@
+/* __lrintf is in s_lrint.c  */
index a6cb6c96d2c3a4c27c5d4f6bce311dea1f48557c..c52c0388f602118300229e5bc3131312b7a83b78 100644 (file)
@@ -1,4 +1,4 @@
-/* Round long double value to long int.
+/* Round double value to long int.
    Copyright (C) 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    clipping to MAX_LONG or MIN_LONG.  */
 
 long int
-__lround (long double x)
+__lround (double x)
 {
-  long double xrf;
+  double xrf;
   long int xr;
   xr = (long int) x;
-  xrf = (long double) xr;
+  xrf = (double) xr;
   if (x >= 0.0)
     if (x - xrf >= 0.5 && x - xrf < 1.0 && x+1 > 0)
       return x+1;
@@ -44,3 +44,7 @@ __lround (long double x)
       return x;
 }
 weak_alias (__lround, lround)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__lround, __lroundl)
+weak_alias (__lround, lroundl)
+#endif
diff --git a/sysdeps/powerpc/s_lroundf.c b/sysdeps/powerpc/s_lroundf.c
new file mode 100644 (file)
index 0000000..ce1c3cf
--- /dev/null
@@ -0,0 +1,46 @@
+/* Round float value to long int.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <math.h>
+
+/* I think that what this routine is supposed to do is round a value
+   to the nearest integer, with values exactly on the boundary rounded
+   away from zero.  */
+/* This routine relies on (long int)x, when x is out of range of a long int,
+   clipping to MAX_LONG or MIN_LONG.  */
+
+long int
+__lroundf (float x)
+{
+  float xrf;
+  long int xr;
+  xr = (long int) x;
+  xrf = (float) xr;
+  if (x >= 0.0)
+    if (x - xrf >= 0.5 && x - xrf < 1.0 && x+1 > 0)
+      return x+1;
+    else
+      return x;
+  else
+    if (xrf - x >= 0.5 && xrf - x < 1.0 && x-1 < 0)
+      return x-1;
+    else
+      return x;
+}
+weak_alias (__lroundf, lroundf)
index 8fa863f161830b1ba4e86bb1c8064905855fe0b5..dc9d923c7537cfa0c8e376bbd3090fc68ea7d495 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <sysdep.h>
 #define _ASM
+#define _SETJMP_H
 #include <bits/setjmp.h>
 
 ENTRY (__sigsetjmp)
index e22cec7dec41c41b30627f34cc9ddbb917303a9d..674379428182201d58dd463b667547af3c60fa52 100644 (file)
@@ -5,6 +5,7 @@ kernel_sigaction.h
 kernel_stat.h
 kernel_termios.h
 llseek.c
+oldsiglist.c
 s_pread64.c
 s_pwrite64.c
 siglist.h
@@ -21,6 +22,7 @@ net/ppp-comp.h
 net/ppp_defs.h
 net/route.h
 netatalk/at.h
+netax25/ax25.h
 netinet/if_fddi.h
 netinet/if_tr.h
 netinet/igmp.h
@@ -30,6 +32,7 @@ netinet/ip_icmp.h
 netinet/tcp.h
 netinet/udp.h
 netipx/ipx.h
+netrom/netrom.h
 nfs/nfs.h
 rt_sigaction.c
 rt_sigpending.c
index 152c7984bd77c82ce3a1a65661e5de5825c3e1a5..29f1566753141a27f11839cbf3b52d70f82cf6f0 100644 (file)
@@ -69,7 +69,7 @@ ifeq ($(subdir),stdio-common)
 inhibit-siglist := yes
 
 ifeq ($(versioning),yes)
-aux += oldsiglist
+sysdep_routines += oldsiglist
 endif
 
 shared-only-routines += oldsiglist
@@ -79,7 +79,7 @@ ifeq ($(subdir),inet)
 sysdep_headers += netinet/in_systm.h netinet/udp.h \
                  netinet/if_fddi.h netinet/if_tr.h netinet/igmp.h \
                  netinet/ip_fw.h  netinet/ip_icmp.h netipx/ipx.h \
-                 sys/socketvar.h
+                 sys/socketvar.h netax25/ax25.h netrom/netrom.h
 endif
 
 ifeq ($(subdir),posix)
index 6f8bc9bcd443fa5cfa76d1cc10526f4466e89443..f8c42e0a1efc911bb4201ba4e1ab282ef9b4f4cd 100644 (file)
@@ -1,7 +1,7 @@
 /* This is the sigaction struction from the Linux 2.1.20 kernel.  */
 
 struct old_kernel_sigaction {
-       __sighandler_t sa_handler;
+       __sighandler_t k_sa_handler;
        unsigned long sa_mask;
        unsigned int sa_flags;
 };
diff --git a/sysdeps/unix/sysv/linux/alpha/mmap64.c b/sysdeps/unix/sysv/linux/alpha/mmap64.c
new file mode 100644 (file)
index 0000000..0dbd384
--- /dev/null
@@ -0,0 +1 @@
+/* mmap64 is the same as mmap. */
diff --git a/sysdeps/unix/sysv/linux/alpha/net/route.h b/sysdeps/unix/sysv/linux/alpha/net/route.h
new file mode 100644 (file)
index 0000000..6c7d8dd
--- /dev/null
@@ -0,0 +1,140 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* Based on the 4.4BSD and Linux version of this file.  */
+
+#ifndef _NET_ROUTE_H
+#define _NET_ROUTE_H   1
+
+#include <features.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+
+
+/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
+struct rtentry
+  {
+    unsigned long int rt_pad1;
+    struct sockaddr rt_dst;            /* Target address.  */
+    struct sockaddr rt_gateway;                /* Gateway addr (RTF_GATEWAY).  */
+    struct sockaddr rt_genmask;                /* Target network mask (IP).  */
+    unsigned short int rt_flags;
+    short int rt_pad2;
+    unsigned long int rt_pad3;
+    unsigned char rt_tos;
+    unsigned char rt_class;
+    short int rt_pad4[3];
+    short int rt_metric;               /* +1 for binary compatibility!  */
+    char *rt_dev;                      /* Forcing the device at add.  */
+    unsigned long int rt_mtu;          /* Per route MTU/Window.  */
+    unsigned long int rt_window;       /* Window clamping.  */
+    unsigned short int rt_irtt;                /* Initial RTT.  */
+  };
+/* Compatibility hack.  */
+#define rt_mss rt_mtu
+
+
+struct in6_rtmsg
+  {
+    struct in6_addr rtmsg_dst;
+    struct in6_addr rtmsg_src;
+    struct in6_addr rtmsg_gateway;
+    u_int32_t rtmsg_type;
+    u_int16_t rtmsg_dst_len;
+    u_int16_t rtmsg_src_len;
+    u_int32_t rtmsg_metric;
+    unsigned long int rtmsg_info;
+    u_int32_t rtmsg_flags;
+    int rtmsg_ifindex;
+  };
+
+
+#define        RTF_UP          0x0001          /* Route usable.  */
+#define        RTF_GATEWAY     0x0002          /* Destination is a gateway.  */
+
+#define        RTF_HOST        0x0004          /* Host entry (net otherwise).  */
+#define RTF_REINSTATE  0x0008          /* Reinstate route after timeout.  */
+#define        RTF_DYNAMIC     0x0010          /* Created dyn. (by redirect).  */
+#define        RTF_MODIFIED    0x0020          /* Modified dyn. (by redirect).  */
+#define RTF_MTU                0x0040          /* Specific MTU for this route.  */
+#define RTF_MSS                RTF_MTU         /* Compatibility.  */
+#define RTF_WINDOW     0x0080          /* Per route window clamping.  */
+#define RTF_IRTT       0x0100          /* Initial round trip time.  */
+#define RTF_REJECT     0x0200          /* Reject route.  */
+#define        RTF_STATIC      0x0400          /* Manually injected route.  */
+#define        RTF_XRESOLVE    0x0800          /* External resolver.  */
+#define RTF_NOFORWARD   0x1000         /* Forwarding inhibited.  */
+#define RTF_THROW      0x2000          /* Go to next class.  */
+#define RTF_NOPMTUDISC  0x4000         /* Do not send packets with DF.  */
+
+/* for IPv6 */
+#define RTF_DEFAULT    0x00010000      /* default - learned via ND     */
+#define RTF_ALLONLINK  0x00020000      /* fallback, no routers on link */
+#define RTF_ADDRCONF   0x00040000      /* addrconf route - RA          */
+
+#define RTF_LINKRT     0x00100000      /* link specific - device match */
+#define RTF_NONEXTHOP  0x00200000      /* route with no nexthop        */
+
+#define RTF_CACHE      0x01000000      /* cache entry                  */
+#define RTF_FLOW       0x02000000      /* flow significant route       */
+#define RTF_POLICY     0x04000000      /* policy route                 */
+
+#define RTCF_VALVE     0x00200000
+#define RTCF_MASQ      0x00400000
+#define RTCF_NAT       0x00800000
+#define RTCF_DOREDIRECT 0x01000000
+#define RTCF_LOG       0x02000000
+#define RTCF_DIRECTSRC 0x04000000
+
+#define RTF_LOCAL      0x80000000
+#define RTF_INTERFACE  0x40000000
+#define RTF_MULTICAST  0x20000000
+#define RTF_BROADCAST  0x10000000
+#define RTF_NAT                0x08000000
+
+#define RTF_ADDRCLASSMASK      0xF8000000
+#define RT_ADDRCLASS(flags)    ((__u_int32_t) flags >> 23)
+
+#define RT_TOS(tos)            ((tos) & IPTOS_TOS_MASK)
+
+#define RT_LOCALADDR(flags)    ((flags & RTF_ADDRCLASSMASK) \
+                                == (RTF_LOCAL|RTF_INTERFACE))
+
+#define RT_CLASS_UNSPEC                0
+#define RT_CLASS_DEFAULT       253
+
+#define RT_CLASS_MAIN          254
+#define RT_CLASS_LOCAL         255
+#define RT_CLASS_MAX           255
+
+
+#define RTMSG_ACK              NLMSG_ACK
+#define RTMSG_OVERRUN          NLMSG_OVERRUN
+
+#define RTMSG_NEWDEVICE                0x11
+#define RTMSG_DELDEVICE                0x12
+#define RTMSG_NEWROUTE         0x21
+#define RTMSG_DELROUTE         0x22
+#define RTMSG_NEWRULE          0x31
+#define RTMSG_DELRULE          0x32
+#define RTMSG_CONTROL          0x40
+
+#define RTMSG_AR_FAILED                0x51    /* Address Resolution failed.  */
+
+#endif /* net/route.h */
index af964718bc15252aeab04ade5820eff7ee98c7fc..9406892124688236538639887f4edde935a7612b 100644 (file)
@@ -19,13 +19,13 @@ osf_sigprocmask     -       osf_sigprocmask 2       __osf_sigprocmask
 
 getpeername    -       getpeername     3       __getpeername   getpeername
 getpriority    -       getpriority     2       __getpriority   getpriority
-mmap           -       mmap            6       __mmap          mmap
+mmap           -       mmap            6       __mmap          mmap __mmap64 mmap64
 llseek         EXTRA   lseek           3       __llseek        llseek lseek64
 pread          EXTRA   pread           4       __pread         pread __pread64 pread64
 pwrite         EXTRA   pwrite          4       __pwrite        pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         2       __fstatfs       fstatfs fstatfs64
 statfs         -       statfs          2       __statfs        statfs statfs64
-getrlimit      -       getrlimit       2       getrlimit       getrlimit64
+getrlimit      -       getrlimit       2       __getrlimit     getrlimit getrlimit64
 setrlimit      -       setrlimit       2       setrlimit       setrlimit64
 ftruncate      -       ftruncate       2       ftruncate       ftruncate64
 truncate       -       truncate        2       truncate        truncate64
index 42a4f8b74f9996f80d55f383409ca4337f35ba00..34c2be427177aa5884edfef31cacfc60208eff5e 100644 (file)
@@ -107,9 +107,6 @@ enum __socket_type
 #define SOL_IPV6        41
 #define SOL_ICMPV6      58
 #define SOL_RAW                255
-#define SOL_AX25        257
-#define SOL_ATALK       258
-#define SOL_NETROM      259
 #define SOL_ROSE        260
 #define SOL_DECNET      261
 #define SOL_X25         262
index d762dc9416d1064ab95fa16be3a4cf66c4e1eebc..75955fcc155bd8bcc53fd8c5cebb03cf6e9a0a24 100644 (file)
@@ -1,4 +1,6 @@
 bits/mman.h
 clone.S
+s_pwrite64.S
+s_pread64.S
 sys/perm.h
 sys/vm86.h
index 05d187c4322fcdf9bd5d272faae33d1e5310512b..90818c1dffb011eec5e1663df6278df6ae88d41e 100644 (file)
@@ -32,8 +32,8 @@ extern int __syscall_rt_sigaction (int, const struct sigaction *,
                                   struct sigaction *, size_t);
 
 /* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  It is defined in sigsuspend.c.  */
-extern int __libc_have_rt_sigs;
+   functions which have RT equivalents.  */
+int __libc_have_rt_sigs = -1;
 
 
 /* If ACT is not NULL, change the action for SIG to *ACT.
index 2450d5154abd711f1bfbb75b7c6e4bfb52a077ea..6cccbeee2e3736178417c9d0240ded28b34bfe8a 100644 (file)
 /* Based on the 4.4BSD and Linux version of this file.  */
 
 #ifndef _NET_ROUTE_H
-
 #define _NET_ROUTE_H   1
-#include <features.h>
 
+#include <features.h>
 #include <sys/socket.h>
 #include <sys/types.h>
 #include <netinet/in.h>
index e0ccff85522db3105a29f19cde12b67c0f82c2f6..4c586106c6e5641fa574e618f8208d134cb384d2 100644 (file)
@@ -16,8 +16,8 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef __NETATALK_ATALK_H
-#define __NETATALK_ATALK_H 1
+#ifndef _NETATALK_AT_H
+#define _NETATALK_AT_H 1
 
 #include <asm/types.h>
 #include <sys/socket.h>
@@ -25,4 +25,4 @@
 
 #define SOL_ATALK       258     /* sockopt level for atalk */
 
-#endif
+#endif /* netatalk/at.h */
diff --git a/sysdeps/unix/sysv/linux/netax25/ax25.h b/sysdeps/unix/sysv/linux/netax25/ax25.h
new file mode 100644 (file)
index 0000000..1bec592
--- /dev/null
@@ -0,0 +1,147 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _NETAX25_AX25_H
+#define _NETAX25_AX25_H        1
+
+#include <features.h>
+#include <bits/sockaddr.h>
+
+/* Setsockoptions(2) level.  Thanks to BSD these must match IPPROTO_xxx.  */
+#define SOL_AX25       257
+
+/* AX.25 flags: */
+#define AX25_WINDOW    1
+#define AX25_T1                2
+#define AX25_T2                5
+#define AX25_T3                4
+#define AX25_N2                3
+#define AX25_BACKOFF   6
+#define AX25_EXTSEQ    7
+#define AX25_IDLE      9
+#define        AX25_PACLEN     10
+#define AX25_IPMAXQUEUE 11
+#define AX25_KILL      99
+
+/* AX.25 socket ioctls: */
+#define SIOCAX25GETUID         (SIOCPROTOPRIVATE)
+#define SIOCAX25ADDUID         (SIOCPROTOPRIVATE+1)
+#define SIOCAX25DELUID         (SIOCPROTOPRIVATE+2)
+#define SIOCAX25NOUID          (SIOCPROTOPRIVATE+3)
+#define SIOCAX25BPQADDR                (SIOCPROTOPRIVATE+4)
+#define SIOCAX25GETPARMS       (SIOCPROTOPRIVATE+5)
+#define SIOCAX25SETPARMS       (SIOCPROTOPRIVATE+6)
+#define SIOCAX25OPTRT          (SIOCPROTOPRIVATE+7)
+#define SIOCAX25CTLCON         (SIOCPROTOPRIVATE+8)
+
+/* unknown: */
+#define AX25_NOUID_DEFAULT     0
+#define AX25_NOUID_BLOCK       1
+#define AX25_SET_RT_IPMODE     2
+
+/* Digipeating flags: */
+#define AX25_DIGI_INBAND       0x01    /* Allow digipeating within port */
+#define AX25_DIGI_XBAND                0x02    /* Allow digipeating across ports */
+
+/* Maximim number of digipeaters: */
+#define AX25_MAX_DIGIS 8
+
+
+typedef struct
+  {
+    char ax25_call[7];         /* 6 call + SSID (shifted ascii) */
+  }
+ax25_address;
+
+struct sockaddr_ax25
+  {
+    sa_family_t sax25_family;
+    ax25_address sax25_call;
+    int sax25_ndigis;
+  };
+
+/*
+ * The sockaddr struct with the digipeater adresses:
+ */
+struct full_sockaddr_ax25
+  {
+    struct sockaddr_ax25 fsa_ax25;
+    ax25_address fsa_digipeater[AX25_MAX_DIGIS];
+  };
+#define sax25_uid      sax25_ndigis
+
+struct ax25_routes_struct
+  {
+    ax25_address port_addr;
+    ax25_address dest_addr;
+    unsigned char digi_count;
+    ax25_address digi_addr[AX25_MAX_DIGIS];
+  };
+
+/* The AX.25 ioctl structure: */
+struct ax25_ctl_struct
+  {
+    ax25_address port_addr;
+    ax25_address source_addr;
+    ax25_address dest_addr;
+    unsigned int cmd;
+    unsigned long arg;
+  };
+
+/* AX.25 route structure: */
+struct ax25_route_opt_struct
+  {
+    ax25_address port_addr;
+    ax25_address dest_addr;
+    int cmd;
+    int arg;
+  };
+
+/* AX.25 BPQ stuff: */
+struct ax25_bpqaddr_struct
+  {
+    char dev[16];
+    ax25_address addr;
+  };
+
+/* Definitions for the AX.25 `values' fields: */
+#define        AX25_VALUES_IPDEFMODE   0       /* 'D'=DG 'V'=VC */
+#define        AX25_VALUES_AXDEFMODE   1       /* 8=Normal 128=Extended Seq Nos */
+#define        AX25_VALUES_NETROM      2       /* Allow NET/ROM  - 0=No 1=Yes */
+#define        AX25_VALUES_TEXT        3       /* Allow PID=Text - 0=No 1=Yes */
+#define        AX25_VALUES_BACKOFF     4       /* 'E'=Exponential 'L'=Linear */
+#define        AX25_VALUES_CONMODE     5       /* Allow connected modes - 0=No 1=Yes */
+#define        AX25_VALUES_WINDOW      6       /* Default window size for standard AX.25 */
+#define        AX25_VALUES_EWINDOW     7       /* Default window size for extended AX.25 */
+#define        AX25_VALUES_T1          8       /* Default T1 timeout value */
+#define        AX25_VALUES_T2          9       /* Default T2 timeout value */
+#define        AX25_VALUES_T3          10      /* Default T3 timeout value */
+#define        AX25_VALUES_N2          11      /* Default N2 value */
+#define        AX25_VALUES_DIGI        12      /* Digipeat mode */
+#define AX25_VALUES_IDLE       13      /* mode vc idle timer */
+#define AX25_VALUES_PACLEN     14      /* AX.25 MTU */
+#define AX25_VALUES_IPMAXQUEUE  15     /* Maximum number of buffers enqueued */
+#define        AX25_MAX_VALUES         20
+
+struct ax25_parms_struct
+  {
+    ax25_address port_addr;
+    unsigned short values[AX25_MAX_VALUES];
+  };
+
+#endif /* netax25/ax25.h */
diff --git a/sysdeps/unix/sysv/linux/netrom/netrom.h b/sysdeps/unix/sysv/linux/netrom/netrom.h
new file mode 100644 (file)
index 0000000..b8c2af0
--- /dev/null
@@ -0,0 +1,80 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _NETROM_NETROM_H
+#define _NETROM_NETROM_H       1
+
+#include <netax25/ax25.h>
+
+/* Setsockoptions(2) level.  Thanks to BSD these must match IPPROTO_xxx.  */
+#define SOL_NETROM     259
+
+/* NetRom control values: */
+#define NETROM_T1      1
+#define NETROM_T2      2
+#define NETROM_N2      3
+#define NETROM_PACLEN  5
+
+#define NETROM_KILL    99
+
+/* Type of route: */
+#define NETROM_NEIGH    0
+#define NETROM_NODE     1
+
+struct nr_route_struct
+  {
+    int type;
+    ax25_address callsign;
+    char device[16];
+    unsigned int quality;
+    char mnemonic[7];
+    ax25_address neighbour;
+    unsigned int obs_count;
+  };
+
+/* NetRom socket ioctls: */
+#define        SIOCNRGETPARMS          (SIOCPROTOPRIVATE+0)
+#define        SIOCNRSETPARMS          (SIOCPROTOPRIVATE+1)
+#define        SIOCNRDECOBS            (SIOCPROTOPRIVATE+2)
+#define        SIOCNRRTCTL             (SIOCPROTOPRIVATE+3)
+#define        SIOCNRCTLCON            (SIOCPROTOPRIVATE+4)
+
+/* NetRom parameter structure: */
+struct nr_parms_struct
+  {
+    unsigned int quality;
+    unsigned int obs_count;
+    unsigned int ttl;
+    unsigned int timeout;
+    unsigned int ack_delay;
+    unsigned int busy_delay;
+    unsigned int tries;
+    unsigned int window;
+    unsigned int paclen;
+  };
+
+/* NetRom control structure: */
+struct nr_ctl_struct
+  {
+    unsigned char index;
+    unsigned char id;
+    unsigned int cmd;
+    unsigned long arg;
+  };
+
+#endif /* netrom/netrom.h */
index 6b4373db0f6574ca6451990cdbd784e463ae3556..211a56b9f0cfde1e63243f7f9646a0a97470c9d3 100644 (file)
     (envp) = (argv) + (argc) + 1;                              \
     for (_tmp = (void **) (envp); *_tmp; ++_tmp)               \
       continue;                                                        \
-    if (*_tmp == 0 && ((size_t)_tmp & 0xf) != 0)               \
+    /* The following '++' is important!  */                    \
+    ++_tmp;                                                    \
+    if (*_tmp == 0)                                            \
       {                                                                \
        size_t _test = (size_t)_tmp;                            \
        _test = _test + 0xf & ~0xf;                             \
-       if (*(long *)_test == AT_PHDR)                          \
-         _tmp = (void **)_test;                                \
+       _tmp = (void **)_test;                                  \
       }                                                                \
     (auxp) = (void *) _tmp;                                    \
   } while (0)
index c3908d70801041ec2dc44a81dd5eeb4d38a04a3b..a40b3c19bd25a6e151a6a6768d97da01137c55dc 100644 (file)
@@ -20,7 +20,7 @@
 #define _KERNEL_TERMIOS_H 1
 
 /* We need the definition of tcflag_t, cc_t, and speed_t.  */
-#include <bits/termios.h>
+#include <termios.h>
 
 #define __KERNEL_NCCS 19
 
index 3eb721454ebb575defc42fe93267ef60ac1ec4ca..6b3d69d451d564b5f27a77a48d057a9bae332e33 100644 (file)
@@ -30,8 +30,8 @@ extern int __syscall_rt_sigaction (int, const struct sigaction *,
                                   struct sigaction *, size_t);
 
 /* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  It is defined in sigsuspend.c.  */
-extern int __libc_have_rt_sigs;
+   functions which have RT equivalents.  */
+int __libc_have_rt_sigs = -1;
 
 
 /* If ACT is not NULL, change the action for SIG to *ACT.
index 4cecb8dc605a11c57f6e7950a589fc4408316013..fade020d2691ab2094f5d91ec908b97b3a972be0 100644 (file)
@@ -25,7 +25,7 @@ extern int __syscall_rt_sigpending (sigset_t *, size_t);
 
 
 /* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  It is defined in sigsuspend.c.  */
+   functions which have RT equivalents.  It is defined in sigaction.c.  */
 extern int __libc_have_rt_sigs;
 
 
index dc262c88f4f9a6639b43a1bb915ce9e4fb3bee3e..63889a61dd61077386078fbca96c1a7cc91a162b 100644 (file)
@@ -25,7 +25,7 @@ extern int __syscall_rt_sigprocmask (int, const sigset_t *, sigset_t *,
                                     size_t);
 
 /* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  It is defined in sigsuspend.c.  */
+   functions which have RT equivalents.  It is defined in sigaction.c.  */
 extern int __libc_have_rt_sigs;
 
 
index 2cf34eb9b1cef179a853451a0ee93e8b08ca2224..8d8fa8e7098e7c9e178c644334415c579b290736 100644 (file)
@@ -25,8 +25,8 @@ extern int __syscall_rt_sigsuspend (const sigset_t *, size_t);
 
 
 /* The variable is shared between all wrappers around signal handling
-   functions which have RT equivalents.  */
-int __libc_have_rt_sigs = 1;
+   functions which have RT equivalents.  It is defined in sigaction.c.  */
+extern int __libc_have_rt_sigs;
 
 
 /* Change the set of blocked signals to SET,
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c
new file mode 100644 (file)
index 0000000..0dbd384
--- /dev/null
@@ -0,0 +1 @@
+/* mmap64 is the same as mmap. */
index 7e64daf57845bbfc7e64cfd11e7dadac73744e19..ca142da29c7facc87113ebf9b6284dfb233c063d 100644 (file)
@@ -10,6 +10,7 @@ getrlimit     -       getrlimit       2       getrlimit       getrlimit64
 setrlimit      -       setrlimit       2       setrlimit       setrlimit64
 ftruncate      -       ftruncate       2       ftruncate       ftruncate64
 truncate       -       truncate        2       truncate        truncate64
+mmap           -       mmap            6       __mmap          mmap __mmap64 mmap64
 
 # Override select.S in parent directory:
 select         -       select          5       __select        select
index 07280956f25c3d25616e111de09ee21854f15e67..bded904ef05cbf3f6a1682cb6c694f5941b27416 100644 (file)
@@ -21,7 +21,7 @@
 # error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
 #endif
 
-#ifndef __need_FOPEN_MAX
+#ifdef _STDIO_H
 # define L_tmpnam 19
 # define TMP_MAX 238328
 
@@ -31,6 +31,9 @@
 # endif
 
 # define FILENAME_MAX  DEFAULT_FILENAME_MAX
+
+# undef __need_FOPEN_MAX
+# define __need_FOPEN_MAX
 #endif
 
 #if defined __need_FOPEN_MAX && !defined __defined_FOPEN_MAX
index 0ff52200141f3d4b0c8242bb43ab69a4ac43f340..b37586abfddf87f25c05062c4ca881800c4100f8 100644 (file)
@@ -20,7 +20,9 @@
 #define _SYS_KD_H      1
 
 /* Make sure the <linux/types.h> header is not loaded.  */
-#define _LINUX_TYPES_H 1
+#ifndef _LINUX_TYPES_H
+# define _LINUX_TYPES_H        1
+#endif
 
 #include <linux/kd.h>
 
index e2434f135f12b2c56428a2e54d6de5606209fcdb..70f95d080fbfbd189489bd854e6a01218edca5f0 100644 (file)
@@ -42,18 +42,20 @@ __BEGIN_DECLS
    deallocates any previous mapping for the affected region.  */
 
 extern __ptr_t __mmap __P ((__ptr_t __addr, size_t __len, int __prot,
-                         int __flags, int __fd, __off_t __offset));
+                           int __flags, int __fd, __off_t __offset));
 #ifndef __USE_FILE_OFFSET64
 extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
-                       int __flags, int __fd, __off_t __offset));
+                         int __flags, int __fd, __off_t __offset));
 #else
 extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot,
-                       int __flags, int __fd, __off_t __offset))
+                         int __flags, int __fd, __off64_t __offset))
      __asm__ ("mmap64");
 #endif
 #ifdef __USE_LARGEFILE64
+extern __ptr_t __mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
+                             int __flags, int __fd, __off64_t __offset));
 extern __ptr_t mmap64 __P ((__ptr_t __addr, size_t __len, int __prot,
-                         int __flags, int __fd, __off64_t __offset));
+                           int __flags, int __fd, __off64_t __offset));
 #endif
 
 /* Deallocate any mapping for the region starting at ADDR and extending LEN
diff --git a/sysdeps/wordsize-32/Dist b/sysdeps/wordsize-32/Dist
deleted file mode 100644 (file)
index 36bfb62..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-inttypes.h
-strtoimax.c
-strtoumax.c
-wcstoimax.c
-wcstoumax.c
diff --git a/sysdeps/wordsize-32/Makefile b/sysdeps/wordsize-32/Makefile
deleted file mode 100644 (file)
index b22eaee..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-ifeq ($(subdir),stdlib)
-sysdep_headers += inttypes.h
-
-sysdep_routines += strtoimax strtoumax wcstoimax wcstoumax
-endif
diff --git a/sysdeps/wordsize-64/Dist b/sysdeps/wordsize-64/Dist
deleted file mode 100644 (file)
index 36bfb62..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-inttypes.h
-strtoimax.c
-strtoumax.c
-wcstoimax.c
-wcstoumax.c
diff --git a/sysdeps/wordsize-64/Makefile b/sysdeps/wordsize-64/Makefile
deleted file mode 100644 (file)
index b22eaee..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-ifeq ($(subdir),stdlib)
-sysdep_headers += inttypes.h
-
-sysdep_routines += strtoimax strtoumax wcstoimax wcstoumax
-endif