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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, Google Inc. 1 // Copyright (c) 2012, Google Inc.
2 // All rights reserved. 2 // All rights reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // * Redistributions of source code must retain the above copyright 8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer. 9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above 10 // * Redistributions in binary form must reproduce the above
(...skipping 12 matching lines...) Expand all
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 29
30 #ifndef GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H 30 #ifndef GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H
31 #define GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H 31 #define GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H
32 32
33 /* Android doesn't provide all the data-structures required in its <link.h>. 33 // TODO(rmcilroy): Remove this file once the ndk is updated for other
34 Provide custom version here. */ 34 // architectures - crbug.com/358831
35
36 // Android doesn't provide all the data-structures required in
37 // its <link.h> before release 21. Provide custom version here and
38 // rename Bionic-provided structures to avoid conflicts.
39
40 #if !defined(__aarch64__) && !defined(__x86_64__) && \
41 !(defined(__mips__) && _MIPS_SIM == _ABI64)
42
43 #define r_debug __bionic_r_debug
44 #define link_map __bionic_link_map
45
46 #endif // !defined(__aarch64__) && !defined(__x86_64__) &&
47 // !(defined(__mips__) && _MIPS_SIM == _ABI64)
48
35 #include_next <link.h> 49 #include_next <link.h>
36 50
37 // TODO(rmcilroy): Remove this file once the ndk is updated for other
38 // architectures - crbug.com/358831
39 #if !defined(__aarch64__) && !defined(__x86_64__) && \ 51 #if !defined(__aarch64__) && !defined(__x86_64__) && \
40 !(defined(__mips__) && _MIPS_SIM == _ABI64) 52 !(defined(__mips__) && _MIPS_SIM == _ABI64)
41 53
54 #undef r_debug
55 #undef link_map
56
42 #ifdef __cplusplus 57 #ifdef __cplusplus
43 extern "C" { 58 extern "C" {
44 #endif // __cplusplus 59 #endif // __cplusplus
45 60
46 struct r_debug { 61 struct r_debug {
47 int r_version; 62 int r_version;
48 struct link_map* r_map; 63 struct link_map* r_map;
49 ElfW(Addr) r_brk; 64 ElfW(Addr) r_brk;
50 enum { 65 enum {
51 RT_CONSISTENT, 66 RT_CONSISTENT,
52 RT_ADD, 67 RT_ADD,
53 RT_DELETE } r_state; 68 RT_DELETE } r_state;
54 ElfW(Addr) r_ldbase; 69 ElfW(Addr) r_ldbase;
55 }; 70 };
56 71
57 struct link_map { 72 struct link_map {
58 ElfW(Addr) l_addr; 73 ElfW(Addr) l_addr;
59 char* l_name; 74 char* l_name;
60 ElfW(Dyn)* l_ld; 75 ElfW(Dyn)* l_ld;
61 struct link_map* l_next; 76 struct link_map* l_next;
62 struct link_map* l_prev; 77 struct link_map* l_prev;
63 }; 78 };
64 79
65 #ifdef __cplusplus 80 #ifdef __cplusplus
66 } // extern "C" 81 } // extern "C"
67 #endif // __cplusplus 82 #endif // __cplusplus
68 83
69 #endif // !defined(__aarch64__) && !defined(__x86_64__) 84 #endif // !defined(__aarch64__) && !defined(__x86_64__) &&
85 // !(defined(__mips__) && _MIPS_SIM == _ABI64)
70 86
71 #endif /* GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H */ 87 #endif /* GOOGLE_BREAKPAD_ANDROID_INCLUDE_LINK_H */
OLDNEW
« 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