diff --git a/linker/Android.mk b/linker/Android.mk
index 00add7da9..e0c79ed84 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -39,6 +39,16 @@ LOCAL_CFLAGS += \
 LOCAL_CFLAGS_arm += -D__work_around_b_19059885__
 LOCAL_CFLAGS_x86 += -D__work_around_b_19059885__
 
+# For mips r6 (both 32bit and 64bit), GDB cannot stop on a breakpoint
+# if rt.cpp is compiled with compact branches optimization.
+# Unfortunately, we cannot turn generation of JIC compact branch off,
+# but we can add unoptimized code which will allow GDB to insert a
+# breakpoint on it.
+# TODO: Remove this after GDB is fixed.
+ifeq ($(TARGET_ARCH),mips64)
+LOCAL_CFLAGS += -fno-omit-frame-pointer
+endif
+
 LOCAL_CONLYFLAGS += \
     -std=gnu99 \