Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: src/common/android/include/link.h

Issue 2156173002: Don't define |r_debug| and |link_map| on Android releases 21 and later Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: Don't redefine |r_debug| and |link_map| on Android releases 21 and later Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/common/android/include/link.h
diff --git a/src/common/android/include/link.h b/src/common/android/include/link.h
index e7ff8e2d8702b0037921b50c99b94f02758f6e2a..d923a168765664f4f537250bad6e748a6cb75f93 100644
--- a/src/common/android/include/link.h
+++ b/src/common/android/include/link.h
@@ -30,15 +30,30 @@
#ifndef GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H
#define GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H
-/* Android doesn't provide all the data-structures required in its <link.h>.
- Provide custom version here. */
-#include_next <link.h>
-
// TODO(rmcilroy): Remove this file once the ndk is updated for other
// architectures - crbug.com/358831
+
+// Android doesn't provide all the data-structures required in
+// its <link.h> before release 21. Provide custom version here and
+// rename Bionic-provided structures to avoid conflicts.
+
+#if !defined(__aarch64__) && !defined(__x86_64__) && \
+ !(defined(__mips__) && _MIPS_SIM == _ABI64)
+
+#define r_debug __bionic_r_debug
+#define link_map __bionic_link_map
+
+#endif // !defined(__aarch64__) && !defined(__x86_64__) &&
+ // !(defined(__mips__) && _MIPS_SIM == _ABI64)
+
+#include_next <link.h>
+
#if !defined(__aarch64__) && !defined(__x86_64__) && \
!(defined(__mips__) && _MIPS_SIM == _ABI64)
+#undef r_debug
+#undef link_map
+
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
@@ -66,6 +81,7 @@ struct link_map {
} // extern "C"
#endif // __cplusplus
-#endif // !defined(__aarch64__) && !defined(__x86_64__)
+#endif // !defined(__aarch64__) && !defined(__x86_64__) &&
+ // !(defined(__mips__) && _MIPS_SIM == _ABI64)
#endif /* GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H */
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698