diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/posix/libc_fatal.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/libc_fatal.c | 9 |
2 files changed, 10 insertions, 9 deletions
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) |