From f06b7aa6c687bec98c237da8e63c4420fc46a7e5 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 26 Feb 2014 21:49:12 -0500 Subject: [PATCH 169/192] 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 55ea5a11c..7e47ec812 100644 --- a/grub-core/kern/emu/main.c +++ b/grub-core/kern/emu/main.c @@ -73,6 +73,12 @@ grub_exit (int retval __attribute__((unused))) } 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 5ce89a40c..04371ac49 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.13.4