From 934b77ac65ad586e705c8af618ec9c86a2255e90 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 27 Aug 2002 12:10:11 +0000 Subject: [PATCH] Update. 2002-08-27 Ulrich Drepper * sysdeps/arm/Dist: Add bits/link.h. * sunrpc/Makefile: Distribute thrsvc. * stdio-common/Makefile: Remove more left-overs from old stdio. * include/linewrap.h: Removed. * libio/bug-mmap-fflush.c: Rewrite to not touch source directory. * intl/Makefile (distribute): Add plural-eval.c. * stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This file isn't distributed. Add special rules to install bits/stdio_lim.h. * Make-dist: Remove traces of old stdio. * Makeconfig: Likewise. * locale/Makefile (localedef-aux): New variable. Only md5 assigned to it. These files are not ddistributed in this directory. * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h. --- ChangeLog | 29 ++++++++++++++++ FAQ | 20 ++++++++++-- Make-dist | 5 +-- Makeconfig | 10 ++---- include/linewrap.h | 1 - intl/Makefile | 4 +-- libio/bug-mmap-fflush.c | 40 +++++++++++++++++++---- locale/Makefile | 4 ++- stdio-common/Makefile | 15 +++++---- sunrpc/Makefile | 1 + sysdeps/arm/Dist | 1 + sysdeps/unix/sysv/linux/s390/Dist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/Dist | 1 - sysdeps/unix/sysv/linux/s390/s390-64/Dist | 1 - 14 files changed, 99 insertions(+), 34 deletions(-) delete mode 100644 include/linewrap.h diff --git a/ChangeLog b/ChangeLog index 8b6e28c157..6b55940092 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2002-08-27 Ulrich Drepper + + * sysdeps/arm/Dist: Add bits/link.h. + + * sunrpc/Makefile: Distribute thrsvc. + + * stdio-common/Makefile: Remove more left-overs from old stdio. + + * include/linewrap.h: Removed. + + * libio/bug-mmap-fflush.c: Rewrite to not touch source directory. + + * intl/Makefile (distribute): Add plural-eval.c. + 2002-08-27 Roland McGrath * manual/sysinfo.texi (Mount Information): Correct file name to macro @@ -37,6 +51,21 @@ 2002-08-27 Ulrich Drepper + * stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This + file isn't distributed. Add special rules to install bits/stdio_lim.h. + + * Make-dist: Remove traces of old stdio. + * Makeconfig: Likewise. + + * locale/Makefile (localedef-aux): New variable. Only md5 + assigned to it. These files are not ddistributed in this directory. + + * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h. + * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h. + * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. + + * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h. + * nss/getXXbyYY_r.c (REENTRANT_NAME): If no service is available set h_errno to NO_RECOVERY [PR libc/4360]. diff --git a/FAQ b/FAQ index 4198a87966..a993ae56cf 100644 --- a/FAQ +++ b/FAQ @@ -12,7 +12,7 @@ understand what you are undertaking before you begin. If you have any questions you think should be answered in this document, please let me know. - --drepper@cygnus.com + --drepper@redhat.com ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -116,6 +116,8 @@ please let me know. 2.33. The makefiles want to do a CVS commit. 2.34. When compiling C++ programs, I get a compilation error in streambuf.h. 2.35. When recompiling GCC, I get compilation errors in libio. +2.36. Why shall glibc never get installed on GNU/Linux systems in +/usr/local? 3. Source and binary incompatibilities, and what to do about them @@ -854,7 +856,7 @@ files to the XPG4 form: ----------------------------------------------------------------------- # Change catalog source in Linux specific format to standard XPG format. -# Ulrich Drepper , 1996. +# Ulrich Drepper , 1996. # /^\$ #/ { h @@ -1255,6 +1257,20 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff This version is needed because the fpos_t type and a few libio internals have changed in glibc 2.2, and gcc 2.95.3 contains a corresponding patch. + +2.36. Why shall glibc never get installed on GNU/Linux systems in +/usr/local? + +{AJ} The GNU C compiler treats /usr/local/include and /usr/local/lib in a +special way, these directories will be searched before the system +directories. Since on GNU/Linux the system directories /usr/include and +/usr/lib contain a --- possibly different --- version of glibc and mixing +certain files from different glibc installations is not supported and will +break, you risk breaking your complete system. If you want to test a glibc +installation, use another directory as argument to --prefix. If you like to +install this glibc version as default version, overriding the existing one, +use --prefix=/usr and everything will go in the right places. + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . diff --git a/Make-dist b/Make-dist index 8d4052662b..4791297e66 100644 --- a/Make-dist +++ b/Make-dist @@ -1,4 +1,4 @@ -# Copyright (C) 1991-1999,2000,01 Free Software Foundation, Inc. +# Copyright (C) 1991-2001, 2002 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 @@ -45,9 +45,6 @@ endif # Don't distribute add-on subdirs. subdirs := $(filter-out $(add-ons),$(subdirs)) -# Make sure both stdio and libio get in, whichever is in use. -subdirs += stdio libio - # Make sure both aout and elf get in, whichever is in use. subdirs += aout elf diff --git a/Makeconfig b/Makeconfig index ce2d16dcc5..2d2f895b30 100644 --- a/Makeconfig +++ b/Makeconfig @@ -139,12 +139,6 @@ endif #### -# Set this to the name of the subdirectory that implements stdio. -# The only option right now is `libio'. -ifndef stdio -stdio = libio -endif - # Common prefix for machine-independent installation directories. ifeq ($(origin prefix),undefined) # ifndef would override explicit empty value. prefix = /usr/local @@ -624,7 +618,7 @@ endif # $(+cflags) == "" # `+sysdep-includes' will be defined by Makerules. +includes = -I$(..)include -I. \ $(patsubst %/,-I%,$(objpfx)) $(patsubst %/,-I%,$(..)) \ - $($(stdio)-include) $(includes) \ + $(libio-include) $(includes) \ $(+sysdep-includes) $(last-includes) $(sysincludes) # Since libio has several internal header files, we use a -I instead @@ -888,7 +882,7 @@ endif # dependencies. Only the $(binfmt-subdir) should always be kept at the # end of the list. all-subdirs = csu assert ctype locale intl catgets math setjmp signal \ - stdlib stdio-common $(stdio) malloc string wcsmbs time dirent \ + stdlib stdio-common libio malloc string wcsmbs time dirent \ grp pwd posix io termios resource misc socket sysvipc gmon \ gnulib iconv iconvdata wctype manual shadow po argp \ crypt $(add-ons) nss localedata timezone rt conform debug \ diff --git a/include/linewrap.h b/include/linewrap.h deleted file mode 100644 index 03ca090301..0000000000 --- a/include/linewrap.h +++ /dev/null @@ -1 +0,0 @@ -#include "stdio/linewrap.h" diff --git a/intl/Makefile b/intl/Makefile index 3935e7942b..bb4b21b7e9 100644 --- a/intl/Makefile +++ b/intl/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1995-1999, 2000, 2001, 2002 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 @@ -27,7 +27,7 @@ routines = bindtextdom dcgettext dgettext gettext \ distribute = gettext.h gettextP.h hash-string.h loadinfo.h locale.alias \ plural.y plural-exp.h po2test.sed tst-gettext.sh tst-translit.sh \ translit.po tst-gettext2.sh tstlang1.po tstlang2.po tstcodeset.po\ - tst-codeset.sh + tst-codeset.sh plural-eval.c test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tests = tst-ngettext diff --git a/libio/bug-mmap-fflush.c b/libio/bug-mmap-fflush.c index 984acb496b..d8aa58985a 100644 --- a/libio/bug-mmap-fflush.c +++ b/libio/bug-mmap-fflush.c @@ -4,24 +4,50 @@ #include #include -int main (void) + +static char *fname; + +static void prepare (void); +#define PREPARE(argc, argv) prepare () + + +#define TEST_FUNCTION do_test () +static int do_test (void); +#include "../test-skeleton.c" + + +static void +prepare (void) +{ + int fd = create_temp_file ("bug-mmap-fflush.", &fname); + if (fd == -1) + exit (3); + /* We don't need the descriptor. */ + close (fd); +} + + +static int +do_test (void) { FILE *f; off_t o; - char buffer [1024]; + char buffer[1024]; - system ("echo 'From foo@bar.com' > test"); - f = fopen ("test", "r"); + snprintf (buffer, sizeof (buffer), "echo 'From foo@bar.com' > %s", fname); + system (buffer); + f = fopen (fname, "r"); fseek (f, 0, SEEK_END); o = ftello (f); fseek (f, 0, SEEK_SET); fflush (f); - system ("echo 'From bar@baz.edu' >> test"); + snprintf (buffer, sizeof (buffer), "echo 'From bar@baz.edu' >> %s", fname); + system (buffer); fseek (f, o, SEEK_SET); if (fgets (buffer, 1024, f) == NULL) - abort (); + exit (1); if (strncmp (buffer, "From ", 5) != 0) - abort (); + exit (1); fclose (f); exit (0); } diff --git a/locale/Makefile b/locale/Makefile index 9509c1f7f7..f01080e3cd 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -60,7 +60,8 @@ vpath %.h programs vpath %.gperf programs localedef-modules := $(categories:%=ld-%) charmap linereader locfile \ - repertoire md5 locarchive + repertoire locarchive +localedef-aux := md5 locale-modules := locale-spec lib-modules := charmap-dir simple-hash xmalloc xstrdup @@ -75,6 +76,7 @@ programs/%-kw.h: programs/%-kw.gperf mv -f $@.new $@ $(objpfx)localedef: $(localedef-modules:%=$(objpfx)%.o) +$(objpfx)localedef: $(localedef-aux:%=$(objpfx)%.o) $(objpfx)locale: $(locale-modules:%=$(objpfx)%.o) $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o) diff --git a/stdio-common/Makefile b/stdio-common/Makefile index e39155198b..eac05f6acb 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1991-1999, 2000, 2001, 2002 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 @@ -21,14 +21,14 @@ # subdir := stdio-common -headers := printf.h stdio_ext.h bits/stdio_lim.h +headers := printf.h stdio_ext.h routines := \ ctermid cuserid \ _itoa _itowa itoa-digits itoa-udigits itowa-digits \ vfprintf vprintf printf_fp reg-printf printf-prs printf_fphex \ printf_size fprintf printf snprintf sprintf asprintf dprintf \ - vfscanf \ + vfwprintf vfscanf vfwscanf \ fscanf scanf sscanf \ perror psignal \ tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \ @@ -36,11 +36,9 @@ routines := \ remove rename \ lockfile -include ../Makeconfig +install-others = $(inst_includedir)/bits/stdio_lim.h -ifeq ($(stdio),libio) -routines += vfwprintf vfwscanf -endif +include ../Makeconfig aux := errlist siglist distribute := _itoa.h _itowa.h _i18n_number.h \ @@ -60,6 +58,9 @@ test-srcs = tst-unbputc tst-printf include ../Rules +$(inst_includedir)/bits/stdio_lim.h: $(common-objpfx)bits/stdio_lim.f $(+force) + $(do-install) + ifeq ($(cross-compiling),no) .PHONY: do-tst-unbputc do-tst-printf tests: do-tst-unbputc do-tst-printf diff --git a/sunrpc/Makefile b/sunrpc/Makefile index 6f978e61c1..b3e71ad390 100644 --- a/sunrpc/Makefile +++ b/sunrpc/Makefile @@ -87,6 +87,7 @@ include ../Makeconfig ifeq ($(have-thread-library),yes) xtests += thrsvc endif +distribute += thrsvc.c ifeq (yes,$(build-static-nss)) otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \ diff --git a/sysdeps/arm/Dist b/sysdeps/arm/Dist index d78de40205..441c9ba492 100644 --- a/sysdeps/arm/Dist +++ b/sysdeps/arm/Dist @@ -1 +1,2 @@ ieee754.h +bits/link.h diff --git a/sysdeps/unix/sysv/linux/s390/Dist b/sysdeps/unix/sysv/linux/s390/Dist index bc4e1418b2..4af39f72c9 100644 --- a/sysdeps/unix/sysv/linux/s390/Dist +++ b/sysdeps/unix/sysv/linux/s390/Dist @@ -1,3 +1,4 @@ ldd-rewrite.sed sys/elf.h +sys/procfs.h sys/user.h diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Dist b/sysdeps/unix/sysv/linux/s390/s390-32/Dist index beebff1d92..c0a7dc8c93 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/Dist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/Dist @@ -4,5 +4,4 @@ setresuid.c setresgid.c setfsuid.c setfsgid.c -sys/procfs.h ucontext_i.h diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Dist b/sysdeps/unix/sysv/linux/s390/s390-64/Dist index 38ff6d7daa..bc32c766e1 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/Dist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/Dist @@ -1,4 +1,3 @@ clone.S kernel_stat.h -sys/procfs.h ucontext_i.h