summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-11-15 22:00:25 +0000
committerUlrich Drepper <drepper@redhat.com>2004-11-15 22:00:25 +0000
commitf895670da2fd403aed20dcbe156eaa6e75171fbb (patch)
tree1ec0f23b56eb428736327fa5f2125b2c151a290f
parent4f27c49622ee24022f567c23ce0366cc01e14283 (diff)
downloadglibc-f895670da2fd403aed20dcbe156eaa6e75171fbb.tar.gz
glibc-f895670da2fd403aed20dcbe156eaa6e75171fbb.tar.xz
glibc-f895670da2fd403aed20dcbe156eaa6e75171fbb.zip
2004-11-15  Jakub Jelinek  <jakub@redhat.com>

	* posix/bug-regex24.c: Include string.h.

	* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
	and out2 to out.  Remove out label.  Formatting.

2004-11-15  Ulrich Drepper  <drepper@redhat.com>

	* include/stdio.h: Do not mark __libc_message as noreturn.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
	fool gcc.  Include <stdbool.h>.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
	(__libc_message): Fix typo.
-rw-r--r--ChangeLog15
-rw-r--r--include/stdio.h3
-rw-r--r--nis/nis_clone_obj.c11
-rw-r--r--posix/bug-regex24.c1
-rw-r--r--sysdeps/posix/libc_fatal.c10
-rw-r--r--sysdeps/unix/sysv/linux/libc_fatal.c9
6 files changed, 32 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index afb09d8b3a..58d947901b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2004-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* posix/bug-regex24.c: Include string.h.
+
+	* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
+	and out2 to out.  Remove out label.  Formatting.
+
+2004-11-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* include/stdio.h: Do not mark __libc_message as noreturn.
+	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
+	fool gcc.  Include <stdbool.h>.
+	* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
+	(__libc_message): Fix typo.
+
 2004-11-13  Ulrich Drepper  <drepper@redhat.com>
 
 	* malloc/malloc.c (malloc_state): stat_lock_* elements need only
diff --git a/include/stdio.h b/include/stdio.h
index ad8f157829..0c1e8fca10 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -62,8 +62,7 @@ extern int __gen_tempname (char *__tmpl, int __kind);
 /* Print out MESSAGE on the error output and abort.  */
 extern void __libc_fatal (__const char *__message)
      __attribute__ ((__noreturn__));
-extern void __libc_message (int do_abort, __const char *__fnt, ...)
-     __attribute__ ((__noreturn__));
+extern void __libc_message (int do_abort, __const char *__fnt, ...);
 
 /* Acquire ownership of STREAM.  */
 extern void __flockfile (FILE *__stream);
diff --git a/nis/nis_clone_obj.c b/nis/nis_clone_obj.c
index 5f9dd34b51..0b163fe662 100644
--- a/nis/nis_clone_obj.c
+++ b/nis/nis_clone_obj.c
@@ -41,27 +41,26 @@ nis_clone_object (const nis_object *src, nis_object *dest)
   if (dest == NULL)
     {
       if ((res = calloc (1, sizeof (nis_object))) == NULL)
-	goto out2;
+	goto out;
     }
   else
     res = dest;
 
   xdrmem_create (&xdrs, addr, size, XDR_ENCODE);
-  if (!_xdr_nis_object (&xdrs, (nis_object *)src))
-    goto out3;
+  if (!_xdr_nis_object (&xdrs, (nis_object *) src))
+    goto out2;
   xdr_destroy (&xdrs);
   xdrmem_create (&xdrs, addr, size, XDR_DECODE);
   if (!_xdr_nis_object (&xdrs, res))
     {
-    out3:
+    out2:
       if (dest == NULL)
 	free (res);
       res = NULL;
     }
 
- out:
   xdr_destroy (&xdrs);
- out2:
+ out:
   free (addr);
 
   return res;
diff --git a/posix/bug-regex24.c b/posix/bug-regex24.c
index 83ea10bb62..97c5c3508a 100644
--- a/posix/bug-regex24.c
+++ b/posix/bug-regex24.c
@@ -1,5 +1,6 @@
 #include <regex.h>
 #include <stdio.h>
+#include <string.h>
 
 #define str "civic"
 
diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c
index fac8cbd051..a5c5a2d1f7 100644
--- a/sysdeps/posix/libc_fatal.c
+++ b/sysdeps/posix/libc_fatal.c
@@ -131,9 +131,9 @@ __libc_message (int do_abort, const char *fmt, ...)
 
   va_end (ap_copy);
 
-  if (do_abort()
-      /* Kill the application.  */
-      abort ();
+  if (do_abort)
+    /* Kill the application.  */
+    abort ();
 }
 
 
@@ -141,6 +141,8 @@ void
 __libc_fatal (message)
      const char *message;
 {
-  __libc_message (1, "%s", message);
+  /* The loop is added only to keep gcc happy.  */
+  while (1)
+    __libc_message (1, "%s", message);
 }
 libc_hidden_def (__libc_fatal)
diff --git a/sysdeps/unix/sysv/linux/libc_fatal.c b/sysdeps/unix/sysv/linux/libc_fatal.c
index c0482d96f3..a79cfbabb9 100644
--- a/sysdeps/unix/sysv/linux/libc_fatal.c
+++ b/sysdeps/unix/sysv/linux/libc_fatal.c
@@ -20,16 +20,13 @@
 #include <fcntl.h>
 #include <paths.h>
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sysdep.h>
 #include <unistd.h>
 #include <sys/syslog.h>
-#ifndef ABORT_INSTRUCTION
-/* No such instruction is available.  */
-# define ABORT_INSTRUCTION
-#endif
 
 /* Abort with an error message.  */
 #include <not-cancel.h>
@@ -153,6 +150,8 @@ void
 __libc_fatal (message)
      const char *message;
 {
-  __libc_message (1, "%s", message);
+  /* The loop is added only to keep gcc happy.  */
+  while (1)
+    __libc_message (1, "%s", message);
 }
 libc_hidden_def (__libc_fatal)