Index: base/debug/stack_trace_posix.cc |
diff --git a/base/debug/stack_trace_posix.cc b/base/debug/stack_trace_posix.cc |
index 4a55f64cc6c1a16069c18451ab85c9d77f207d2f..5d6ff899b9a812260c8cb1cf3d8e4438a72a686c 100644 |
--- a/base/debug/stack_trace_posix.cc |
+++ b/base/debug/stack_trace_posix.cc |
@@ -26,7 +26,7 @@ |
#if !defined(USE_SYMBOLIZE) |
#include <cxxabi.h> |
#endif |
-#if !defined(__UCLIBC__) |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
#include <execinfo.h> |
#endif |
@@ -80,8 +80,7 @@ void DemangleSymbols(std::string* text) { |
// Note: code in this function is NOT async-signal safe (std::string uses |
// malloc internally). |
-#if !defined(__UCLIBC__) |
- |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
std::string::size_type search_from = 0; |
while (search_from < text->size()) { |
// Look for the start of a mangled symbol, from search_from. |
@@ -116,7 +115,7 @@ void DemangleSymbols(std::string* text) { |
search_from = mangled_start + 2; |
} |
} |
-#endif // !defined(__UCLIBC__) |
+#endif // !defined(__UCLIBC__) && !defined(_AIX) |
} |
#endif // !defined(USE_SYMBOLIZE) |
@@ -128,7 +127,7 @@ class BacktraceOutputHandler { |
virtual ~BacktraceOutputHandler() {} |
}; |
-#if !defined(__UCLIBC__) |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { |
// This should be more than enough to store a 64-bit number in hex: |
// 16 hex digits + 1 for null-terminator. |
@@ -205,7 +204,7 @@ void ProcessBacktrace(void *const *trace, |
} |
#endif // defined(USE_SYMBOLIZE) |
} |
-#endif // !defined(__UCLIBC__) |
+#endif // !defined(__UCLIBC__) && !defined(_AIX) |
void PrintToStderr(const char* output) { |
// NOTE: This code MUST be async-signal safe (it's used by in-process |
@@ -722,7 +721,7 @@ StackTrace::StackTrace(size_t count) { |
// 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. |
-#if !defined(__UCLIBC__) |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
count = std::min(arraysize(trace_), count); |
// Though the backtrace API man page does not list any possible negative |
@@ -737,13 +736,13 @@ void StackTrace::Print() const { |
// 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. |
-#if !defined(__UCLIBC__) |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
PrintBacktraceOutputHandler handler; |
ProcessBacktrace(trace_, count_, &handler); |
#endif |
} |
-#if !defined(__UCLIBC__) |
+#if !defined(__UCLIBC__) && !defined(_AIX) |
void StackTrace::OutputToStream(std::ostream* os) const { |
StreamBacktraceOutputHandler handler(os); |
ProcessBacktrace(trace_, count_, &handler); |