OSDN Git Service

make APEXes with public libraries visible
authorJooyung Han <jooyung@google.com>
Tue, 1 Sep 2020 04:49:27 +0000 (13:49 +0900)
committerJooyung Han <jooyung@google.com>
Tue, 8 Sep 2020 17:48:28 +0000 (02:48 +0900)
commit52ccfa77b746bc4b59787dcff015c15ab630934a
tree4ede7c4d62777289106aaebc35568a0c89a4fda0
parentf9920e2db4b8075c154d79a30c046ef1d8015349
make APEXes with public libraries visible

Public libraries (listed in /system/etc/public.libraries.txt) should be
available to classloader-namespace (created by libnativeloader). So,
linkerconfig reads public.libraries.txt and makes apexes with public
libraries visible.  This cleans up hard-coded references to nn, i18n, art
apexes.

And the list of apexes along with public libs are stored in
/linkerconfig/apex.libraries.config.txt so that libnativeloader can read
it and link them to classloader-namespace.

Bug: 150767721
Test: cuttlefish boots
Test: atest --host linkerconfig_diff_test
Change-Id: Idd7e2b0bcc6e54cd79c2b9c4c755f883b4507b74
25 files changed:
README.md
contents/section/apexart.cc
contents/section/isolated.cc
contents/section/legacy.cc
contents/section/product.cc
contents/section/sectionbuilder.cc
contents/section/system.cc
contents/section/unrestricted.cc
contents/section/vendor.cc
main.cc
modules/apex.cc
modules/include/linkerconfig/apex.h
testdata/golden_output/legacy/apex.libraries.config.txt [new file with mode: 0644]
testdata/golden_output/legacy/jni.config.txt [deleted file]
testdata/golden_output/product-enabled/apex.libraries.config.txt [new file with mode: 0644]
testdata/golden_output/product-enabled/jni.config.txt [deleted file]
testdata/golden_output/product-enabled/ld.config.txt
testdata/golden_output/stage0/apex.libraries.config.txt [moved from testdata/golden_output/stage0/jni.config.txt with 100% similarity]
testdata/golden_output/stage1/apex.libraries.config.txt [new file with mode: 0644]
testdata/golden_output/stage1/jni.config.txt [deleted file]
testdata/golden_output/stage1/ld.config.txt
testdata/golden_output/stage2/apex.libraries.config.txt [new file with mode: 0644]
testdata/golden_output/stage2/jni.config.txt [deleted file]
testdata/golden_output/stage2/ld.config.txt
testdata/root/system/etc/public.libraries.txt [new file with mode: 0644]