diff options
author | Ilya Konstantinov <ilya.konstantinov@gmail.com> | 2015-06-11 21:42:00 +0300 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2015-07-09 10:39:42 -0400 |
commit | 27fae8390946e73e8343a7fd7505796f3599ee23 (patch) | |
tree | 7c43e2b0db3027b04ccd44cc6aef60e667db0a5e | |
parent | dafc454e70460b371775a876f3831f280bf097b8 (diff) | |
download | glib-27fae8390946e73e8343a7fd7505796f3599ee23.tar.gz |
gbacktrace: fix G_BREAKPOINT on Darwin (OSX, iOS)
Using __builtin_trap() according to Apple's own documentation:
https://developer.apple.com/library/mac/technotes/tn2124/_index.html#//apple_ref/doc/uid/DTS10003391-CH1-SECCONTROLLEDCRASH
https://bugzilla.gnome.org/show_bug.cgi?id=750807
-rw-r--r-- | glib/gbacktrace.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/glib/gbacktrace.h b/glib/gbacktrace.h index 03b6029dd..1a4f534ab 100644 --- a/glib/gbacktrace.h +++ b/glib/gbacktrace.h @@ -55,6 +55,8 @@ void g_on_error_stack_trace (const gchar *prg_name); # define G_BREAKPOINT() G_STMT_START{ __debugbreak(); }G_STMT_END #elif defined (__alpha__) && !defined(__osf__) && defined (__GNUC__) && __GNUC__ >= 2 # define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("bpt"); }G_STMT_END +#elif defined (__APPLE__) +# define G_BREAKPOINT() G_STMT_START{ __builtin_trap(); }G_STMT_END #else /* !__i386__ && !__alpha__ */ # define G_BREAKPOINT() G_STMT_START{ raise (SIGTRAP); }G_STMT_END #endif /* __i386__ */ |