From 6b67d46c1764c86611939dc01267f9c70f413184 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 26 Feb 2014 21:49:12 -0500 Subject: [PATCH 167/251] Make "exit" take a return code. This adds "exit" with a return code. With this patch, any "exit" command /may/ include a return code, and on platforms that support returning with an exit status, we will do so. By default we return the same exit status we did before this patch. Signed-off-by: Peter Jones --- grub-core/kern/emu/main.c | 6 ++++++ grub-core/kern/misc.c | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/grub-core/kern/emu/main.c b/grub-core/kern/emu/main.c index 55ea5a11ccd..7e47ec81263 100644 --- a/grub-core/kern/emu/main.c +++ b/grub-core/kern/emu/main.c @@ -72,6 +72,12 @@ grub_exit (int retval __attribute__((unused))) grub_reboot (); } +void +grub_exit (int retval __attribute__((unused))) +{ + grub_reboot (); +} + void grub_machine_init (void) { diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index 5ce89a40c68..04371ac49f2 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -1120,6 +1120,15 @@ grub_abort (void) grub_exit (1); } +#if defined (__clang__) && !defined (GRUB_UTIL) +/* clang emits references to abort(). */ +void __attribute__ ((noreturn)) +abort (void) +{ + grub_abort (); +} +#endif + void grub_fatal (const char *fmt, ...) { -- 2.17.1