OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This is the Android-specific Chromium linker, a tiny shared library | 5 // This is the Android-specific Chromium linker, a tiny shared library |
6 // implementing a custom dynamic linker that can be used to load the | 6 // implementing a custom dynamic linker that can be used to load the |
7 // real Chromium libraries. | 7 // real Chromium libraries. |
8 | 8 |
9 // The main point of this linker is to be able to share the RELRO | 9 // The main point of this linker is to be able to share the RELRO |
10 // section of libcontentshell.so (or equivalent) between the browser and | 10 // section of libcontentshell.so (or equivalent) between the browser and |
11 // renderer process. | 11 // renderer process. |
12 | 12 |
13 // This source code *cannot* depend on anything from base/ or the C++ | 13 // This source code *cannot* depend on anything from base/ or the C++ |
14 // STL, to keep the final library small, and avoid ugly dependency issues. | 14 // STL, to keep the final library small, and avoid ugly dependency issues. |
15 | 15 |
16 #ifndef BASE_ANDROID_LINKER_LINKER_JNI_H_ | 16 #ifndef BASE_ANDROID_LINKER_LINKER_JNI_H_ |
17 #define BASE_ANDROID_LINKER_LINKER_JNI_H_ | 17 #define BASE_ANDROID_LINKER_LINKER_JNI_H_ |
18 | 18 |
19 #include <android/log.h> | 19 #include <android/log.h> |
20 #include <jni.h> | 20 #include <jni.h> |
| 21 #include <stddef.h> |
21 #include <stdlib.h> | 22 #include <stdlib.h> |
22 | 23 |
23 // Set this to 1 to enable debug traces to the Android log. | 24 // Set this to 1 to enable debug traces to the Android log. |
24 // Note that LOG() from "base/logging.h" cannot be used, since it is | 25 // Note that LOG() from "base/logging.h" cannot be used, since it is |
25 // in base/ which hasn't been loaded yet. | 26 // in base/ which hasn't been loaded yet. |
26 #define DEBUG 0 | 27 #define DEBUG 0 |
27 | 28 |
28 #define TAG "cr_ChromiumAndroidLinker" | 29 #define TAG "cr_ChromiumAndroidLinker" |
29 | 30 |
30 #if DEBUG | 31 #if DEBUG |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 } | 198 } |
198 } | 199 } |
199 }; | 200 }; |
200 | 201 |
201 // Variable containing LibInfo for the loaded library. | 202 // Variable containing LibInfo for the loaded library. |
202 extern LibInfo_class s_lib_info_fields; | 203 extern LibInfo_class s_lib_info_fields; |
203 | 204 |
204 } // namespace chromium_android_linker | 205 } // namespace chromium_android_linker |
205 | 206 |
206 #endif // BASE_ANDROID_LINKER_LINKER_JNI_H_ | 207 #endif // BASE_ANDROID_LINKER_LINKER_JNI_H_ |
OLD | NEW |