summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--FAQ36
-rw-r--r--FAQ.in38
-rw-r--r--string/bits/string2.h2
4 files changed, 58 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index 52ee4dbacf..7ef75a65f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1999-07-31  H.J. Lu  <hjl@gnu.org>
+
+	* string/bits/string2.h (__strcpy_small): Fix a typo.
+
 1999-07-31  Ulrich Drepper  <drepper@cygnus.com>
 
 	* Makeconfig (link-libc): Always define it, not only for shared
diff --git a/FAQ b/FAQ
index 799be81e3f..d412f8e0b8 100644
--- a/FAQ
+++ b/FAQ
@@ -234,6 +234,9 @@ EGCS and gcc 2.8.1 shows this:
 
 Make up your own decision.
 
+GNU CC versions 2.95 and above are derived from egcs, and they may do even
+better.
+
 
 1.3.	When I try to compile glibc I get only error messages.
 	What's wrong?
@@ -267,16 +270,8 @@ them.
 
 1.5.	Which compiler should I use for powerpc?
 
-{GK} You want to use egcs 1.1 or later (together with the right versions
-of all the other tools, of course).
-
-In fact, egcs 1.1 has a bug that causes linuxthreads to be
-miscompiled, resulting in segmentation faults when using condition
-variables.  There is a temporary patch at:
-
-<http://discus.anu.edu.au/~geoffk/egcs-3.diff>
-
-Later versions of egcs may fix this problem.
+{GK} You want to use at least gcc 2.95 (together with the right versions
+of all the other tools, of course).  See also question question 2.8.
 
 
 1.6.	Which tools should I use for ARM?
@@ -333,6 +328,9 @@ Binutils 2.9.1.0.16 or later is also required.
   <yann@plato.uni-paderborn.de> reports 22h48m on Atari TT030
   (Motorola 68030 @ 32 Mhz, 34 Mb memory)
 
+  A full build of the PowerPC library took 1h on a PowerPC 750@400Mhz w/
+  64MB of RAM, and about 9h on a 601@60Mhz w/ 72Mb. 
+
   If you have some more measurements let me know.
 
 
@@ -784,6 +782,24 @@ newer since we have explicitly add references to the functions causing the
 problem.  But you nevertheless should use EGCS for other reasons
 (see question 1.2).
 
+{GK} On some Linux distributions for PowerPC, you can see this when you have
+built gcc or egcs from the Web sources (gcc versions 2.95 or earlier), then
+re-built glibc.  This happens because in these versions of gcc, exception
+handling is implemented using an older method; the people making the
+distributions are a little ahead of their time.
+
+A quick solution to this is to find the libgcc.a file that came with the
+distribution (it would have been installed under /usr/lib/gcc-lib), do 
+`ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying
+`LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're
+building in.  You can check you've got the right `frame.o' file by running
+`nm frame.o' and checking that it has the symbols defined that you're
+missing.
+
+This will let you build glibc with the C compiler.  The C++ compiler
+will still be binary incompatible with any C++ shared libraries that
+you got with your distribution.
+
 
 2.9.	How can I compile gcc 2.7.2.1 from the gcc source code using
 	glibc 2.x?
diff --git a/FAQ.in b/FAQ.in
index fa4606df5a..e9e2215ffe 100644
--- a/FAQ.in
+++ b/FAQ.in
@@ -73,6 +73,9 @@ EGCS and gcc 2.8.1 shows this:
 
 Make up your own decision.
 
+GNU CC versions 2.95 and above are derived from egcs, and they may do even
+better.
+
 ??	When I try to compile glibc I get only error messages.
 	What's wrong?
 
@@ -103,16 +106,8 @@ them.
 
 ??powerpc	Which compiler should I use for powerpc?
 
-{GK} You want to use egcs 1.1 or later (together with the right versions
-of all the other tools, of course).
-
-In fact, egcs 1.1 has a bug that causes linuxthreads to be
-miscompiled, resulting in segmentation faults when using condition
-variables.  There is a temporary patch at:
-
-<http://discus.anu.edu.au/~geoffk/egcs-3.diff>
-
-Later versions of egcs may fix this problem.
+{GK} You want to use at least gcc 2.95 (together with the right versions
+of all the other tools, of course).  See also question ?excpt.
 
 ??arm	Which tools should I use for ARM?
 
@@ -167,6 +162,9 @@ Binutils 2.9.1.0.16 or later is also required.
   <yann@plato.uni-paderborn.de> reports 22h48m on Atari TT030
   (Motorola 68030 @ 32 Mhz, 34 Mb memory)
 
+  A full build of the PowerPC library took 1h on a PowerPC 750@400Mhz w/
+  64MB of RAM, and about 9h on a 601@60Mhz w/ 72Mb. 
+
   If you have some more measurements let me know.
 
 ??	What version of the Linux kernel headers should be used?
@@ -568,7 +566,7 @@ not a symlink to libc.so.6.  It should look something like this:
 
 GROUP ( libc.so.6 libc_nonshared.a )
 
-??	When I run an executable on one system which I compiled on
+??excpt	When I run an executable on one system which I compiled on
 	another, I get dynamic linker errors.  Both systems have the same
 	version of glibc installed.  What's wrong?
 
@@ -599,6 +597,24 @@ newer since we have explicitly add references to the functions causing the
 problem.  But you nevertheless should use EGCS for other reasons
 (see ?binsize).
 
+{GK} On some Linux distributions for PowerPC, you can see this when you have
+built gcc or egcs from the Web sources (gcc versions 2.95 or earlier), then
+re-built glibc.  This happens because in these versions of gcc, exception
+handling is implemented using an older method; the people making the
+distributions are a little ahead of their time.
+
+A quick solution to this is to find the libgcc.a file that came with the
+distribution (it would have been installed under /usr/lib/gcc-lib), do 
+`ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying
+`LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're
+building in.  You can check you've got the right `frame.o' file by running
+`nm frame.o' and checking that it has the symbols defined that you're
+missing.
+
+This will let you build glibc with the C compiler.  The C++ compiler
+will still be binary incompatible with any C++ shared libraries that
+you got with your distribution.
+
 ??	How can I compile gcc 2.7.2.1 from the gcc source code using
 	glibc 2.x?
 
diff --git a/string/bits/string2.h b/string/bits/string2.h
index d81f02fb5d..4d27a4488d 100644
--- a/string/bits/string2.h
+++ b/string/bits/string2.h
@@ -441,7 +441,7 @@ __strcpy_small (char *__dest,
     case 8:
       __u->__ui = __src0_4;
       __u = (void *) __u + 4;
-      __u->__usi = __src4_4;
+      __u->__ui = __src4_4;
       break;
     }
   return __dest;