aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 afb09d8..58d9479 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 ad8f157..0c1e8fc 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 5f9dd34..0b163fe 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 83ea10b..97c5c35 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 fac8cbd..a5c5a2d 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 c0482d9..a79cfba 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)