From b9b49b44fdc1c74ad85076bca9ff7ea0200e2214 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 28 Dec 1997 16:01:53 +0000 Subject: Update. 1997-12-28 15:08 Ulrich Drepper * sysdeps/powerpc/__longjmp.S: Define _SETJMP_H before including . * sysdeps/powerpc/setjmp.S: Likewise. Patches by Matt McLean . * 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 * 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 * 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 * posix/sched.h: timespec is in . * sysdeps/unix/sysv/linux/sys/kd.h: Don't redefine _LINUX_TYPES_H. --- ChangeLog | 134 ++++++++++++++++++ FAQ.in | 4 +- Make-dist | 2 +- Makefile | 13 +- PROJECTS | 3 +- README | 6 +- README.template | 6 +- Rules | 6 + bits/environments.h | 35 +++++ configure | 152 +++++++++++---------- configure.in | 10 +- db2/mutex/tsl_parisc.s | 65 +++++++++ iconvdata/Makefile | 15 +- include/limits.h | 9 +- io/fcntl.h | 2 +- libc.map | 2 +- manual/arith.texi | 19 ++- manual/math.texi | 12 +- misc/Makefile | 2 +- nis/nss_nis/nis-hosts.c | 3 +- nis/rpcsvc/nis_tags.h | 2 + posix/sched.h | 6 +- posix/unistd.h | 12 +- stdlib/Makefile | 6 +- sysdeps/generic/bits/environments.h | 35 +++++ sysdeps/generic/inttypes.h | 1 + sysdeps/generic/mmap64.c | 48 +++++++ sysdeps/generic/setrlimit64.c | 1 - sysdeps/generic/strtoimax.c | 1 + sysdeps/generic/strtoumax.c | 1 + sysdeps/generic/sys/mman.h | 2 + sysdeps/generic/wcstoimax.c | 1 + sysdeps/generic/wcstoumax.c | 1 + sysdeps/mach/powerpc/machine-lock.h | 75 ++++++++++ sysdeps/posix/mk-stdiolim.c | 4 +- sysdeps/powerpc/__longjmp.S | 1 + sysdeps/powerpc/atomicity.h | 99 ++++++++++++++ sysdeps/powerpc/bits/mathinline.h | 67 ++++++--- sysdeps/powerpc/s_fdim.c | 31 +++++ sysdeps/powerpc/s_fdimf.c | 27 ++++ sysdeps/powerpc/s_fmax.S | 43 ++++++ sysdeps/powerpc/s_fmaxf.S | 1 + sysdeps/powerpc/s_fmin.S | 43 ++++++ sysdeps/powerpc/s_fminf.S | 1 + sysdeps/powerpc/s_llrint.c | 11 +- sysdeps/powerpc/s_llrintf.c | 27 ++++ sysdeps/powerpc/s_llround.c | 12 +- sysdeps/powerpc/s_llroundf.c | 46 +++++++ sysdeps/powerpc/s_lrint.c | 28 ++-- sysdeps/powerpc/s_lrintf.S | 1 + sysdeps/powerpc/s_lround.c | 12 +- sysdeps/powerpc/s_lroundf.c | 46 +++++++ sysdeps/powerpc/setjmp.S | 1 + sysdeps/unix/sysv/linux/Dist | 3 + sysdeps/unix/sysv/linux/Makefile | 4 +- sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h | 2 +- sysdeps/unix/sysv/linux/alpha/mmap64.c | 1 + sysdeps/unix/sysv/linux/alpha/net/route.h | 140 +++++++++++++++++++ sysdeps/unix/sysv/linux/alpha/syscalls.list | 4 +- sysdeps/unix/sysv/linux/bits/socket.h | 3 - sysdeps/unix/sysv/linux/i386/Dist | 2 + sysdeps/unix/sysv/linux/i386/sigaction.c | 4 +- sysdeps/unix/sysv/linux/net/route.h | 3 +- sysdeps/unix/sysv/linux/netatalk/at.h | 6 +- sysdeps/unix/sysv/linux/netax25/ax25.h | 147 ++++++++++++++++++++ sysdeps/unix/sysv/linux/netrom/netrom.h | 80 +++++++++++ sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c | 7 +- sysdeps/unix/sysv/linux/powerpc/kernel_termios.h | 2 +- sysdeps/unix/sysv/linux/sigaction.c | 4 +- sysdeps/unix/sysv/linux/sigpending.c | 2 +- sysdeps/unix/sysv/linux/sigprocmask.c | 2 +- sysdeps/unix/sysv/linux/sigsuspend.c | 4 +- sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c | 1 + .../unix/sysv/linux/sparc/sparc64/syscalls.list | 1 + sysdeps/unix/sysv/linux/stdio_lim.h.in | 5 +- sysdeps/unix/sysv/linux/sys/kd.h | 4 +- sysdeps/unix/sysv/linux/sys/mman.h | 10 +- sysdeps/wordsize-32/Dist | 5 - sysdeps/wordsize-32/Makefile | 5 - sysdeps/wordsize-64/Dist | 5 - sysdeps/wordsize-64/Makefile | 5 - 81 files changed, 1437 insertions(+), 217 deletions(-) create mode 100644 bits/environments.h create mode 100644 db2/mutex/tsl_parisc.s create mode 100644 sysdeps/generic/bits/environments.h create mode 100644 sysdeps/generic/inttypes.h create mode 100644 sysdeps/generic/mmap64.c create mode 100644 sysdeps/generic/strtoimax.c create mode 100644 sysdeps/generic/strtoumax.c create mode 100644 sysdeps/generic/wcstoimax.c create mode 100644 sysdeps/generic/wcstoumax.c create mode 100644 sysdeps/mach/powerpc/machine-lock.h create mode 100644 sysdeps/powerpc/atomicity.h create mode 100644 sysdeps/powerpc/s_fdim.c create mode 100644 sysdeps/powerpc/s_fdimf.c create mode 100644 sysdeps/powerpc/s_fmax.S create mode 100644 sysdeps/powerpc/s_fmaxf.S create mode 100644 sysdeps/powerpc/s_fmin.S create mode 100644 sysdeps/powerpc/s_fminf.S create mode 100644 sysdeps/powerpc/s_llrintf.c create mode 100644 sysdeps/powerpc/s_llroundf.c create mode 100644 sysdeps/powerpc/s_lrintf.S create mode 100644 sysdeps/powerpc/s_lroundf.c create mode 100644 sysdeps/unix/sysv/linux/alpha/mmap64.c create mode 100644 sysdeps/unix/sysv/linux/alpha/net/route.h create mode 100644 sysdeps/unix/sysv/linux/netax25/ax25.h create mode 100644 sysdeps/unix/sysv/linux/netrom/netrom.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c delete mode 100644 sysdeps/wordsize-32/Dist delete mode 100644 sysdeps/wordsize-32/Makefile delete mode 100644 sysdeps/wordsize-64/Dist delete mode 100644 sysdeps/wordsize-64/Makefile diff --git a/ChangeLog b/ChangeLog index 00185bf0a3..db94809eb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,137 @@ +1997-12-28 15:08 Ulrich Drepper + + * sysdeps/powerpc/__longjmp.S: Define _SETJMP_H before including + . + * sysdeps/powerpc/setjmp.S: Likewise. + Patches by Matt McLean . + + * 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 + + * 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 + + * 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 + + * posix/sched.h: timespec is in . + + * sysdeps/unix/sysv/linux/sys/kd.h: Don't redefine _LINUX_TYPES_H. + 1997-12-22 18:10 Ulrich Drepper * configure.in: Stop with error if --disable-static is used when diff --git a/FAQ.in b/FAQ.in index 62c943bd74..1d8918a1a2 100644 --- 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 - + ?? 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 diff --git a/Make-dist b/Make-dist index 981d5e68f4..f77eb35507 100644 --- 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. diff --git a/Makefile b/Makefile index 9e7679bcf4..ed8d327ddc 100644 --- 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 diff --git a/PROJECTS b/PROJECTS index d7291b8744..c8a196342b 100644 --- a/PROJECTS +++ b/PROJECTS @@ -86,7 +86,6 @@ contact [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 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 755d4ec667..4594cc5eb5 100644 --- 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 . +is installed together with the rest of the GNU libc to . Simply run this shell script and fill in the information. Nevertheless you can still send bug reports to as normal electronic mails. diff --git a/README.template b/README.template index 600a3e6d54..fbea883444 100644 --- a/README.template +++ b/README.template @@ -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 . +electronic mail to . 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 . Simply run this shell script and fill in the information. Nevertheless -you can still send bug reports to as normal -electronic mails. +you can still send bug reports to 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 c36e2c30d6..029f81b96e 100644 --- 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 index 0000000000..8ed19906b4 --- /dev/null +++ b/bits/environments.h @@ -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 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/configure b/configure index 625d2f75ba..1e6489461b 100755 --- 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 <&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 < 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 < 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 <&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 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 <&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 <&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 <&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 <&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 diff --git a/configure.in b/configure.in index 4aeeae047a..5f6dae1ed7 100644 --- a/configure.in +++ b/configure.in @@ -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 index 0000000000..e6054944ec --- /dev/null +++ b/db2/mutex/tsl_parisc.s @@ -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 diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 0b64ba4a66..e5bfb7ab72 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -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)) diff --git a/include/limits.h b/include/limits.h index ab51f48331..b149ba1a73 100644 --- a/include/limits.h +++ b/include/limits.h @@ -39,6 +39,12 @@ #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 diff --git a/io/fcntl.h b/io/fcntl.h index 14a165539b..17120fadc2 100644 --- a/io/fcntl.h +++ b/io/fcntl.h @@ -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 diff --git a/libc.map b/libc.map index 902d8f89c8..4bc3a4e27c 100644 --- 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; diff --git a/manual/arith.texi b/manual/arith.texi index 3a6bb434de..563d9859af 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -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 diff --git a/manual/math.texi b/manual/math.texi index d6206eb4fe..b784afe52b 100644 --- a/manual/math.texi +++ b/manual/math.texi @@ -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 diff --git a/misc/Makefile b/misc/Makefile index 842f9839bb..1dfde43f7e 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -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 \ diff --git a/nis/nss_nis/nis-hosts.c b/nis/nss_nis/nis-hosts.c index f08a624c37..e627d24399 100644 --- a/nis/nss_nis/nis-hosts.c +++ b/nis/nss_nis/nis-hosts.c @@ -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; diff --git a/nis/rpcsvc/nis_tags.h b/nis/rpcsvc/nis_tags.h index 19a5bcab19..9a24188f98 100644 --- a/nis/rpcsvc/nis_tags.h +++ b/nis/rpcsvc/nis_tags.h @@ -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 diff --git a/posix/sched.h b/posix/sched.h index ae0f634fa4..b5c44996d4 100644 --- a/posix/sched.h +++ b/posix/sched.h @@ -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 -#include /* for struct timespec */ + +#define __need_timespec +#include /* Get system specific constant and data structure definitions. */ #include diff --git a/posix/unistd.h b/posix/unistd.h index 0147594f53..9e1cc8e8e0 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -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 diff --git a/stdlib/Makefile b/stdlib/Makefile index 0076ad4fff..2d297e5191 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -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