Index: debug/debugger_posix.cc |
diff --git a/debug/debugger_posix.cc b/debug/debugger_posix.cc |
index 8599571e34575fc4d2271cdfbb0ca0be451e181a..a2e804f2e63b36112b1a9369bd6811aa2270b620 100644 |
--- a/debug/debugger_posix.cc |
+++ b/debug/debugger_posix.cc |
@@ -35,6 +35,7 @@ |
#include <ostream> |
#include "base/basictypes.h" |
+#include "base/debug/alias.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/posix/eintr_wrapper.h" |
@@ -237,6 +238,12 @@ void BreakDebugger() { |
// NOTE: This code MUST be async-signal safe (it's used by in-process |
// stack dumping signal handler). NO malloc or stdio is allowed here. |
+ // Linker's ICF feature may merge this function with other functions with the |
+ // same definition (e.g. any function whose sole job is to call abort()) and |
+ // it may confuse the crash report processing system. http://crbug.com/508489 |
+ static int static_variable_to_make_this_function_unique = 0; |
+ base::debug::Alias(&static_variable_to_make_this_function_unique); |
+ |
DEBUG_BREAK(); |
#if defined(OS_ANDROID) && !defined(OFFICIAL_BUILD) |
// For Android development we always build release (debug builds are |