summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Konstantinov <ilya.konstantinov@gmail.com>2015-06-11 21:42:00 +0300
committerPatrick Griffis <tingping@tingping.se>2015-07-09 10:39:42 -0400
commit27fae8390946e73e8343a7fd7505796f3599ee23 (patch)
tree7c43e2b0db3027b04ccd44cc6aef60e667db0a5e
parentdafc454e70460b371775a876f3831f280bf097b8 (diff)
downloadglib-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.h2
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__ */