about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-11-19 23:00:23 +0000
committerUlrich Drepper <drepper@redhat.com>1997-11-19 23:00:23 +0000
commit6db91a64193eaf383cd5daa6b35ca0f56cbab65f (patch)
tree274cb202eb9359f5e1a66ef138635f29aad58bf3
parentba664d7a58792de3fadf2ad2d20b0dac1c416ae6 (diff)
downloadglibc-6db91a64193eaf383cd5daa6b35ca0f56cbab65f.tar.gz
glibc-6db91a64193eaf383cd5daa6b35ca0f56cbab65f.tar.xz
glibc-6db91a64193eaf383cd5daa6b35ca0f56cbab65f.zip
Update from 2.1 version.
-rw-r--r--catgets/catgets.c3
-rw-r--r--configure.in124
-rw-r--r--glibcbug.in4
-rw-r--r--manual/maint.texi30
4 files changed, 145 insertions, 16 deletions
diff --git a/catgets/catgets.c b/catgets/catgets.c
index 824d39eace..f0491d1374 100644
--- a/catgets/catgets.c
+++ b/catgets/catgets.c
@@ -94,8 +94,9 @@ catopen (const char *cat_name, int flag)
 	  nlspath = tmp;
 	}
       else
-	result->nlspath = __strdup (NLSPATH);
+	nlspath = NLSPATH;
 
+      result->nlspath = __strdup (nlspath);
       if (result->nlspath == NULL)
 	{
 	  free ((void *) result->cat_name);
diff --git a/configure.in b/configure.in
index fe58c15467..3a482e74a5 100644
--- a/configure.in
+++ b/configure.in
@@ -76,6 +76,13 @@ AC_ARG_ENABLE(omitfp, dnl
 [  --enable-omitfp         build undebuggable optimized library [default=no]],
 	      omitfp=$enableval, omitfp=no)
 
+dnl Some gcc versions have problems with omit-frame-pointer.  Warn about this.
+if test $omitfp = yes; then
+  echo "*** Not all versions of GCC compile code correctly when the"
+  echo "*** -fomit-frame-pointer version is used.  You are on your own"
+  echo "*** if you use it."
+fi
+
 dnl Generic infrastructure for drop-in additions to libc.
 AC_ARG_ENABLE(add-ons, dnl
 [  --enable-add-ons=DIR... configure and build named extra directories],
@@ -103,6 +110,30 @@ gnu*)
   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
   ;;
 esac
+###
+### I put this here to prevent those annoying emails from people who cannot
+### read and try to compile glibc on unsupported platforms.  --drepper
+###
+### By using the undocumented --enable-hacker-mode option for configure
+### one can skip this test to make the configuration not fail for unsupported
+### platforms.
+###
+if test -z "$enable_hacker_mode"; then
+  case "$host_os" in
+  linux* | gnu*)
+    ;;
+  *)
+    echo "*** The GNU C library is currently not available for this platform."
+    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.org/software/libc/porting.html"
+    echo "*** and join the group of porters"
+    exit 1
+    ;;
+  esac
+fi
+
 
 # We keep the original values in `$config_*' and never modify them, so we
 # can write them unchanged into config.make.  Everything else uses
@@ -116,7 +147,8 @@ gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
   gnu_ld=yes gnu_as=yes ;;
 esac
 case "$host_os" in
-linux*ecoff*)
+# i586-linuxaout is mangled into i586-pc-linux-gnuaout
+linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
   ;;
 gnu* | linux* | sysv4* | solaris2*)
   # These systems (almost) always use the ELF format.
@@ -351,7 +383,7 @@ AC_MSG_RESULT(sysdeps/generic sysdeps/stub)
 AC_PROG_INSTALL
 if test "$INSTALL" = "${srcdir}/install-sh -c"; then
   # The makefiles need to use a different form to find it in $srcdir.
-  INSTALL='$(..)./install-sh -c'
+  INSTALL='\$(..)./install-sh -c'
 fi
 AC_PROG_LN_S
 AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
@@ -443,6 +475,37 @@ if test $libc_cv_need_minus_P = yes; then
 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
 fi
 
+# gcc 2.7.x has a bug where if -pipe is set, the assembler will always
+# be told to read stdin.  This causes the compiler to hang when fed an
+# .s file.
+if test $ac_cv_prog_gcc = yes; then
+ case `${CC-cc} -v 2>&1` in
+  *2.7*)
+  # We must check this even if -pipe is not given here, because the user
+  # might do `make CFLAGS=-pipe'.
+  AC_CACHE_CHECK(for gcc 2.7.x -pipe bug, libc_cv_gcc_pipe_bug, [dnl
+   cp /dev/null conftest.s
+   cat >conftest1.s <<EOF
+.nosuchdirective
+EOF
+   if ${CC-cc} -pipe -c conftest.s <conftest1.s 2>/dev/null; then
+    libc_cv_gcc_pipe_bug=no
+   else
+    libc_cv_gcc_pipe_bug=yes
+   fi
+   rm -f conftest*])
+  if test $libc_cv_gcc_pipe_bug = yes; then
+   makeCC="${CC-cc} -B\$(common-objpfx)"
+   makeCFLAGS=$CFLAGS
+   CFLAGS=`echo $CFLAGS |sed 's/-pipe//'`
+  fi;;
+ *) libc_cv_gcc_pipe_bug=no;;
+ esac
+else
+ libc_cv_gcc_pipe_bug=no
+fi
+
+
 AC_CACHE_CHECK(for assembler global-symbol directive,
 	       libc_cv_asm_global_directive, [dnl
 libc_cv_asm_global_directive=UNKNOWN
@@ -450,7 +513,7 @@ for ac_globl in .globl .global; do
   cat > conftest.s <<EOF
 .text
 ${ac_globl} foo
-foo: .long 0
+foo:
 EOF
   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
     libc_cv_asm_global_directive=${ac_globl}
@@ -535,13 +598,45 @@ if test $elf != yes; then
   fi
 fi
 
+dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
+[cat > conftest.$ac_ext <<EOF
+dnl This sometimes fails to find confdefs.h, for some reason.
+dnl [#]line __oline__ "[$]0"
+[#]line __oline__ "configure"
+#include "confdefs.h"
+void underscore_test(void) {
+return; }
+EOF
+if AC_TRY_EVAL(ac_compile); then
+  if grep _underscore_test conftest* >/dev/null; then
+    ifelse([$1], , :, [rm -f conftest*
+    $1])
+  else
+    ifelse([$2], , , [rm -f conftest*
+    $2])
+  fi
+else
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+  ifelse([$2], , , [rm -f conftest*
+  $2])
+fi
+rm -f conftest*])
+
 if test $elf = yes; then
   libc_cv_asm_underscores=no
 else
-  AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
-		 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
-			      libc_cv_asm_underscores=yes,
-			      libc_cv_asm_underscores=no)])
+  if test $ac_cv_prog_cc_works = yes; then
+    AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
+                  [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
+                               libc_cv_asm_underscores=yes,
+                               libc_cv_asm_underscores=no)])
+  else
+    AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
+                  [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
+                                           libc_cv_asm_underscores=no)])
+  fi
 fi
 if test $libc_cv_asm_underscores = no; then
   AC_DEFINE(NO_UNDERSCORES)
@@ -557,7 +652,7 @@ else
 cat > conftest.s <<EOF
 .text
 ${libc_cv_asm_global_directive} foo
-foo: .long 0
+foo:
 .weak foo
 .weak bar; bar = foo
 EOF
@@ -575,7 +670,7 @@ if test $libc_cv_asm_weak_directive = no; then
 cat > conftest.s <<EOF
 .text
 ${libc_cv_asm_global_directive} foo
-foo: .long 0
+foo:
 .weakext foo
 .weakext foo, bar
 EOF
@@ -769,5 +864,16 @@ fi
 VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h`
 AC_SUBST(VERSION)
 
+if test $libc_cv_gcc_pipe_bug = yes; then
+ realCC=$CC
+ CC=$makeCC
+ CFLAGS=$makeCFLAGS
+fi
+AC_OUTPUT_COMMANDS([
+if test "$realCC"; then
+ sed -e 's/%{pipe:-}/%|/g' `$realCC -print-file-name=specs` >specsT
+ mv specsT specs
+fi], [realCC=$realCC])
+
 AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, ,
           [echo '$config_vars' >> config.make])
diff --git a/glibcbug.in b/glibcbug.in
index 0d46b325ab..69496b6e1a 100644
--- a/glibcbug.in
+++ b/glibcbug.in
@@ -6,8 +6,9 @@
 #       these variables are filled in by configure
 #
 VERSION="@VERSION@"
-BUGGLIBC="bugs@gnu.ai.mit.edu"
+BUGGLIBC="bugs@gnu.org"
 ADDONS="@subdirs@"
+HOST="@host@"
 
 PATH=/bin:/usr/bin:/usr/local/bin:$PATH
 export PATH
@@ -119,6 +120,7 @@ ${ORGANIZATION- $ORGANIZATION_C}
 >Release:	libc-${VERSION}
 >Environment:
 	$ENVIRONMENT_C
+`[ -n "$HOST" ] && echo Host type: $HOST`
 `[ -n "$SYSTEM" ] && echo System: $SYSTEM`
 `[ -n "$ARCH" ] && echo Architecture: $ARCH`
 `[ -n "$MACHINE" ] && echo Machine: $MACHINE`
diff --git a/manual/maint.texi b/manual/maint.texi
index 9c542a3ce3..2d241533f6 100644
--- a/manual/maint.texi
+++ b/manual/maint.texi
@@ -175,11 +175,15 @@ facilities, type @code{make check}.  This will produce several files
 with names like @file{@var{program}.out}.
 
 To format the @cite{GNU C Library Reference Manual} for printing, type
-@w{@code{make dvi}}.
+@w{@code{make dvi}}.  You need a working TeX installation to do this.
 
 To install the library and its header files, and the Info files of the
 manual, type @code{make install}.  This will build things if necessary,
-before installing them.@refill
+before installing them.  If you want to install the files in a different
+place than the one specified at configuration time you can specify a
+value for the Makefile variable @code{install_root} on the command line.
+This is useful to create chroot'ed environment or to prepare binary
+releases.@refill
 
 @node Tools for Installation
 @appendixsubsec Recommended Tools to Install the GNU C Library
@@ -196,7 +200,9 @@ build the GNU C library:
 You need the latest version of GNU @code{make}.  Modifying the GNU C
 Library to work with other @code{make} programs would be so hard that we
 recommend you port GNU @code{make} instead.  @strong{Really.}
-We recommend version GNU @code{make} version 3.75 or later.
+We recommend version GNU @code{make} version 3.75.  Versions 3.76 and
+3.76.1 are known to have bugs which only show up in big projects like
+GNU @code{libc}.
 
 @item
 GCC 2.7.2
@@ -206,12 +212,27 @@ compiler.  We recommend GCC version 2.7.2 or later; earlier versions may
 have problems.
 
 @item
-@code{binutils} 2.8
+@code{binutils} 2.8.1
 
 Using the GNU @code{binutils} (assembler, linker, and related tools) is
 preferable when possible, and they are required to build an ELF shared C
 library.  We recommend @code{binutils} version 2.8 or later; earlier
 versions are known to have problems or to not support all architectures.
+
+@item
+@code{texinfo} 3.11
+
+To correctly translate and install the Texinfo documentation you need
+this version of the @code{texinfo} package.  Former versions did not
+understand all the tags used in the document and also the installation
+mechanisms for the info files was not present or worked differently.
+
+On some Debian Linux based systems the used @code{install-info} program
+works differently.  Here you have to run make like this:
+
+@smallexample
+make INSTALL_INFO=/path/to/GNU/install-info install
+@end smallexample
 @end itemize
 
 @node Supported Configurations
@@ -233,7 +254,6 @@ versions) used to run on the following configurations:
 
 @smallexample
 alpha-dec-osf1
-alpha-@var{anything}-linuxecoff
 i@var{x}86-@var{anything}-bsd4.3
 i@var{x}86-@var{anything}-isc2.2
 i@var{x}86-@var{anything}-isc3.@var{n}