Put back debug break instructions for non-x86 OSs
Turns on out OS_IOS also defines OS_MACOSX
BUG=none
[email protected], [email protected]
NOTRY=true
Review URL: https://codereview.chromium.org/46883007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231617 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/debug/debugger_posix.cc b/base/debug/debugger_posix.cc
index eacf882f..cab4c48 100644
--- a/base/debug/debugger_posix.cc
+++ b/base/debug/debugger_posix.cc
@@ -199,6 +199,14 @@
// SIGABRT
// Mac: Always send SIGTRAP.
+#if defined(ARCH_CPU_ARM_FAMILY)
+#define DEBUG_BREAK_ASM() asm("bkpt 0")
+#elif defined(ARCH_CPU_MIPS_FAMILY)
+#define DEBUG_BREAK_ASM() asm("break 2")
+#elif defined(ARCH_CPU_X86_FAMILY)
+#define DEBUG_BREAK_ASM() asm("int3")
+#endif
+
#if defined(NDEBUG) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
#define DEBUG_BREAK() abort()
#elif defined(OS_NACL)
@@ -224,12 +232,8 @@
if (!BeingDebugged()) {
abort();
} else {
-#if defined(ARCH_CPU_ARM_FAMILY) && !defined(OS_ANDROID)
- asm("bkpt 0")
-#elif defined(ARCH_CPU_MIPS_FAMILY)
- asm("break 2")
-#elif defined(ARCH_CPU_X86_FAMILY) || !defined(OS_ANDROID)
- asm("int3");
+#if defined(DEBUG_BREAK_ASM)
+ DEBUG_BREAK_ASM();
#else
volatile int go = 0;
while (!go) {
@@ -240,8 +244,10 @@
}
} // namespace
#define DEBUG_BREAK() DebugBreak()
-#else // defined(OS_MACOSX)
-#define DEBUG_BREAK() asm("int3")
+#elif defined(DEBUG_BREAK_ASM)
+#define DEBUG_BREAK() DEBUG_BREAK_ASM()
+#else
+#error "Don't know how to debug break on this architecture/OS"
#endif
void BreakDebugger() {