From b1418d8f39dd2b26fd67c3350493431f99514285 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 2 Feb 1999 09:26:53 +0000 Subject: [PATCH] Update. 1999-02-02 Ulrich Drepper * sysdeps/unix/sysv/linux/reboot.c: Make sure first parameter is correctly passed to the kernel even on 64bit platforms. Patch by Bruce Elliott . * localedata/locales/it_CH: New file. Contributed by Giacomo Amabile Catenazzi . --- ChangeLog | 9 +++++ FAQ | 42 ++++++++++++----------- FAQ.in | 40 +++++++++++----------- locale/programs/locale-spec.c | 2 +- localedata/locales/it_CH | 74 ++++++++++++++++++++++++++++++++++++++++ manual/install.texi | 7 ++-- manual/texinfo.tex | 66 +++++++++++++++++++++++++++-------- sysdeps/unix/sysv/linux/reboot.c | 4 +-- 8 files changed, 184 insertions(+), 60 deletions(-) create mode 100644 localedata/locales/it_CH diff --git a/ChangeLog b/ChangeLog index 7c1f440..af8dd6f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +1999-02-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/reboot.c: Make sure first parameter is + correctly passed to the kernel even on 64bit platforms. + Patch by Bruce Elliott . + + * localedata/locales/it_CH: New file. + Contributed by Giacomo Amabile Catenazzi . + 1999-01-31 Ulrich Drepper * math/libm-test.c (fdim_test): Fix typo in message. diff --git a/FAQ b/FAQ index d2048cd..4b941e7 100644 --- a/FAQ +++ b/FAQ @@ -39,7 +39,7 @@ please let me know. 1.14. Why do I get messages about missing thread functions when I use librt? I don't even use threads. 1.15. What's the problem with configure --enable-omitfp? -1.16. I get failures during `make check'. What shall I do? +1.16. I get failures during `make check'. What should I do? 1.17. What is symbol versioning good for? Do I need it? 2. Installation and configuration issues @@ -213,7 +213,7 @@ EGCS and with GCC 2.8.1. See question 2.8 for details. 1.3. When I try to compile glibc I get only error messages. What's wrong? -{UD} You definitely need GNU make to translate GNU libc. No other make +{UD} You definitely need GNU make to build GNU libc. No other make program has the needed functionality. We recommend version GNU make version 3.75 or 3.77. Versions before 3.75 @@ -317,7 +317,7 @@ when using the library do not need to match. The GNU C library runs without problems on kernels that are older than the kernel headers used. The other way round (compiling the GNU C library with old kernel headers and running on a recent kernel) does not necessarily work. For example you can't use -new kernel features when using old kernel headers for compiling the GNU C +new kernel features if you used old kernel headers to compile the GNU C library. {ZW} Even if you are using a 2.0 kernel on your machine, we recommend you @@ -438,19 +438,19 @@ with a library that was build this way, we advise you to rebuild the library without --enable-omitfp. If the problem vanishes consider tracking the problem down and report it as compiler failure. -Since a library build with --enable-omitfp is undebuggable on most systems, -debuggable libraries are also built - you can use it by appending "_g" to +Since a library built with --enable-omitfp is undebuggable on most systems, +debuggable libraries are also built - you can use them by appending "_g" to the library names. The compilation of these extra libraries and the compiler optimizations slow down the build process and need more disk space. -1.16. I get failures during `make check'. What shall I do? +1.16. I get failures during `make check'. What should I do? -{AJ} The testsuite should compile and run cleanly on your system, every -failure should be looked into. Depending on the failure I wouldn't advise -installing the library at all. +{AJ} The testsuite should compile and run cleanly on your system; every +failure should be looked into. Depending on the failures, you probably +should not install the library at all. You should consider using the `glibcbug' script to report the failure, providing as much detail as possible. If you run a test directly, please @@ -460,13 +460,15 @@ command line which failed and run the test from the subdirectory for this test in the sources. There are some failures which are not directly related to the GNU libc: -- Some compiler produce buggy code. The egcs 1.1 release should be ok. gcc - 2.8.1 might cause some failures, gcc 2.7.2.x is so buggy, that explicit - checks have been used so that you can't build with it. +- Some compilers produce buggy code. No compiler gets single precision + complex numbers correct on Alpha. Otherwise, the egcs 1.1 release should be + ok; gcc 2.8.1 might cause some failures; gcc 2.7.2.x is so buggy that + explicit checks have been used so that you can't build with it. - The kernel might have bugs. For example on Linux/Alpha 2.0.34 the floating point handling has quite a number of bugs and therefore most of the test cases in the math subdirectory will fail. Linux 2.2 has - fixes for the floating point support on Alpha. + fixes for the floating point support on Alpha. The Linux/SPARC kernel has + also some bugs in the FPU emulation code (as of Linux 2.2.0). 1.17. What is symbol versioning good for? Do I need it? @@ -476,15 +478,15 @@ changes. One version of an interface might have been introduced in a previous version of the GNU C library but the interface or the semantics of the function has been changed in the meantime. For binary compatibility with the old library, a newer library needs to still have the old interface -for old programs. On the other hand new programs should use the new +for old programs. On the other hand, new programs should use the new interface. Symbol versioning is the solution for this problem. The GNU -libc version 2.1 uses by default symbol versioning if the binutils support -it. +libc version 2.1 uses symbol versioning by default if the installed binutils +supports it. -We don't advise to build without symbol versioning since you lose binary -compatibility if you do - for ever! The binary compatibility you lose is -not only against the previous version of the GNU libc (version 2.0) but also -against future versions. +We don't advise building without symbol versioning, since you lose binary +compatibility - forever! The binary compatibility you lose is not only +against the previous version of the GNU libc (version 2.0) but also against +all future versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . diff --git a/FAQ.in b/FAQ.in index 32678a2..73eb0ad 100644 --- a/FAQ.in +++ b/FAQ.in @@ -69,7 +69,7 @@ EGCS and with GCC 2.8.1. See ?exception for details. ?? When I try to compile glibc I get only error messages. What's wrong? -{UD} You definitely need GNU make to translate GNU libc. No other make +{UD} You definitely need GNU make to build GNU libc. No other make program has the needed functionality. We recommend version GNU make version 3.75 or 3.77. Versions before 3.75 @@ -168,7 +168,7 @@ when using the library do not need to match. The GNU C library runs without problems on kernels that are older than the kernel headers used. The other way round (compiling the GNU C library with old kernel headers and running on a recent kernel) does not necessarily work. For example you can't use -new kernel features when using old kernel headers for compiling the GNU C +new kernel features if you used old kernel headers to compile the GNU C library. {ZW} Even if you are using a 2.0 kernel on your machine, we recommend you @@ -282,18 +282,18 @@ with a library that was build this way, we advise you to rebuild the library without --enable-omitfp. If the problem vanishes consider tracking the problem down and report it as compiler failure. -Since a library build with --enable-omitfp is undebuggable on most systems, -debuggable libraries are also built - you can use it by appending "_g" to +Since a library built with --enable-omitfp is undebuggable on most systems, +debuggable libraries are also built - you can use them by appending "_g" to the library names. The compilation of these extra libraries and the compiler optimizations slow down the build process and need more disk space. -?? I get failures during `make check'. What shall I do? +?? I get failures during `make check'. What should I do? -{AJ} The testsuite should compile and run cleanly on your system, every -failure should be looked into. Depending on the failure I wouldn't advise -installing the library at all. +{AJ} The testsuite should compile and run cleanly on your system; every +failure should be looked into. Depending on the failures, you probably +should not install the library at all. You should consider using the `glibcbug' script to report the failure, providing as much detail as possible. If you run a test directly, please @@ -303,13 +303,15 @@ command line which failed and run the test from the subdirectory for this test in the sources. There are some failures which are not directly related to the GNU libc: -- Some compiler produce buggy code. The egcs 1.1 release should be ok. gcc - 2.8.1 might cause some failures, gcc 2.7.2.x is so buggy, that explicit - checks have been used so that you can't build with it. +- Some compilers produce buggy code. No compiler gets single precision + complex numbers correct on Alpha. Otherwise, the egcs 1.1 release should be + ok; gcc 2.8.1 might cause some failures; gcc 2.7.2.x is so buggy that + explicit checks have been used so that you can't build with it. - The kernel might have bugs. For example on Linux/Alpha 2.0.34 the floating point handling has quite a number of bugs and therefore most of the test cases in the math subdirectory will fail. Linux 2.2 has - fixes for the floating point support on Alpha. + fixes for the floating point support on Alpha. The Linux/SPARC kernel has + also some bugs in the FPU emulation code (as of Linux 2.2.0). ?? What is symbol versioning good for? Do I need it? @@ -318,15 +320,15 @@ changes. One version of an interface might have been introduced in a previous version of the GNU C library but the interface or the semantics of the function has been changed in the meantime. For binary compatibility with the old library, a newer library needs to still have the old interface -for old programs. On the other hand new programs should use the new +for old programs. On the other hand, new programs should use the new interface. Symbol versioning is the solution for this problem. The GNU -libc version 2.1 uses by default symbol versioning if the binutils support -it. +libc version 2.1 uses symbol versioning by default if the installed binutils +supports it. -We don't advise to build without symbol versioning since you lose binary -compatibility if you do - for ever! The binary compatibility you lose is -not only against the previous version of the GNU libc (version 2.0) but also -against future versions. +We don't advise building without symbol versioning, since you lose binary +compatibility - forever! The binary compatibility you lose is not only +against the previous version of the GNU libc (version 2.0) but also against +all future versions. ? Installation and configuration issues diff --git a/locale/programs/locale-spec.c b/locale/programs/locale-spec.c index 16272e8..9ba49f0 100644 --- a/locale/programs/locale-spec.c +++ b/locale/programs/locale-spec.c @@ -80,7 +80,7 @@ locale_special (const char *name, int show_category_name, if (ch != EOF) putchar (ch); else - fputs ("", stdout); + fputs ("", stdout); } putchar ('"'); diff --git a/localedata/locales/it_CH b/localedata/locales/it_CH new file mode 100644 index 0000000..e5b0983 --- /dev/null +++ b/localedata/locales/it_CH @@ -0,0 +1,74 @@ +comment_char % +escape_char / +repertoiremap mnemonic.ds +% +% Italian Language Locale for Switzerland +% Language: it +% Territory: CH +% Revision: ........ +% Date: 1999-01-21 +% Users: general +% Repertoiremap: mnemonic.ds +% Charset: ISO-8859-1 +% Distribution and use is free, also +% for commercial purposes. + +LC_CTYPE +copy "en_DK" +END LC_CTYPE + +LC_COLLATE +copy "en_DK" +END LC_COLLATE + +LC_MESSAGES +yesexpr "<'/>><<(><)/>><.><*>" +noexpr "<'/>><<(><)/>><.><*>" +END LC_MESSAGES + +LC_MONETARY +copy "de_CH" +END LC_MONETARY + +LC_NUMERIC +decimal_point "<,>" +thousands_sep "" +grouping 3;3 +END LC_NUMERIC + +LC_TIME +abday "";"";/ + "";"";/ + "";"";/ + "" +day "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "" +abmon "";"";/ + "";"

";/ + "";"";/ + "";"";/ + "";"";/ + "";"" +mon "";/ + "";/ + "";/ + "

";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "" +d_t_fmt "<%><%><%><%><%><%>" +d_fmt "<%><.><%><.><%>" +t_fmt "<%>" +am_pm "";"" +t_fmt_ampm "" +END LC_TIME diff --git a/manual/install.texi b/manual/install.texi index 694c1d6..a05114d 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -48,10 +48,9 @@ GNU Make, and possibly others. @xref{Tools for Compilation}, below. @cindex configuring @cindex compiling -GNU Libc cannot be compiled in the source directory. You must create a -separate directory for the object files. This directory should be -outside the source tree. For example, if you have unpacked the glibc -sources in @file{/src/gnu/glibc-2.1.0}, create a directory +GNU Libc can be compiled in the source directory but we'd advise to +build in a separate build directory. For example, if you have unpacked +the glibc sources in @file{/src/gnu/glibc-2.1.0}, create a directory @file{/src/gnu/glibc-build} to put the object files in. From your object directory, run the shell script @file{configure} found diff --git a/manual/texinfo.tex b/manual/texinfo.tex index 2ff84c5..a57d2a8 100644 --- a/manual/texinfo.tex +++ b/manual/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{1999-01-24}% +\def\texinfoversion{1999-01-29}% % % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 % Free Software Foundation, Inc. @@ -2477,6 +2477,8 @@ width0pt\relax} \fi \let\value = \expandablevalue % \unsepspaces +% Turn off macro expansion +\turnoffmacros } % If an index command is used in an @example environment, any spaces @@ -4502,8 +4504,11 @@ width0pt\relax} \fi \newwrite\macscribble \def\scanmacro#1{% \begingroup \newlinechar`\^^M + % Undo catcode changes of \startcontents and \doprintindex + \catcode`\@=0 \catcode`\\=12 \escapechar=`\@ + \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{#1}% + \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \let\xeatspaces\eatspaces \input \jobname.tmp @@ -4512,12 +4517,16 @@ width0pt\relax} \fi \else \def\scanmacro#1{% \begingroup \newlinechar`\^^M +% Undo catcode changes of \startcontents and \doprintindex +\catcode`\@=0 \catcode`\\=12 \escapechar=`\@ \let\xeatspaces\eatspaces\scantokens{#1}\endgroup} \fi \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? +\def\macrolist{} % List of all defined macros in the form + % \do\macro1\do\macro2... % Utility routines. % Thisdoes \let #1 = #2, except with \csnames. @@ -4600,10 +4609,17 @@ width0pt\relax} \fi \else \expandafter\parsemargdef \argl;% \fi - \expandafter\ifx \csname macsave.\the\macname\endcsname \relax - \cslet{macsave.\the\macname}{\the\macname}% - \else + \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% + \else + \expandafter\ifx\csname \the\macname\endcsname \relax + \else \errmessage{The name \the\macname\space is reserved}\fi + \global\cslet{macsave.\the\macname}{\the\macname}% + \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% + % Add the macroname to \macrolist + \toks0 = \expandafter{\macrolist\do}% + \xdef\macrolist{\the\toks0 + \expandafter\noexpand\csname\the\macname\endcsname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody @@ -4612,11 +4628,27 @@ width0pt\relax} \fi \def\unmacro{\parsearg\unmacroxxx} \def\unmacroxxx#1{% - \expandafter\ifx \csname macsave.\the\macname\endcsname \relax - \errmessage{Macro \the\macname\ not defined.}% + \if1\csname ismacro.#1\endcsname + \global\cslet{#1}{macsave.#1}% + \global\expandafter\let \csname ismacro.#1\endcsname=0% + % Remove the macro name from \macrolist + \begingroup + \edef\tempa{\expandafter\noexpand\csname#1\endcsname} + \def\do##1{% + \def\tempb{##1}% + \ifx\tempa\tempb + % remove this + \else + \toks0 = \expandafter{\newmacrolist\do}% + \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}% + \fi} + \def\newmacrolist{}% + % Execute macro list to define \newmacrolist + \macrolist + \global\let\macrolist\newmacrolist + \endgroup \else - \cslet{#1}{macsave.#1}% - \expandafter\let \csname macsave.\the\macname\endcsname \undefined + \errmessage{Macro #1 not defined}% \fi } @@ -4675,7 +4707,8 @@ width0pt\relax} \fi \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt - \noexpand\braceorline\csname\the\macname xxx\endcsname}% + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many @@ -4683,7 +4716,7 @@ width0pt\relax} \fi \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname} \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \csname\the\macname xxx\endcsname ##1,}% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter @@ -4699,7 +4732,8 @@ width0pt\relax} \fi \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt - \noexpand\braceorline\csname\the\macname xxx\endcsname}% + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% @@ -4707,9 +4741,9 @@ width0pt\relax} \fi \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname} + \expandafter\noexpand\csname\the\macname xx\endcsname} \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \csname\the\macname xxx\endcsname ##1,}% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter @@ -4733,6 +4767,10 @@ width0pt\relax} \fi \expandafter\parsearg \fi \next} +% We mant to disable all macros during \shipout so that they are not +% expanded by \write. +\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% + \edef\next{\macrolist}\expandafter\endgroup\next} \message{cross references,} \newwrite\auxfile diff --git a/sysdeps/unix/sysv/linux/reboot.c b/sysdeps/unix/sysv/linux/reboot.c index 1a01ec2..11cef30 100644 --- a/sysdeps/unix/sysv/linux/reboot.c +++ b/sysdeps/unix/sysv/linux/reboot.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 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 @@ -28,5 +28,5 @@ extern int __syscall_reboot (int magic, int magic_too, int flag); int reboot (int howto) { - return INLINE_SYSCALL (reboot, 3, 0xfee1dead, 672274793, howto); + return INLINE_SYSCALL (reboot, 3, (int) 0xfee1dead, 672274793, howto); } -- 2.7.4