a07f3057d00a1da240099aa77d55aaf83362c489 |
22-Aug-2017 |
Jiyong Park <jiyong@google.com> |
vendor apk is unbundled For devices where VNDK restrictions are all enforced, vendor apks are recognized as unbundled; since system partition and vendor partition can be updated independently from each other. However, since vendor apks are still bundled in the vendor partition, they are allowed to do more than ordinaly unbundled apks that are downloaded and installed to the data partition. 1) /vendor/lib is allowed. So the path is added to the search_paths and permitted paths of the classloader namespace. 2) LLNDK libs are allowed in addition to the NDK libs. So, LLNDK lib list from llndk.libraries.txt is added to the list from public.libraries.txt. 3) VNDK-SP libs are allowed. To do so, the classloader namespace is linked to the 'vndk' namespace where VNDK-SP libs are searched and loaded from. The list of available VNDK-SP libs is read from vndksp.libraries.txt file. 4) Name of the namespace is changed to 'vendor-classloader-namespace' since the namespace is configured differently from the ordinary 'classloader-namespace'. Bug: 63553457 Test: 2017 pixel devices build and boots to the UI Test: a vendor apk (e.g. TimeService.apk) works. Turn the airplain mode on. Set time. Reboot the device. The time is not reset. Test: 1) set target as 2017 pixel 2) m -j CtsVendorJniTestCases 3) copy the built apk into /vendor/app/CtsVendorJniTestCases 4) reboot / factory reset 5) adb shell am instrument -w android.jni.vendor.cts Change-Id: I447452eb025c0a0fd076b5c9ac081d453dc6074e
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
00fe3ad7287fa62c09d9ab707c71ca9f3f7a8404 |
19-Jul-2017 |
Steven Moreland <smoreland@google.com> |
system/core: use proper nativehelper headers libnativeheader exports headers under nativeheader. These were available before incorrectly as global headers in order to give access to jni.h. Test: modules using system/core find headers Bug: 63762847 Change-Id: I86240f7857dd815100cab32ad261aa9a0a54329c
ative_loader.cpp
|
882cad2d87fc003ced61ddf9d68f8810ec8c4b3f |
02-May-2017 |
Dimitry Ivanov <dimitry@google.com> |
Load vendor public libraries to sphal namespace Load vendor public libraries to sphal namespace if it exists - preserve old behavior of loading these libraries to default namespace if sphal namespace is not present on the device. Bug: http://b/37410104 Test: cts-tradefed run singleCommand cts --skip-preconditions -m CtsJniTestCases on marlin (with enabled sphal configuration) and on angler where ld.config.txt is not present. Change-Id: Iaa3fa437ba2900acc2e5b9c78039fe1553e4c9dd (cherry picked from commit af0264bbe9f5e1228eb8fb486fa3d0d8e6e8605e)
nclude/nativeloader/dlext_namespaces.h
ative_loader.cpp
|
9e253ce6b7aea5a1a6f761d94a7471bb88574e53 |
09-May-2017 |
Dimitry Ivanov <dimitry@google.com> |
Explicitly enable greylist for classloader-namespaces The linker no longer enables greylist by default, it needs to be explicitly enabled by specifying corresponding flag. Bug: https://issuetracker.google.com/38146125 Test: builds Change-Id: Ib593f2d9a35dbadffb436f5fbc9a2a7a8f64ada0 (cherry picked from commit 058b2ea8c52ed8ce33442eda3a39e49ecd11e6dd)
nclude/nativeloader/dlext_namespaces.h
ative_loader.cpp
|
e8fb11dfa1b376124d0a1a349c8800799f25606a |
27-Feb-2017 |
Zhenhua WANG <zhenhua.wang@intel.com> |
NativeBridge: add "linked namespace" semantic corresponding to linker For dynamic linking perspective, semantics of NativeBridge needs to align with dynamic linker. This patch adds "linked namespace" semantic which shares some libraries from one namespace to another. Test: make test-art-host-run-test-115-native-bridge Change-Id: I71ce1dde19d61363d5eb9731fd4795a8c315b3a0
ative_loader.cpp
|
c169b2018fb72ea31da68616548dcf6582cb0a93 |
30-Mar-2017 |
Calin Juravle <calin@google.com> |
Set libnativeloader style to clang-format-2 Test: clang-format.py ... Change-Id: I322c134c1e6b58b2c4ea21b6dfac5727860604c2
/system/core/.clang-format-2
|
3f5b5dc546c398db10dd9a5631070e2f09d33d0b |
13-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Add comment to android_link_namespaces method Test: n/a - comment only change Bug: http://b/26833548 Change-Id: I40356eec37aeb864206982feb877c59c21c9a433
nclude/nativeloader/dlext_namespaces.h
|
fd87c062abb0c1600e068f477699530e9c6758ed |
11-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Replace public library list with shared lib sonames"
|
26e1a846ef6b3bda9386fba405ea4485056b4e62 |
03-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Replace public library list with shared lib sonames Call updated interface in order to setup anonymous and classloader namespaces Bug: http://b/26833548 Test: build & boot angler Change-Id: I1fae5d9c015f2026563eb64d986c622c1b68effb
nclude/nativeloader/dlext_namespaces.h
ative_loader.cpp
|
6b7425881860c7b16d4228a27ed2b2119aba0bda |
06-Feb-2017 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Log errors from loading public libraries"
|
15a264e65c0df7574f2e8f2406ee6427b084cfff |
04-Feb-2017 |
Evan Ralston <eralston@amazon.com> |
Log errors from loading public libraries Prevent the boot from failing silently if one of the public libraries does not exist. Test: Add invalid element to public libraries and observe log is emited during boot failure. Change-Id: I0425085a1cc081068954f327f15be853a3ccd553
ative_loader.cpp
|
e7005979c2ba01e13d75df218c0bc07ea71a479b |
12-Jan-2017 |
Jesse Hall <jessehall@google.com> |
dlext_namespace.h: Declare android_get_LD_LIBRARY_PATH This allows clients creating their own namespace do so by modifying the default library path, rather than hardcoding it multiple places in the system. Bug: 33531483 Test: build Change-Id: I321e219392b38c235b220986e1520b49a4669863 (cherry picked from commit 823c266a8a9d9db9654103456a7b759358ce4e10)
nclude/nativeloader/dlext_namespaces.h
|
b75d82b42a52faa66a6c00d46bf0de6391c95db4 |
10-Jan-2017 |
Jesse Hall <jessehall@google.com> |
Make dlext_namespaces.h available to users of libnativeloader Bug: 33531483 Test: build Change-Id: I1da92e2b1437b6775a9d81fc6c1a2d4bacecbc04 (cherry picked from commit 0936d25371e4f2618bf5760583a60dd542740542)
lext_namespaces.h
nclude/nativeloader/dlext_namespaces.h
ative_loader.cpp
|
30f991f251940be3ed11566fb71139852286f68a |
10-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
liblog: use log/log.h when utilizing ALOG macros Test: compile Bug: 30465923 Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
ative_loader.cpp
|
86e80b9be0a1fc6070ffae08e4c99d6dd577eb2a |
21-Dec-2016 |
Jaekyun Seok <jaekyun@google.com> |
Use shared lib of libutils, libz and libbase. libutils, libz and libbase are being used as shared lib by many other modules. So using their shared lib will reduce total image size. Size diffs on angler build image are as follows. libziparchive.so : 103844 -> 41680 (-62164) libnativeloader.so: 50824 -> 25104 (-25720) total : (-87884) Test: building succeeded, and the image was tested on angler. Bug: 33056637 Change-Id: I015afe5b8f4d87d495b706e2e78d60f44a910e87
ndroid.bp
|
d836ab005a3fd70e477a01d4200483131a285c9a |
03-Nov-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow different namespace types for different classloaders An app should be able to make cross-arch calls to different apps via other app's Context.getClassLoader() Bug: 32542970 Test: Boot fugu. Check that there are no linker-namespace related errors in the log. Change-Id: I1593f4688bcde0121a5e24a707441a4935fa7dc4
ative_loader.cpp
|
800083d229fbf4ab4008e73205679556b058748b |
01-Nov-2016 |
Dimitry Ivanov <dimitry@google.com> |
Return nullptr from FindNamespaceByClassLoader for NB-enabled apps. This function is always called by the frameworks in order to initialize vulkan layer path. For NB apps returning nullptr disables vulkan layer library lookup as expected. Bug: http://b/32542970 Test: mm Change-Id: I426b2b9f5ea7227b00f063ed6040f37bb2b4f21f
ative_loader.cpp
|
f2804e59854c2c7e7d3d5b58f987e5ec5cdc5b66 |
30-May-2016 |
Zhenhua WANG <zhenhua.wang@intel.com> |
Upgrade native bridge to version 3 to support namespace Native bridge implements namespace related interfaces in version 3. The namespace semantic here is same as Android dynamic linker's. Native loader wraps library loading functions of dynamic linker and native bridge. Thus, Android runtime is able to load native library of different ISA on one device by calling native loader directly. Bug: http://b/28242460 Test: mm && make test-art-host -j48 Change-Id: Idde2b9d99fb6ebe547407c716b5478a231f745a7 Signed-off-by: Zhenhua WANG <zhenhua.wang@intel.com>
ndroid.bp
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
36e0d390a2de7d13cdf667d9a7d125f0d66b3107 |
10-Oct-2016 |
Elliott Hughes <enh@google.com> |
Rely on the platform -std default. Bug: http://b/32019064 Test: builds Change-Id: I18a1d816d63b64601485045070851f32d44e85eb
ndroid.bp
|
ff2dcd9af994a23ed483939a416b48bdc10eefd5 |
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
system/core Replace log/log.h with android/log.h Should use android/log.h instead of log/log.h as a good example to all others. Adjust header order to comply with Android Coding standards. Test: Compile Bug: 26552300 Bug: 31289077 Change-Id: I33a8fb4e754d2dc4754d335660c450e0a67190fc
ative_loader.cpp
|
627112a87ed4bb11e321915852e99922a52bbbb0 |
28-Jul-2016 |
Colin Cross <ccross@android.com> |
Merge \"libnativeloader: convert Android.mk to Android.bp\" am: 5783dea065 Change-Id: I347c0822bbfcc351a36154391c4cd1bcaa3fc7c2
|
d4ce20aa849ceda35ca7e758467a9825b315ef20 |
27-Jul-2016 |
Colin Cross <ccross@android.com> |
libnativeloader: convert Android.mk to Android.bp Change-Id: I94d7cde3138f28bbd158d62b657af8448b4175fd
ndroid.bp
ndroid.mk
|
1b4f54e8786da5fbf50a06fc9ce5e18eed916b53 |
22-Jun-2016 |
Christopher Ferris <cferris@google.com> |
Merge \"Add support to indicate bitness of public library.\" am: 3fb358478f Change-Id: Ia5a7580cb26dbafa5863ae5d85aaaccb62936921
|
39da84b06cf53f87ae535a685b315c1584bba7cb |
22-Jun-2016 |
Christopher Ferris <cferris@google.com> |
Add support to indicate bitness of public library. For public vendor libraries, a vendor might have only a 32 bit or only a 64 bit version of the library. Add a way to indicate this in the public.libraries.txt files. The new format is: library.so 32 This indicates that this is a 32 bit only public library. library.so 64 This indicates that this is a 64 bit only public library. Bug: 29370721 Bug: 29512261 (cherry picked from commit 6664a805cae6983c7a19caf8abbe88ad2d918bcb) Change-Id: Id52c8b61d5c802ce62edda7e25f2755f6f93d6b7
ative_loader.cpp
|
823d5bbc204da3da76aa78253143e73fe29696d9 |
01-Jun-2016 |
Dan Willemsen <dwillemsen@google.com> |
Merge "Remove invalid uses of -l and -I" am: 5d6193c658 am: 9ae3c079dc * commit '9ae3c079dca647869dcbc5a5075609f0895e4f4c': Remove invalid uses of -l and -I Change-Id: Id0ddd34cee10579684cdde36f3c095658a50784b
|
ee2da03e2666dcb01721b55aa4767e371120f4fb |
25-May-2016 |
Dan Willemsen <dwillemsen@google.com> |
Remove invalid uses of -l and -I LOCAL_LDLIBS should only be used with -l flags for NDK and some host libraries. Other uses should use LOCAL_SHARED_LIBRARIES. LOCAL_LDFLAGS should not contain -l entries, they should be in LOCAL_LDLIBS instead. LOCAL_CFLAGS should not contain -I entries, those should use LOCAL_C_INCLUDES instead. Change-Id: Ic901aa14651572ac682166becd4f0cd86baecc34
ndroid.mk
|
fcd4ee48a4f29c3271e4a3d0f5174f9d6a7042c9 |
24-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Remove target_sdk_version parameter" into nyc-dev am: 07f46c84e6 * commit '07f46c84e614e2635e8072403dce8f17cc9285ba': Remove target_sdk_version parameter Change-Id: Idf4bca526e7a40064518ad0e5ccc5aa1f63dbe75
|
94ee4e690dc4e529a27561b9e0d1e52a0dddc7d5 |
24-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Remove target_sdk_version parameter Since linker-namespaces are enabled for all target_sdk_versions and there is no longer need in workarounds in libnativeloader - remove unused target_sdk_version parameter for internal calls. This also brings libnativeloader closer to aosp/master Bug: http://b/26040253 Change-Id: I7d6f6ac31be0dca5f3c3f6ea20e6cc87ce3a3c7f
ative_loader.cpp
|
e17c2efc4c6a49c5c02061d90b9d5384c94eddce |
18-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Set parent namespace for linker-namespaces" am: ac50d0cc57 am: 3457aba394 * commit '3457aba39480e85d582dd6890c4c72e418958782': Set parent namespace for linker-namespaces Change-Id: I20ea9239e95377894f477c33cf65bc7da7ad1e5a
|
ade364b4566212a0c16920443a84aa85ac31f781 |
13-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Set parent namespace for linker-namespaces This change allows applications to share RTLD_GLOBAL native libraries between namespaces associated with different classloaders. The rule is - if a library is GLOBAL within namespace associated with parent classloader, it is shared with namespace associated with this classloader Note that the sharing happens on create_namespace event, which is tied to createClassloader in case of application classloaders created by the framework, for custom application classloaders it is tied to first loadLibrary() event. Bug: http://b/28560538 Bug: https://code.google.com/p/android/issues/detail?id=208458 Change-Id: I7ee701166f8ec5eff033b7acc0f80c7aa4ec5bda (cherry picked from commit 24db75c1ce7ff8376a475214b059b9a37ac07936)
lext_namespaces.h
ative_loader.cpp
|
d98683f415db73668378e1945d4eb5c9dc2d0a18 |
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. am: 25df4bff44 * commit '25df4bff44a0d1a342dc45521bf7e860b3fef947': Pass permitted_path to the linker as is. Change-Id: Idf8459267f8e1cc7bebc9a55b1272871b3d8119a
|
24db75c1ce7ff8376a475214b059b9a37ac07936 |
13-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Set parent namespace for linker-namespaces This change allows applications to share RTLD_GLOBAL native libraries between namespaces associated with different classloaders. The rule is - if a library is GLOBAL within namespace associated with parent classloader, it is shared with namespace associated with this classloader Note that the sharing happens on create_namespace event, which is tied to createClassloader in case of application classloaders created by the framework, for custom application classloaders it is tied to first loadLibrary() event. Bug: http://b/28560538 Bug: https://code.google.com/p/android/issues/detail?id=208458 Change-Id: I7ee701166f8ec5eff033b7acc0f80c7aa4ec5bda
lext_namespaces.h
ative_loader.cpp
|
25df4bff44a0d1a342dc45521bf7e860b3fef947 |
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. Now that we have the fixed list of whitelisted libraries there is no longer need to check if java_permitted_path is nullptr. In fact checking it prevents custom classloaders created by apps from loading libraries using absolute path. Bug: http://b/28659864 Change-Id: I1bfc16a573b090f70f078ecccd0e4016939a5dc0 (cherry picked from commit b31caa95ec1ab9da7b300544e9716c1cac92d8f8)
ative_loader.cpp
|
b31caa95ec1ab9da7b300544e9716c1cac92d8f8 |
17-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Pass permitted_path to the linker as is. Now that we have the fixed list of whitelisted libraries there is no longer need to check if java_permitted_path is nullptr. In fact checking it prevents custom classloaders created by apps from loading libraries using absolute path. Bug: http://b/28659864 Change-Id: I1bfc16a573b090f70f078ecccd0e4016939a5dc0
ative_loader.cpp
|
17decbd637ab9dba0d87ea8cb92867c4117b5a7d |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Move linker-namespace functions declarations" am: 37ed923d1c am: 3f0a12622b * commit '3f0a12622b8d35f1223945498a086e19c791bf24': Move linker-namespace functions declarations Change-Id: I6f3e8b5ef608e3b930510b5c483ec6e7963eb4f7
|
c337cae9adcb538a4562641f97bdde933d085a82 |
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move linker-namespace functions declarations They are intended for platform use only and we shouldn't have them in the public header file. This CL moves them to libnativeloader private header file. Bug: http://b/28174921 Change-Id: I01cf446d2d8d7cf6f9e31130aa3d4e54fbbbb9fc (cherry picked from commit 6796522256b4cd861d3ebaf8264bd272b3c7441f)
lext_namespaces.h
ative_loader.cpp
|
37ed923d1c08b8b9204a6a66f11bbf0b4375d35b |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Move linker-namespace functions declarations"
|
d7cbb6f053c29c9967c25b5723be32ae6d26f97d |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "nativeloader: Ignore empty java_permitted_path" into nyc-dev am: 6edd0c3a68 * commit '6edd0c3a68f60541c31fd65080e52939f2be3bc2': nativeloader: Ignore empty java_permitted_path Change-Id: I1777b3a05d2e233000815172cfa1e56326be634b
|
72ca40f738a86d9bb8d1cdfb06ce20ca4493bf61 |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Ignore empty java_permitted_path Passing empty permitted path should result in no-op. This addresses review comment on CL with commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 Bug: http://b/28639227 Change-Id: I4a4540e522e90a145a374939921932c86f35e88d (cherry picked from commit d0b1531929d76411d964d4077d441d751e2c01fb)
ative_loader.cpp
|
ddc6a4a0a6d5ee2faab9021ff302142033b16842 |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Check if public namespace has already been initialized" am: 0756fae4f1 am: 5cd1e6822a * commit '5cd1e6822abd016e5ee6e642528b39acaf15ae55': Check if public namespace has already been initialized Change-Id: I13740764783765256af2fb1672fbfc5592147760
|
0756fae4f1aea5072ed820087b2487b408194c38 |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Check if public namespace has already been initialized"
|
d0b1531929d76411d964d4077d441d751e2c01fb |
11-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Ignore empty java_permitted_path Passing empty permitted path should result in no-op. This addresses review comment on CL with commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 Bug: http://b/28639227 Change-Id: I4a4540e522e90a145a374939921932c86f35e88d
ative_loader.cpp
|
637da4eeeb3ac023a8af497ee91cf3c871d4b6dc |
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Extend white-listed directories to include /mnt/expand Apps on sdcard live under /mnt/expand and therefore this directory should be under linker namespaces permitted_path. Bug: http://b/28639227 Change-Id: I462f9f23656c95d9c2a48bb3f513abcd9d08f340 (cherry picked from commit f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9)
ative_loader.cpp
|
f334cbf0e1425633bef96a21b0ce9e30f4c6ffa9 |
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Extend white-listed directories to include /mnt/expand Apps on sdcard live under /mnt/expand and therefore this directory should be under linker namespaces permitted_path. Bug: http://b/28639227 Change-Id: I462f9f23656c95d9c2a48bb3f513abcd9d08f340
ative_loader.cpp
|
80ddb8f5517b4632307705858c3402081583a456 |
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Check if public namespace has already been initialized There is no point in reading/loading the list of public libraries once public namespace is already initialized. Change-Id: I5a53c46bb57b8de241ba521a6321c12e94a76476
ative_loader.cpp
|
6796522256b4cd861d3ebaf8264bd272b3c7441f |
10-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move linker-namespace functions declarations They are intended for platform use only and we shouldn't have them in the public header file. This CL moves them to libnativeloader private header file. Bug: http://b/28174921 Change-Id: I01cf446d2d8d7cf6f9e31130aa3d4e54fbbbb9fc
lext_namespaces.h
ative_loader.cpp
|
cf9892b6d1b0138bdf2341aaa0670c43af27cb85 |
09-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Fix the case of search_path == null When user creates custom classloader which does not extend BaseDexClassLoader the librarySearchPath gets set to null by java.lang.Runtime.doLoad(). This patch makes nativeloader correctly handle it. Bug: http://b/28659864 Change-Id: I1b61c6bc952984d7c49775a9178fc3270948e62a (cherry picked from commit 8a0425b86acd4f20ef68ef350ac32e1c5057c558)
ative_loader.cpp
|
8a0425b86acd4f20ef68ef350ac32e1c5057c558 |
09-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Fix the case of search_path == null When user creates custom classloader which does not extend BaseDexClassLoader the librarySearchPath gets set to null by java.lang.Runtime.doLoad(). This patch makes nativeloader correctly handle it. Bug: http://b/28659864 Change-Id: I1b61c6bc952984d7c49775a9178fc3270948e62a
ative_loader.cpp
|
7d02829636cfb4d23c5665b1481ccb3d20f27b56 |
06-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add public libs from an environment variable This is enabled only for builds with ro.debuggable=1 It is intended for use only in tests using dalvikvm and needing access to platform libraries. Bug: http://b/28449304 Change-Id: I402457d0da542996ccf265aeaa305f09881e4333 (cherry picked from commit 4ddabd01bf361cadb33baa7213e2ca5129b938f0)
ndroid.mk
ative_loader.cpp
|
4ddabd01bf361cadb33baa7213e2ca5129b938f0 |
06-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add public libs from an environment variable This is enabled only for builds with ro.debuggable=1 It is intended for use only in tests using dalvikvm and needing access to platform libraries. Bug: http://b/28449304 Change-Id: I402457d0da542996ccf265aeaa305f09881e4333
ndroid.mk
ative_loader.cpp
|
ad717d6566eb381fb0ef47941c000789f048cf81 |
05-May-2016 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "nativeloader: Add CloseNativeLibrary() method"
|
7a1f9518f77e33e40efcec7ace0ee5d3855ccd8b |
03-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add CloseNativeLibrary() method This method is called by art on UnloadNativeLibraries() Bug: http://b/28406866 Change-Id: Ibccff93c83d6ccd3d0a1c0294a64b09281b4e05e (cherry picked from commit 09a516bf161c5cabdaa3a67df5aa7fbac667f5f9)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
09a516bf161c5cabdaa3a67df5aa7fbac667f5f9 |
03-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add CloseNativeLibrary() method This method is called by art on UnloadNativeLibraries() Bug: http://b/28406866 Change-Id: Ibccff93c83d6ccd3d0a1c0294a64b09281b4e05e
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
911472da85bb1caa3e28d86c17ade347d06f33b3 |
02-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add Reset capabilities In the case when VM is restarted all weak references from the old VM become invalid. In such event NativeLoader needs to clear the list of classloaders from old VM. Bug: http://b/28453840 Bug: http://b/28449304 Change-Id: I2268c1e21cf940c57ddc5f0312f56b71aa702134 (cherry picked from commit be4ca3afc0636b314d676480156eb6977739dd00)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
be4ca3afc0636b314d676480156eb6977739dd00 |
02-May-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Add Reset capabilities In the case when VM is restarted all weak references from the old VM become invalid. In such event NativeLoader needs to clear the list of classloaders from old VM. Bug: http://b/28453840 Bug: http://b/28449304 Change-Id: I2268c1e21cf940c57ddc5f0312f56b71aa702134
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
0b5651e1588c2fee6a587314993a166a77068974 |
22-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
native_loader: Use ANDROID_ROOT environment variable Replace "/system" with ANDROID_ROOT environment variable. Bug: http://b/28320913 Bug: http://b/28082914 Change-Id: Ib039722cb059bae1635b45f6af20ef0180e83ba9 (cherry picked from commit 7e8cee8fb2e3d92e60554296eebe9d1e75cfd473)
ative_loader.cpp
|
5539db0b4f915bf15de742d1378904a553dc80dc |
21-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Enable namespaces for all target sdk versions We previously relied on the fact that target sdk version 0 implies system_server, which is not true, target sdk version may be set to 0 for other apps and it means 1 - the earliest version of android. This change enables namespaces for apps targeting all sdk version and for system_server. Bug: http://b/27702070 Change-Id: I16fbdeb6868c7035aec71132c80c150c08ea2cc3 (cherry picked from commit 213676b88019016f8c968a05c50a196e2aaaeff8)
ative_loader.cpp
|
7e8cee8fb2e3d92e60554296eebe9d1e75cfd473 |
22-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
native_loader: Use ANDROID_ROOT environment variable Replace "/system" with ANDROID_ROOT environment variable. Bug: http://b/28320913 Bug: http://b/28082914 Change-Id: Ib039722cb059bae1635b45f6af20ef0180e83ba9
ative_loader.cpp
|
213676b88019016f8c968a05c50a196e2aaaeff8 |
21-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Enable namespaces for all target sdk versions We previously relied on the fact that target sdk version 0 implies system_server, which is not true, target sdk version may be set to 0 for other apps and it means 1 - the earliest version of android. This change enables namespaces for apps targeting all sdk version and for system_server. Bug: http://b/27702070 Change-Id: I16fbdeb6868c7035aec71132c80c150c08ea2cc3
ative_loader.cpp
|
3150fa25140fd5e2d66569841bd8e8eba07adb27 |
15-Apr-2016 |
Alex Light <allight@google.com> |
Remove workaround for libart greylist. Bug: 27775991 Change-Id: I77f03b95f70957df58e666b011a07cfc2a33b480
ative_loader.cpp
|
b614045894c99fb1d35179d3e0a0bab0d5dec666 |
07-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow vendors to extend the list of public libs native_loader adds libraries specified in the (optional) file: /vendor/etc/public.libraries.txt to the list of public native libraries. Bug: http://b/27073931 Change-Id: I927193cce99d48c3395bd0e6c373ae9fad0f13f4 (cherry picked from commit 617f495cf7a8e07b433058fb7f4c7611b584fda9)
ative_loader.cpp
|
617f495cf7a8e07b433058fb7f4c7611b584fda9 |
07-Apr-2016 |
Dimitry Ivanov <dimitry@google.com> |
Allow vendors to extend the list of public libs native_loader adds libraries specified in the (optional) file: /vendor/etc/public.libraries.txt to the list of public native libraries. Bug: http://b/27073931 Change-Id: I927193cce99d48c3395bd0e6c373ae9fad0f13f4
ative_loader.cpp
|
4f8bb2577a7394f7c9ba0e4530f6374b8cbf20fa |
30-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Adjust check for target_sdk_version for workarounds target_sdk_version=0 is a valid version, it basically means 1 (the very first version of android) not current one. Bug: http://b/27702070 Change-Id: Ib7843718f364b975e1d09a05377bf8580b407d9d
ative_loader.cpp
|
7f9a1aaf05dda20904f08a667dadcf555a41477e |
22-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
A workaround for apps using custom classloaders Allow custom classloaders to load native libraries from anywhere under /data Bug: http://b/27588281 Change-Id: Idb87b33361903f52b734ddd0ceaabe1ff9c281eb
ative_loader.cpp
|
d1fdb9883011f57ab7a3fdcde4d835ef6918b14c |
15-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move list of public libraries to a config file This list contains libraries that should directly or indirectly be accessible to apps for the platform. Note that this list is not device specific but rather device class specific. For now we have 2 separate lists; one for Android Phones and Tablets, and another one for Android Wear devices. Bug: http://b/27546414 Bug: http://b/22548808 Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146 (cherry picked from commit 4b0e963872715775a63f36b385150cba4801b1d0)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
4b0e963872715775a63f36b385150cba4801b1d0 |
15-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Move list of public libraries to a config file This list contains libraries that should directly or indirectly be accessible to apps for the platform. Note that this list is not device specific but rather device class specific. For now we have 2 separate lists; one for Android Phones and Tablets, and another one for Android Wear devices. Bug: http://b/27546414 Bug: http://b/22548808 Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
9c0a2029771846ecea9121cf249169e581f6f7f5 |
16-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Revert "libnativeloader: Make webviewchromium so file optional" This reverts commit 75dda7551f6a3499c0c45ed0f9530353c7616357. Bug: http://b/27546414
ndroid.mk
ative_loader.cpp
|
75dda7551f6a3499c0c45ed0f9530353c7616357 |
16-Mar-2016 |
Prashant Malani <pmalani@google.com> |
libnativeloader: Make webviewchromium so file optional Not all android devices ship with Webview. The requirement of libwebviewchromium_plat_support.so to be loaded while initializing the android namespace is therefore liable to cause a crash on devices that don't support or use Webview. Therefore, this patch makes this requirement conditional, but enabled by default. To remove the dependency, device make files should add the following: TARGET_IGNORE_WEBVIEW_CHROMIUM := true Bug: 27336841 Bug: 27546414 Change-Id: Iaec1b58236356d981504ea8f716413ea334ca4f4
ndroid.mk
ative_loader.cpp
|
5f28b8460d9e53c5ccbe154ec244c9ae56b4a97c |
04-Mar-2016 |
Dimitry Ivanov <dimitry@google.com> |
Handle the case when libart.so is not in use In the case when libartd.so is used libart.so does not have to be included in the public namespace. Bug: http://b/27496326 Change-Id: I464bafec1d9da5c3f3f03fef02af3f34bf377297
ative_loader.cpp
|
1dff1aa97c4ee3ea1436e95fea2fb20c7e8cbead |
29-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Fix locking of libnativeloader This commit fixes race condition introduced in d047c925af62e1fe28fcd1c1940df4afe18d458a Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: I5d94f130937f18d3443878b3521715a8f87427e0 (cherry picked from commit 34d5a20c8bb57adae8711c7f9d90a77fbd4043c7)
ative_loader.cpp
|
34d5a20c8bb57adae8711c7f9d90a77fbd4043c7 |
29-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Fix locking of libnativeloader This commit fixes race condition introduced in d047c925af62e1fe28fcd1c1940df4afe18d458a Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: I5d94f130937f18d3443878b3521715a8f87427e0
ative_loader.cpp
|
4cd07681158830ec49f763f746d6644099a73b42 |
23-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Added function to explicitly initialize a namespace This change replaces lazy get-or-create logic for linker namespaces with the explicit one. ApplicationLoaders.getClassLoader(..) is now resposible for the namespace initialization for PathClassLoaders. Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: Ife987c3ca1db33a47c20f363a5ed61512be8b5a7 (cherry picked from commit d047c925af62e1fe28fcd1c1940df4afe18d458a)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
d047c925af62e1fe28fcd1c1940df4afe18d458a |
23-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Added function to explicitly initialize a namespace This change replaces lazy get-or-create logic for linker namespaces with the explicit one. ApplicationLoaders.getClassLoader(..) is now resposible for the namespace initialization for PathClassLoaders. Bug: http://b/27189432 Bug: http://b/22548808 Change-Id: Ife987c3ca1db33a47c20f363a5ed61512be8b5a7
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
6f80022908e79cb64b95828beb2883c7c3ce2a2c |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add PreloadPublicNativeLibraries function Shift responsibility of preloading native libraries to the user of the library. This lets applications that do not use jni but depend on libnative_loader.so to avoid unnecessary preloads of public libraries which could be expensive. Bug: http://b/27245894 Change-Id: I12a8100de5da639c068769bca21ecebff2b2d538 (cherry picked from commit 426799d77014888315233253e96277bef13158eb)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
426799d77014888315233253e96277bef13158eb |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add PreloadPublicNativeLibraries function Shift responsibility of preloading native libraries to the user of the library. This lets applications that do not use jni but depend on libnative_loader.so to avoid unnecessary preloads of public libraries which could be expensive. Bug: http://b/27245894 Change-Id: I12a8100de5da639c068769bca21ecebff2b2d538
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
2f9cd05c47e7739cda5f931c120cc1f55e2a9e82 |
24-Feb-2016 |
Jesse Hall <jessehall@google.com> |
Merge "native_loader: add libvulkan.so to public native library list" into nyc-dev
|
dee3d96c01d6de65b3d890012162a367bb6918b7 |
24-Feb-2016 |
Jesse Hall <jessehall@google.com> |
native_loader: add libvulkan.so to public native library list Change-Id: I2228af5ec4b815631a9c5ca745718807d58028a3
ative_loader.cpp
|
f44ecde58832372ca0edf053eeee44ad56f69944 |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Export FindNamespaceByClassLoader Bug: http://b/27189432 Change-Id: Ib80dcce949276ee620f601c47b20f783708e8e85 (cherry picked from commit 0cd10d83e4e14300d03a60f28547b90d0c805579)
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
c914ebd4841ba9e5b8f446dfc5b6dfeecb56531f |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: refactor FindNamespaceByClassLoader method FindNamespaceByClassLoader returns android_namespace_t* to make it suitable for exporting this functionality. Bug: http://b/27189432 Change-Id: Ifef3de753192178e0184fb114596fe956fde2826 (cherry picked from commit 34fa704df45c5f74aeb5230e4bf3930585cf32fb)
ative_loader.cpp
|
2a7f7e0090d9c59954d117fee07955cfeee570c3 |
13-Feb-2016 |
Elliott Hughes <enh@google.com> |
Move libnativeloader headers into libnativeloader. Change-Id: I227676276da1b08a84486f29fb0e1502c8dbdf4a (cherry picked from commit e2b4e1e00cc5263ca7c0adbe8f8418f5c98ea5fe)
ndroid.mk
nclude/nativeloader/native_loader.h
|
0cd10d83e4e14300d03a60f28547b90d0c805579 |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: Export FindNamespaceByClassLoader Bug: http://b/27189432 Change-Id: Ib80dcce949276ee620f601c47b20f783708e8e85
nclude/nativeloader/native_loader.h
ative_loader.cpp
|
34fa704df45c5f74aeb5230e4bf3930585cf32fb |
22-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
nativeloader: refactor FindNamespaceByClassLoader method FindNamespaceByClassLoader returns android_namespace_t* to make it suitable for exporting this functionality. Bug: http://b/27189432 Change-Id: Ifef3de753192178e0184fb114596fe956fde2826
ative_loader.cpp
|
dab56737ca898d913c79c4ded76d78d8b3f5ffa3 |
18-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Limit libart.so visibility to apps targeting <= M Add libart.so to the list of public libraries only for apps targeting android M and below. Bug: http://b/27210062 Bug: http://b/26436837 Change-Id: I1ed3b0335a343044a76273741ea8770dcce12ebe
ative_loader.cpp
|
e2b4e1e00cc5263ca7c0adbe8f8418f5c98ea5fe |
13-Feb-2016 |
Elliott Hughes <enh@google.com> |
Move libnativeloader headers into libnativeloader. Change-Id: I227676276da1b08a84486f29fb0e1502c8dbdf4a
ndroid.mk
nclude/nativeloader/native_loader.h
|
55bbb0d88ada4d7394411dba004d2af6086da6a4 |
10-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Preload public native libraries Preload libraries needed by the public namespace at the earlier stage. This saves time on InitPublicNamespace and saves memory because the libraries are linked before zygote fork. Bug: http://b/26409579 Change-Id: I59153a4180b930f31b542d8d2cb17b5d63c36774 (cherry picked from commit d68c8e9f84557484ef3e8a3ee03398d22f109fa8)
ative_loader.cpp
|
d68c8e9f84557484ef3e8a3ee03398d22f109fa8 |
10-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Preload public native libraries Preload libraries needed by the public namespace at the earlier stage. This saves time on InitPublicNamespace and saves memory because the libraries are linked before zygote fork. Bug: http://b/26409579 Change-Id: I59153a4180b930f31b542d8d2cb17b5d63c36774
ative_loader.cpp
|
4e9bda387315c88326813b9d13265bccaa22ceaf |
02-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Include icu4c libraries to the list of public libs" am: 17e33647f0 am: 819da66bec * commit '819da66bec28c31d564ba695d4d32f1a4727cad1': Include icu4c libraries to the list of public libs
|
c24ca894f541c78c661ad40ec9bcf78384f2b26d |
02-Feb-2016 |
Dimitry Ivanov <dimitry@google.com> |
Include icu4c libraries to the list of public libs Note that with this change the linker will ignore icu libraries provided by an app because public libraries are always provided by system. At this point it does not affect any apps because before Marshmallow all of them were getting platform version of icu4c libs anyways (they will be getting their own copy of the library only in Marshmallow release). Bug: http://b/26217329 Bug: http://b/26929349 Change-Id: I681cab43c9f28ec22319d9f0424bd3df00743a5f
ative_loader.cpp
|
73d2bc07b25e8ee0794e6b63f331a72de631b1be |
26-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libcamera2ndk.so to the list of public libraries Bug: http://b/23012001 Change-Id: If5bfd9ea15fcfe508aee4731d7f84fe517bfb43e
ative_loader.cpp
|
e803dd8aec98aa8e2c0679affd3cb661719e6f84 |
14-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Add libRS.so to the list of public libraries" am: ebe04a9b89 am: 108eaa1429 * commit '108eaa1429ec7cffd5aa38a97674fb3565ad581e': Add libRS.so to the list of public libraries
|
cdb6fee17c29dd6b2c84fdb05dbcc382e24e67c0 |
14-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libRS.so to the list of public libraries Bug: http://b/26509995 Change-Id: I8c0ae3629928171d229a901cfc997780665e3ae8
ative_loader.cpp
|
6082622b1805e925412100c736fb98143d9390d7 |
12-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Merge "Make libwebviewchromium_plat_support.so public" am: cd60e4bdd6 am: ce292ad06c * commit 'ce292ad06ccd38beaa2d7bf8add13dbdf01f91e5': Make libwebviewchromium_plat_support.so public
|
3d5a43449f414cde4b7602a20b764f28c58dd740 |
11-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Add libart.so to the list of public libraries This is a temporary workaround for apps relying on libart internal state. Bug: http://b/26436837 Change-Id: Ibd6a766c3c8edebe885d897565a72a7a407828c3
ative_loader.cpp
|
90bf68e8d1388ecf0ff24de4e408ff35d0532730 |
08-Jan-2016 |
Dimitry Ivanov <dimitry@google.com> |
Make libwebviewchromium_plat_support.so public Add libwebviewchromium_plat_support.so to the list of public libraries. Bug: http://b/26461431 Change-Id: I958a1182198bf59d9b6fc818953212ce505d6bdd
ative_loader.cpp
|
619ffb4f5bec53adcd0b204c61c0e4d1d6ab529e |
16-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Revert "Temporary disable linker-namespaces" This reverts commit c18ac7cd2bc6214745b91d74e249962ce9ff7d26.
ative_loader.cpp
|
d2a6220001c9693664f8cf514f0653a4e1b859ea |
15-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Add parameter for shared namespaces Shared namespaces are used for bundled app classloaders. Bug: http://b/22548808 Bug: http://b/26165097 Change-Id: I163033f70c50ef9ddb4164676c033ab30748964e (cherry picked from commit ef4639c1a5159726797dec719d84e3a88e96f8a0)
ative_loader.cpp
|
c18ac7cd2bc6214745b91d74e249962ce9ff7d26 |
12-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Temporary disable linker-namespaces Bug: http://b/26164393 Change-Id: If6277407a6a5a4da9e3ad01dc45f57a7fc9954e4
ative_loader.cpp
|
0d6e59407d7b57805a72fe4d3df03c5249ea7ae8 |
08-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Apply permitted path to the classloader-namespace Bug: http://b/25853516 Bug: http://b/22548808 Change-Id: I283e6ee8d743bc3ab41aab9f36af0abbe729943f
ative_loader.cpp
|
8b0471462e5bb9e81652a1a53cc786df9848feef |
08-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename of base/ to android-base/. Change-Id: I974d67b6568e913bfb7700d952be55b4073388ee
ative_loader.cpp
|
ac1b1919f8d655f652e77f59cc52813199085cd9 |
01-Dec-2015 |
Dimitry Ivanov <dimitry@google.com> |
Native loader as a separate library Extracted native loader to separate library in order to be able to reuse it for NativeActivities related native code in libandroid_runtime.so Bug: http://b/22548808 Change-Id: Ibcf5ddcdc5aba22e32e4b72887840e9c171c1986
ndroid.mk
ative_loader.cpp
|