diff options
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | include/stdio.h | 3 | ||||
-rw-r--r-- | nis/nis_clone_obj.c | 11 | ||||
-rw-r--r-- | posix/bug-regex24.c | 1 | ||||
-rw-r--r-- | sysdeps/posix/libc_fatal.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/libc_fatal.c | 9 |
6 files changed, 32 insertions, 17 deletions
@@ -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) |