From: Vladimir Serbinenko Date: Fri, 22 Nov 2013 11:42:58 +0000 (+0100) Subject: clang emits calls to abort () under some unknown conditions. X-Git-Tag: grub-2.02-beta1~241 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4a0aaad022a1695014581f793aa899d24262e684;p=thirdparty%2Fgrub.git clang emits calls to abort () under some unknown conditions. Export abort () when compiling with clang. --- diff --git a/ChangeLog b/ChangeLog index 181f46632..37a4cec03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-11-22 Vladimir Serbinenko + + clang emits calls to abort () under some unknown conditions. + Export abort () when compiling with clang. + 2013-11-22 Vladimir Serbinenko * docs/grub-dev.texi: Document stack and heap sizes. diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index f61ff00c1..695777ccc 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -1220,6 +1220,15 @@ grub_abort (void) grub_exit (); } +#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, ...) { diff --git a/include/grub/misc.h b/include/grub/misc.h index 3d7147797..d80da3349 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -421,6 +421,10 @@ void EXPORT_FUNC(grub_reboot) (void) __attribute__ ((noreturn)); void grub_reboot (void) __attribute__ ((noreturn)); #endif +#if defined (__clang__) && !defined (GRUB_UTIL) +void __attribute__ ((noreturn)) EXPORT_FUNC (abort) (void); +#endif + #ifdef GRUB_MACHINE_PCBIOS /* Halt the system, using APM if possible. If NO_APM is true, don't * use APM even if it is available. */