Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 8 Mar 1999 14:23:38 +0000 (14:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 8 Mar 1999 14:23:38 +0000 (14:23 +0000)
1999-03-08  Ulrich Drepper  <drepper@cygnus.com>

* manual/signal.texi (Termination in Handler): Correct example.
Install default handler before reraising the signal.
Patch by Jochen Voss <voss@mathematik.uni-kl.de>.

ChangeLog
FAQ.in
manual/signal.texi

index b6be6da..d2f03a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-03-08  Ulrich Drepper  <drepper@cygnus.com>
+
+       * manual/signal.texi (Termination in Handler): Correct example.
+       Install default handler before reraising the signal.
+       Patch by Jochen Voss <voss@mathematik.uni-kl.de>.
+
 1999-03-08  Roland McGrath  <roland@baalperazim.frob.com>
 
        * hurd/hurdexec.c (_hurd_exec): Handle ARGV or ENVP parameters being
diff --git a/FAQ.in b/FAQ.in
index 9f92170..63c9de4 100644 (file)
--- a/FAQ.in
+++ b/FAQ.in
@@ -46,7 +46,7 @@ really interested in porting it, contact
 
        <bug-glibc@gnu.org>
 
-??     What compiler do I need to build GNU libc?
+??binsize      What compiler do I need to build GNU libc?
 
 {UD} You must use GNU CC to compile GNU libc.  A lot of extensions of GNU CC
 are used to increase portability and speed.
@@ -63,8 +63,15 @@ may not have all the features GNU libc requires.  The current releases of
 egcs (1.0.3 and 1.1.1) should work with the GNU C library (for powerpc see
 ?powerpc; for ARM see ?arm).
 
-{ZW} Due to problems with C++ exception handling, you must use EGCS (any
-version) to compile version 2.1 of GNU libc.  See ?exception for details.
+While the GNU CC should be able to compile glibc it is nevertheless adviced
+to use EGCS.  Comparing the sizes of glibc on Intel compiled with a recent
+EGCS and gcc 2.8.1 shows this:
+
+                 text    data     bss     dec     hex filename
+egcs-2.93.10   862897   15944   12824  891665   d9b11 libc.so
+gcc-2.8.1      959965   16468   12152  988585   f15a9 libc.so
+
+Make up your own decision.
 
 ??     When I try to compile glibc I get only error messages.
        What's wrong?
@@ -538,7 +545,7 @@ not a symlink to libc.so.6.  It should look something like this:
 
 GROUP ( libc.so.6 libc_nonshared.a )
 
-??exception    When I run an executable on one system which I compiled on
+??     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?
 
@@ -562,14 +569,18 @@ libc.  It doesn't matter what compiler you use to compile your program.
 
 For glibc 2.1, we've chosen to do it the other way around: libc.so
 explicitly provides the EH functions.  This is to prevent other shared
-libraries from doing it.  You must therefore compile glibc 2.1 with EGCS.
-Again, it doesn't matter what compiler you use for your programs.
+libraries from doing it.
+
+{UD} Starting with glibc 2.1.1 you can compile glibc with gcc 2.8.1 or
+newer since we have explicitly add references to the functions causing the
+problem.  But you nevertheless should use EGCS for other reasons
+(see ?binsize).
 
 ??     How can I compile gcc 2.7.2.1 from the gcc source code using
        glibc 2.x?
 
 {AJ} There's only correct support for glibc 2.0.x in gcc 2.7.2.3 or later.
-But you should get at least gcc 2.8.1 or egcs 1.0.2 (or later versions)
+But you should get at least gcc 2.8.1 or egcs 1.1 (or later versions)
 instead.
 
 ??     The `gencat' utility cannot process the catalog sources which
index f07a748..15458c2 100644 (file)
@@ -1514,11 +1514,12 @@ fatal_error_signal (int sig)
 @end group
 
 @group
-  /* @r{Now reraise the signal.  Since the signal is blocked,}
-     @r{it will receive its default handling, which is}
-     @r{to terminate the process.  We could just call}
-     @r{@code{exit} or @code{abort}, but reraising the signal}
-     @r{sets the return status from the process correctly.} */
+  /* @r{Now reraise the signal.  We reactivate the signal's}
+     @r{default handling, which is to terminate the process.}
+     @r{We could just call @code{exit} or @code{abort},}
+     @r{but reraising the signal sets the return status}
+     @r{from the process correctly.} */
+  signal (sig, SIG_DFL);
   raise (sig);
 @}
 @end group