OSDN Git Service
Kiyoung Kim [Fri, 27 Nov 2020 04:23:34 +0000 (13:23 +0900)]
Remove reference between linkerconfig and system_linker_config
system_linker_config will be handled from Makefile and dependency also
will be handled from Makefile directly. As dependency from linkerconfig
is no longer required, this change removes system_linker_config from
linkerconfig's required modules.
Bug:
172889962
Test: Build cuttlefish and confirmed list is generated in
/system/etc/linker.config.pb
Change-Id: I3c84064dcb478c0fc26bf906f80101baf5342f3b
Kiyoung Kim [Mon, 23 Nov 2020 07:33:56 +0000 (16:33 +0900)]
Rename sharedApexLibs to requireSharedApexLibs
sharedApexLibs property from APEX manifest can be confused as there is a
property named provideSharedApexLibs. Rename sharedApexLibs to
requireSharedApexLibs for better readability.
Bug:
161542925
Test: m -j && atest sharedlibs_host_tests passed
Change-Id: Ib2bd408e13fc81f90f68a822b101e148dd1c401f
Kiyoung Kim [Tue, 17 Nov 2020 14:16:34 +0000 (23:16 +0900)]
Update path for SharedLibs APEX
Update path for SharedLibs APEX so any mounted SharedLibs APEX can be
included in the permitted path.
Bug:
161542925
Test: foo_test and bar_test execution succeeded
Change-Id: I74e248cba4bfba8e3ea8e5c9b5628c665a02b52e
Kiyoung Kim [Fri, 13 Nov 2020 01:17:17 +0000 (01:17 +0000)]
Merge "Verify if APEX has any link with all libs allowed"
Kiyoung Kim [Tue, 10 Nov 2020 01:46:09 +0000 (10:46 +0900)]
Verify if APEX has any link with all libs allowed
APEX modules should link to other namespaces with exact library list
rather than just allowing all libs to keep track of dependencies. This
change verifies if there are any APEX (except ART) which contains link
with all libs allowed.
Bug:
159302165
Test: atest passed
Change-Id: Ifdd7de179f8d420ec548b8ab11fcd137ceb1a3aa
Jooyung Han [Fri, 6 Nov 2020 01:18:03 +0000 (10:18 +0900)]
JNI libs should be visible to ART namespace
JNI libs from apexes should be visible for libnativeloader to load them.
Bug:
172541385
Bug:
150767721
Bug:
172689934
Test: linkerconfig_diff_test
Test: loading jni libs from apexes
Change-Id: Ie6cd53fb0aef78132dccc4398270884f4455804b
Kiyoung Kim [Tue, 10 Nov 2020 05:49:35 +0000 (05:49 +0000)]
Merge "Get system's required/providing libraries from config file"
Kiyoung Kim [Fri, 30 Oct 2020 06:36:12 +0000 (15:36 +0900)]
Add support for test common APEX
Add linkerconfig support for test common APEX. This change will add
extra permitted path to (test) common APEX when there is any library
referenced from the APEX module.
Bug:
161542925
Test: SharedLibsApexTest passed from crosshatch
Change-Id: I19813f72c251ae3e4a2b820ce52b33c9dbcfae6f
Kiyoung Kim [Wed, 21 Oct 2020 00:59:12 +0000 (09:59 +0900)]
Get system's required/providing libraries from config file
Currently most of system dependent libraries are listed in the source
code. To remove dependency between system image and linkerconfig, this
change makes linkerconfig to get those library list from configuration
file under /system/etc.
Bug:
168262631
Test: atest passed
Test: cuttlefish & crosshatch boot succeeded
Change-Id: I21653fb58d69417eda6c676f9dcb9b44e0ad764a
Kiyoung Kim [Wed, 21 Oct 2020 08:44:25 +0000 (17:44 +0900)]
Use LinkerConfig object directly
Last implementation on ApexInfo requires multiple copy of LinkerConfig
contents. To reduce number of information copy, this change makes
ApexInfo to use LinkerConfig object directly rather than copying
information.
Bug:
169634881
Test: atest passed
Change-Id: Ic1a0f58d3eecb2a5cde710bdda65e89b08d7d4ff
Kiyoung Kim [Tue, 20 Oct 2020 00:25:12 +0000 (00:25 +0000)]
Merge "Add extra dependencies for system namespace"
Kiyoung Kim [Tue, 20 Oct 2020 00:23:58 +0000 (00:23 +0000)]
Merge "Update configuration for linkerconfig as json/protobuf"
Kiyoung Kim [Fri, 16 Oct 2020 05:05:53 +0000 (14:05 +0900)]
Add extra dependencies for system namespace
Add extra dependencies between system namespace and Statsd APEX so
system namespace from non-system section can use libraries from statsd
APEX.
Bug:
170695190
Test: Cuttlefish boot succeeded
Change-Id: I512e1cd6731a7f31121f408ff6a2405275b136e0
Kiyoung Kim [Tue, 6 Oct 2020 08:07:25 +0000 (17:07 +0900)]
Update configuration for linkerconfig as json/protobuf
Current configuration format is ini-like format which is not fully
defined so less extensible. This change updates configuration format
with json, and convert into protobuf which can be parsed easily at
runtime.
Bug:
169634881
Test: atest passed && cuttlefish boot succeeded
Change-Id: I818193e50e7fd33001ecdb2189c4e3d819bd4d7b
Kiyoung Kim [Wed, 14 Oct 2020 01:12:06 +0000 (01:12 +0000)]
Merge "Add additional vendor lib paths" am:
0f834e6f21
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1456322
Change-Id: I1a04d040702092bf6c365f2c600a19e6bce9b71c
Kiyoung Kim [Wed, 14 Oct 2020 00:37:46 +0000 (00:37 +0000)]
Merge "Add additional vendor lib paths"
Jooyung Han [Tue, 13 Oct 2020 09:19:49 +0000 (09:19 +0000)]
Link sanitizer libs from "system" for vendor apex am:
45a2de1ee1
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1457800
Change-Id: If8a5ccb0a626579e3c024ad7764645714f744131
Jooyung Han [Tue, 13 Oct 2020 05:12:55 +0000 (14:12 +0900)]
Link sanitizer libs from "system" for vendor apex
There are two kinds of sanitizer libs.
- vndkcore libs
- system libs
Vendor modules should be able to use sanitizer libs from "system"
namespace. (Note that VNDK sanitizer libs are avialable from "vndk").
Bug:
170672395
Test: linkerconfig_diff_test
Change-Id: Ib1d5e007d6b6451a30a4009b7ecd06bf748f5e47
Yi Kong [Mon, 12 Oct 2020 17:23:03 +0000 (17:23 +0000)]
Workaround global ThinLTO breakage am:
867b2026c4
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1456321
Change-Id: Ia942f0c81e06f98b953cfa5de6b61199d77850ed
Kiyoung Kim [Mon, 12 Oct 2020 01:30:03 +0000 (10:30 +0900)]
Add additional vendor lib paths
Some of the vendor lib paths were removed from VNDK 28 due to no usage.
However, Vulkan team requires those vendor lib paths from vendor
section to load SPHAL libraries. To enable this, this change re-adds
addtional vendor lib paths (hw and egl) to vendor default namespace.
Bug:
170258171
Test: atest passed
Change-Id: I85fa6fa6f61d5559c5498163302a99741f6f733f
Yi Kong [Sun, 11 Oct 2020 16:31:18 +0000 (00:31 +0800)]
Workaround global ThinLTO breakage
The device does not boot with global ThinLTO enabled for linkerconfig.
Disable LTO for it to workaround the issue.
Test: GLOBAL_THINLTO=true m
Test: boot
Bug:
170573443
Change-Id: Id5b7e11c2c4b495b6b0da35dc774b60bcd0543af
Xin Li [Fri, 9 Oct 2020 00:24:02 +0000 (17:24 -0700)]
Skip ab/
6749736 in stage.
Merged-In: Id16b671d66cdbafb655be03edd16564fa36aee22
Change-Id: I28da1c789fff49b34462cadefa915bb37b902151
Jooyung Han [Thu, 17 Sep 2020 23:57:11 +0000 (23:57 +0000)]
Add dir.system = /product/app/ entry am:
2a62a40819
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1429849
Change-Id: I1902b8e94e04c5ebe5905727918931ef183a1b58
Jooyung Han [Thu, 17 Sep 2020 14:54:13 +0000 (23:54 +0900)]
Add dir.system = /product/app/ entry
This is a fallback for binaries in APKs being launched.
Bug:
160433462
Test: atest --host linkerconfig_diff_test
Change-Id: I3979b22994d7c801952c13d8bbfa013da78b69e2
Kiyoung Kim [Wed, 16 Sep 2020 02:28:13 +0000 (02:28 +0000)]
Enable visibility of bionic and media APEX from config am:
06c8f6c3d6
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1423209
Change-Id: I21a5b3e52dcb6ea7ad2825482a809e73c05db363
Kiyoung Kim [Wed, 16 Sep 2020 02:28:12 +0000 (02:28 +0000)]
Set APEX namespace as visible am:
81b9f84b50
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1420728
Change-Id: I8d2a5e6ef607e748ff9dc247992c69932d6d8fc5
Kiyoung Kim [Mon, 14 Sep 2020 02:23:00 +0000 (11:23 +0900)]
Enable visibility of bionic and media APEX from config
Enable visibility of bionic and media APEX from their own linker config
file to remove dependency between linkerconfig and other APEX modules.
Bug:
167946001
Test: atest passed
Change-Id: Icd76f2b8b051c88eac285d8548dddc0405e58cff
Kiyoung Kim [Mon, 14 Sep 2020 02:22:19 +0000 (11:22 +0900)]
Set APEX namespace as visible
Some of the APEX namespace should be visible from some sections, even
when the APEX namespace is not required from dependency resolution. This
change adds a new property in linker.config.txt to enforce APEX
namespace as available and visible from all sections.
Bug:
167946001
Test: atest passed
Change-Id: Ia0681b58a571ca977a97968494ad17502582253b
vichang [Fri, 11 Sep 2020 10:57:04 +0000 (10:57 +0000)]
Merge "Add a new public library libicu.so" am:
3a48619dd8
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1419308
Change-Id: Icd50133f28ddbd9bbe523907e3f92496149afcfa
vichang [Fri, 11 Sep 2020 10:19:37 +0000 (10:19 +0000)]
Merge "Add a new public library libicu.so"
Xin Li [Fri, 11 Sep 2020 00:40:01 +0000 (00:40 +0000)]
[automerger skipped] Merge Android R am:
dd16853a3e -s ours
am skip reason: Change-Id I7a490c6ba010b984d50bc5eb66e0b7cd0dfb6ff4 with SHA-1
c719aff9b6 is in history
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1422559
Change-Id: I1a9d5ddf4823b38f37af0ff0dea84dbe9611a731
Xin Li [Thu, 10 Sep 2020 03:21:28 +0000 (20:21 -0700)]
Merge Android R
Bug:
168057903
Merged-In: I7a490c6ba010b984d50bc5eb66e0b7cd0dfb6ff4
Change-Id: Idb4d38b66ab90702faceee88c548dfda037e06d6
Jooyung Han [Tue, 8 Sep 2020 23:47:06 +0000 (23:47 +0000)]
Remove hard-coded references for JNI apexes am:
37d643da15
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1417035
Change-Id: I7a490c6ba010b984d50bc5eb66e0b7cd0dfb6ff4
Jooyung Han [Tue, 8 Sep 2020 23:47:03 +0000 (23:47 +0000)]
make APEXes with public libraries visible am:
52ccfa77b7
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1416070
Change-Id: I8363042a87448b03b43ee37405d38943d1895315
Jooyung Han [Fri, 28 Aug 2020 09:58:54 +0000 (18:58 +0900)]
Remove hard-coded references for JNI apexes
As statsd & conscrypt apexes expose JNI libs via apex_manifest,
linkerconfig makes them as visible when JNI libs are required.
Bug:
150767721
Test: atest --host linkerconfig_diff_test
atest MtsConscryptTestCases
Change-Id: I64d0c24e791205c39b4b9b01abda57cf49f68606
Jooyung Han [Tue, 1 Sep 2020 04:49:27 +0000 (13:49 +0900)]
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
Kiyoung Kim [Tue, 8 Sep 2020 00:27:19 +0000 (00:27 +0000)]
Retrieve extra informations from APEX config file am:
f9920e2db4
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1400127
Change-Id: I0d5426e2488b97c0b83e09e449d857a96934d713
Kiyoung Kim [Mon, 31 Aug 2020 04:55:25 +0000 (13:55 +0900)]
Retrieve extra informations from APEX config file
Some of the APEX modules require extra configuration to make it work.
This change includes getting extra permitted paths to enable each APEX
module can update configuration by itself.
Bug:
148647510
Test: CF boot succeeded
Change-Id: I708e9a93bd5b54be91de1908640b90a26abb939c
Treehugger Robot [Thu, 3 Sep 2020 03:07:05 +0000 (03:07 +0000)]
Merge "Add /data/local/tests/* directories for each linker namespace" am:
636293b191
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1415830
Change-Id: If962e208b526e2eb62d5a4f9f2e30acb4c9304ab
Treehugger Robot [Thu, 3 Sep 2020 02:26:11 +0000 (02:26 +0000)]
Merge "Add /data/local/tests/* directories for each linker namespace"
Victor Chang [Wed, 2 Sep 2020 22:40:24 +0000 (23:40 +0100)]
Add a new public library libicu.so
Bug:
160350521
Test: m droid
Change-Id: I69fa789ac9ed618c4f7627573a68d110235dd639
Martin Stjernholm [Wed, 2 Sep 2020 04:27:44 +0000 (04:27 +0000)]
Fix the linkerconfig host binary to not depend on libc++.so. am:
aefc84e989
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1418008
Change-Id: I0ea4ad0ff71f9090df7306503fb263a62e75222f
Colin Cross [Mon, 31 Aug 2020 04:46:23 +0000 (21:46 -0700)]
Add /data/local/tests/* directories for each linker namespace
Add entries for atest to push tests to under /data/local/tests
to allow tests to be run in the appropriate linker namespace.
Bug:
138450837
Test: atest binderVendorDoubleLoadTest memunreachable_unit_test memunreachable_binder_test
Test: atest --host linkerconfig_diff_test
Change-Id: I3839cf48ca233669a81dd4bb1584fc50300acfd9
Martin Stjernholm [Tue, 1 Sep 2020 18:27:53 +0000 (19:27 +0100)]
Fix the linkerconfig host binary to not depend on libc++.so.
Test: build/soong/scripts/build-aml-prebuilts.sh runtime-module-host-exports
Check with ldd that the linkerconfig binary in
out/aml/soong/mainline-sdks/runtime-module-host-exports-current.zip
isn't missing any DSO's.
Bug:
145934348
Change-Id: I08676a5d9c7ec3e76462fb74e882f81802528b98
Xin Li [Thu, 27 Aug 2020 17:17:41 +0000 (10:17 -0700)]
Merge Android R (rvc-dev-plus-aosp-without-vendor@
6692709)
Bug:
166295507
Merged-In: I850da98f4c9cf1fcefdc8c95a7e604c310697423
Change-Id: Iff0180b58beb9101e330a109a1cb8a90255e0e46
Jooyung Han [Sat, 22 Aug 2020 00:45:35 +0000 (00:45 +0000)]
Support :vndk requirement from /product partition am:
949e311380
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1405889
Change-Id: I28f3eee88aae387fc05cce617ca0894093de8e84
Jooyung Han [Fri, 21 Aug 2020 09:50:18 +0000 (18:50 +0900)]
Support :vndk requirement from /product partition
linkerconfig can now distinguish /product/apex from /vendor/apex.
So, it provides correct version of VNDK to vendor apexes.
Bug:
159576928
Test: atest --host linkerconfig_diff_test
Change-Id: Ib11dd1c51a6b9e0c875edab12bb37026e33a80cc
Jooyung Han [Tue, 18 Aug 2020 09:28:49 +0000 (09:28 +0000)]
Skip reading apex-info-list when there's no apexes am:
a2a5d03590
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1403307
Change-Id: Ia2359605430f0179dd0a738f33ff0eef71473381
Jooyung Han [Tue, 18 Aug 2020 07:35:31 +0000 (16:35 +0900)]
Skip reading apex-info-list when there's no apexes
linkerconfig may run even when there's no apexes activated. We need to
skip reading apex-info-list.xml then. Otherwise, it will emit an error
log when it is perfectly normal.
> E linkerconfig: Can't read /apex/apex-info-list.xml: No such file or directory
Bug: n/a
Test: device boots & see logs if there's an error
Change-Id: I8f6255de536618ad590ce18adf9b729e45c721df
Jason Macnak [Tue, 18 Aug 2020 02:21:53 +0000 (02:21 +0000)]
Merge "Add /vendor/lib/egl to sphal namespace" am:
869afe1f71
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1400190
Change-Id: I951388ba0eb4446e93b03853ece30b01cbcd1ecc
Jason Macnak [Tue, 18 Aug 2020 02:10:38 +0000 (02:10 +0000)]
Merge "Add /vendor/lib/egl to sphal namespace"
Jason Macnak [Fri, 14 Aug 2020 17:36:16 +0000 (10:36 -0700)]
Add /vendor/lib/egl to sphal namespace
... to support having ANGLE as the native GL driver
which needs to dlopen libGLESv2. Without this change,
devices would have to create symlinks from libs in the
nested egl directory to the parent directory.
Bug: b/
165022040
Test: launch Cuttlefish with ANGLE
Change-Id: Ib60bd8397fdf1f1ba52bbe1c249ae100c0c68e70
Treehugger Robot [Sat, 15 Aug 2020 07:44:37 +0000 (07:44 +0000)]
Merge changes from topic "revert-
1387130-revert-apex-info-list-XDFTNNKFQI" am:
a5e31e2f92
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1396430
Change-Id: I863efc0f8fe1d73ebe6b8943a4ff7489b3331bcf
Treehugger Robot [Sat, 15 Aug 2020 07:34:44 +0000 (07:34 +0000)]
Merge changes from topic "revert-
1387130-revert-apex-info-list-XDFTNNKFQI"
* changes:
Revert^2 "Fix "vndk" namespace for vendor apexes"
Revert^2 "Read apex-info-file.xml to distinguish vendor apex"
Jooyung Han [Tue, 11 Aug 2020 08:56:29 +0000 (08:56 +0000)]
Revert^2 "Fix "vndk" namespace for vendor apexes"
51a44276496b47a2a682d6498a47d52b70cc40ee
Change-Id: Id608e1e02b3d466a72194049548bca1a7756dd1f
Jooyung Han [Tue, 11 Aug 2020 08:56:29 +0000 (08:56 +0000)]
Revert^2 "Read apex-info-file.xml to distinguish vendor apex"
c7d600933296817cb4fbe611a25482567bd9cd44
Change-Id: Ic9b056b3726c6c385f9723a2fb5c5cc6609da3b3
Martin Stjernholm [Mon, 10 Aug 2020 15:50:35 +0000 (15:50 +0000)]
Make linkerconfig a static executable only on device. am:
908bfdbd22
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1393397
Change-Id: Ic74811e81c6dbcab1bfcae2ad9373a380968a9bf
Martin Stjernholm [Fri, 7 Aug 2020 18:00:55 +0000 (19:00 +0100)]
Make linkerconfig a static executable only on device.
Don't link libc statically on host, but everything else is still
static.
Test: `art/tools/buildbot-build.sh --target` on AOSP master
Test: `art/tools/buildbot-build.sh --target`
on master-art with prebuilt linkerconfig binary.
Test: Flash & boot
Bug:
162819454
Change-Id: I78e5d2ed5f654ea7db11e227556ec29b06eb1349
Jooyung Han [Wed, 5 Aug 2020 07:58:39 +0000 (07:58 +0000)]
Add :sphal, :vndksp for apex configuration am:
0bb103f96d am:
412cd5919c am:
5181c1c402
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1373257
Change-Id: Id16b671d66cdbafb655be03edd16564fa36aee22
Jooyung Han [Wed, 5 Aug 2020 07:35:33 +0000 (07:35 +0000)]
Add :sphal, :vndksp for apex configuration am:
0bb103f96d am:
412cd5919c
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1373257
Change-Id: Id171f01b4e8c390d80a97299ee1a49219921382f
Jooyung Han [Wed, 5 Aug 2020 07:11:48 +0000 (07:11 +0000)]
Add :sphal, :vndksp for apex configuration am:
0bb103f96d
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1373257
Change-Id: I42e16b6a06c2a58241723f52e01c7725f71f6f79
Treehugger Robot [Wed, 5 Aug 2020 06:02:34 +0000 (06:02 +0000)]
Merge "Update codebase with static analysis result" am:
53edf3a707 am:
509f0f0a7c am:
dac805a833
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1386196
Change-Id: If7b0e0c649bbdc091a8deb971ad0fb2e8bf4d959
Jooyung Han [Tue, 28 Jul 2020 01:26:41 +0000 (10:26 +0900)]
Add :sphal, :vndksp for apex configuration
This removes hard-coded special-casing of com.android.media.swcodec
APEX.
swcodec APEX declares "requireNativeLibs" with ":sphal" so that
linkerconfig can add "sphal" and "vndk" namespaces for it. Note that
a link from sphal to vndk with shared_libs(VNDK-SP) is derived by
":vndksp" from "sphal" namespace.
Bug: n/a
Test: ./rundiff.sh
=> no significant changes
Test: build & device boots
Merged-In: Ib2c78cde05b745d6b1e2b06b88e40446c0ddd4f0
Change-Id: Ib2c78cde05b745d6b1e2b06b88e40446c0ddd4f0
(cherry picked from commit
e70d72dda438ab1629e6df42cda917a8b69cbb01)
Treehugger Robot [Wed, 5 Aug 2020 05:42:55 +0000 (05:42 +0000)]
Merge "Update codebase with static analysis result" am:
53edf3a707 am:
509f0f0a7c
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1386196
Change-Id: I8eefb05bffc867a6a9b48c3fb89ff89b0b89ce82
Treehugger Robot [Wed, 5 Aug 2020 05:27:06 +0000 (05:27 +0000)]
Merge "Update codebase with static analysis result" am:
53edf3a707
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1386196
Change-Id: Ifd2d642d358df49443992e80dc83b62f6836096b
Treehugger Robot [Wed, 5 Aug 2020 05:15:47 +0000 (05:15 +0000)]
Merge "Update codebase with static analysis result"
Kiyoung Kim [Mon, 3 Aug 2020 14:15:52 +0000 (23:15 +0900)]
Update codebase with static analysis result
There were some issues reported by code static analysis tool. This
change includes update from the result with applicable items.
Test: cf booted & atest passed
Change-Id: I7d8e4e6c8dc1fc5893ab1d2365eb64fce47db220
Merged-In: I7d8e4e6c8dc1fc5893ab1d2365eb64fce47db220
Jooyung Han [Tue, 4 Aug 2020 15:37:27 +0000 (15:37 +0000)]
Revert "Read apex-info-file.xml to distinguish vendor apex" am:
c7d6009332 am:
c5a30bfaa7 am:
2b28adef43
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387131
Change-Id: I4d03a1aa792c5092a4e0e51f3098236ac527fa97
Jooyung Han [Tue, 4 Aug 2020 15:37:26 +0000 (15:37 +0000)]
Revert "Fix "vndk" namespace for vendor apexes" am:
51a4427649 am:
58ab18bc1d am:
8fef232e3d
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387130
Change-Id: I84e8effcec9ae0bcfff560ada9144c6f08969e8e
Jooyung Han [Tue, 4 Aug 2020 15:26:02 +0000 (15:26 +0000)]
Revert "Read apex-info-file.xml to distinguish vendor apex" am:
c7d6009332 am:
c5a30bfaa7
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387131
Change-Id: Ibefe240e7228263607f01c722abeaa4129f5c1d7
Jooyung Han [Tue, 4 Aug 2020 15:26:01 +0000 (15:26 +0000)]
Revert "Fix "vndk" namespace for vendor apexes" am:
51a4427649 am:
58ab18bc1d
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387130
Change-Id: I0bb1a74bb3865fa3790dcce249a19b9cd4f5968d
Jooyung Han [Tue, 4 Aug 2020 15:08:01 +0000 (15:08 +0000)]
Revert "Read apex-info-file.xml to distinguish vendor apex" am:
c7d6009332
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387131
Change-Id: I90242e1d91f0a401e4c1768d97a8000a5e4f7f91
Jooyung Han [Tue, 4 Aug 2020 15:07:59 +0000 (15:07 +0000)]
Revert "Fix "vndk" namespace for vendor apexes" am:
51a4427649
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1387130
Change-Id: I9d2401e3330b89c591e3dfae1c393b500350c6ac
Jooyung Han [Tue, 4 Aug 2020 11:23:55 +0000 (20:23 +0900)]
Revert "Read apex-info-file.xml to distinguish vendor apex"
This reverts commit
d32f7fa2697f38898c8c07459796bc823fa34666.
Reason: breaks master-art
Bug:
162819454
Test: m nothing
Change-Id: Ia658a473d5957f7ffef9851449559ce92961a991
Jooyung Han [Tue, 4 Aug 2020 11:23:47 +0000 (20:23 +0900)]
Revert "Fix "vndk" namespace for vendor apexes"
This reverts commit
5e40c4c723c4582ca334d2a1e2ec2ad5dda3b078.
Reason: breaks master-art branch
Bug: n/a
Test: m nothing
Change-Id: Ic918465aa629045049ccd76b564e5e2c9cdf8761
Jooyung Han [Tue, 4 Aug 2020 04:23:20 +0000 (04:23 +0000)]
Merge changes from topic "vndk-apex-build" am:
45f1026c2c am:
40991498ac am:
691c40fbfd
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376877
Change-Id: Idbe760301155b76f5ae5d311978ee005849ea91c
Jooyung Han [Tue, 4 Aug 2020 04:23:18 +0000 (04:23 +0000)]
Read apex-info-file.xml to distinguish vendor apex am:
d32f7fa269 am:
1fcee56ec8 am:
5ac21b5e8e
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376876
Change-Id: I7bd38dcf0629a4ca68f759cc47863ee83cf0e6d6
Jooyung Han [Tue, 4 Aug 2020 03:54:34 +0000 (03:54 +0000)]
Merge changes from topic "vndk-apex-build" am:
45f1026c2c am:
40991498ac
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376877
Change-Id: I1dcc3d71c1dc160a38cf524b1df7681fb7da37f4
Jooyung Han [Tue, 4 Aug 2020 03:54:32 +0000 (03:54 +0000)]
Read apex-info-file.xml to distinguish vendor apex am:
d32f7fa269 am:
1fcee56ec8
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376876
Change-Id: I3742fcef5464d277dc23fb824ea1cfca7b4e5f4d
Jooyung Han [Tue, 4 Aug 2020 03:31:04 +0000 (03:31 +0000)]
Merge changes from topic "vndk-apex-build" am:
45f1026c2c
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376877
Change-Id: Ide13bb28ae65ab5e67f542dae6e5bfd9f8ca2a93
Jooyung Han [Tue, 4 Aug 2020 03:31:02 +0000 (03:31 +0000)]
Read apex-info-file.xml to distinguish vendor apex am:
d32f7fa269
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1376876
Change-Id: Idf3ab6c1abc201dc5d55569af601a28fd6658e8b
Jooyung Han [Tue, 4 Aug 2020 03:11:49 +0000 (03:11 +0000)]
Merge changes from topic "vndk-apex-build"
* changes:
Fix "vndk" namespace for vendor apexes
Read apex-info-file.xml to distinguish vendor apex
Kiyoung Kim [Mon, 3 Aug 2020 04:45:00 +0000 (04:45 +0000)]
Merge "Mark vndk_in_system namespace as invisible" am:
edf3069eed am:
ba2949d0a8 am:
4c76ce68cb
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1382120
Change-Id: I37348ab9324d792699b26531c61385058656ae43
Kiyoung Kim [Mon, 3 Aug 2020 04:32:41 +0000 (04:32 +0000)]
Merge "Mark vndk_in_system namespace as invisible" am:
edf3069eed am:
ba2949d0a8
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1382120
Change-Id: I795f39ab324c64504413cbebbef00e027138896d
Kiyoung Kim [Mon, 3 Aug 2020 04:11:56 +0000 (04:11 +0000)]
Merge "Mark vndk_in_system namespace as invisible" am:
edf3069eed
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1382120
Change-Id: Ib5ecc399174a9e7e482575cbc74e5cb83690db4c
Jooyung Han [Mon, 3 Aug 2020 04:00:48 +0000 (04:00 +0000)]
vndk: add vendor/lib or product/lib to search_path am:
d258eba1c4 am:
baf1c90894 am:
bd238feb1f
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1385027
Change-Id: Iac57365a1454f1871c9bd0c3372e168ad932503b
Kiyoung Kim [Mon, 3 Aug 2020 03:57:46 +0000 (03:57 +0000)]
Merge "Mark vndk_in_system namespace as invisible"
Jooyung Han [Mon, 3 Aug 2020 03:45:31 +0000 (03:45 +0000)]
vndk: add vendor/lib or product/lib to search_path am:
d258eba1c4 am:
baf1c90894
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1385027
Change-Id: I9b49785ebf5f00ffcec4e1cd7883d7ead33f78b7
Jooyung Han [Wed, 29 Jul 2020 16:37:30 +0000 (01:37 +0900)]
Fix "vndk" namespace for vendor apexes
"vndk" namespace for non-system use cases (e.g. vendor section, vendor
apex, etc) should have /vndk as well as /vndk-sp to support VDNK
extensions.
In the following example, "vendor_hello" is a cc_library(vendor:true)
with dependencies to libbase/libc++/liblog, which is bundled in a vendor
apex "com.android.hello".
libbase/libc++(VNDK) are from VNDK APEX and liblog(LLNDK) are from
/system/lib.
$ adb shell ldd /apex/com.android.hello/bin/vendor_hello
linux-gate.so.1 => [vdso] (0xea2b3000)
libbase.so => /apex/com.android.vndk.vS/lib/libbase.so (0xe984b000)
libc++.so => /apex/com.android.vndk.vS/lib/libc++.so (0xe9788000)
liblog.so => /system/lib/liblog.so (0xe9f44000)
libc++.so => /system/lib/libc++.so (0xe98c3000)
libc.so => /apex/com.android.runtime/lib/bionic/libc.so (0xe99dd000)
libm.so => /apex/com.android.runtime/lib/bionic/libm.so (0xe9881000)
libdl.so => /apex/com.android.runtime/lib/bionic/libdl.so (0xe99ab000)
Bug:
159576928
Test: build a vendor apex with use_vndk_as_stable
check the dependency of a binary in it
Change-Id: I04e9e72af34630e08d4828d4ff644b0ee2aa861b
Jooyung Han [Mon, 3 Aug 2020 03:22:55 +0000 (03:22 +0000)]
vndk: add vendor/lib or product/lib to search_path am:
d258eba1c4
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1385027
Change-Id: Ie1aaba4f1e350685863d336b67a82090ea1d07ac
Jooyung Han [Wed, 29 Jul 2020 16:15:18 +0000 (01:15 +0900)]
Read apex-info-file.xml to distinguish vendor apex
/apex/apex-info-file.xml is the list of all apexes with preinstalled
path. By looking up original paths, we can figure out if an apex is
from /vendor or /system even if it is updated.
Bug:
159576928
Test: build & device boots
Change-Id: Ie32b10bfbdd9c1b6026c4b0fc93b57a2af6b5da5
Jooyung Han [Fri, 31 Jul 2020 09:58:09 +0000 (18:58 +0900)]
vndk: add vendor/lib or product/lib to search_path
"vndk" namespace have vendor/lib/vndk first in search paths so that VNDK
extension libraries have higher proiorty than normal VNDK libs.
However, VNDK extensions are allowed to use vendor libraries
(/vendor/lib). This was enabled by linking "sphal" namespace.
It was a bit weird because sphal namespace links vndk and vndk links
sphal again.
Moreover, "vndk_product" namespace can't link to /product/lib. We could
have "product" namespace and link it from vndk_product.
But instead, we add /vendor/lib to the search paths of "vndk" namespace
and /product/lib to "vndk_product" namespace so that VNDK extensions use
libs from there.
Now we don't need to link sphal from vndk.
Bug:
162462078
Test: HelloActivityProduct loads libjni_product successfully.
Merged-In: I6c5d47239dae427194345e03522a726997389167
Change-Id: I6c5d47239dae427194345e03522a726997389167
(cherry picked from commit
87122ca998fdc6f6d404fbe0539221eb9d242ca2)
Luke Huang [Sun, 2 Aug 2020 15:52:33 +0000 (15:52 +0000)]
Cleanup for Android's inclusive language guidance am:
1fc46cc922 am:
2552a892ab am:
e5aa7f6484
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1379236
Change-Id: I86c53ee8e19743932efc68e18bf10d6e81fa2980
Luke Huang [Sun, 2 Aug 2020 15:26:49 +0000 (15:26 +0000)]
Cleanup for Android's inclusive language guidance am:
1fc46cc922 am:
2552a892ab
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1379236
Change-Id: Ic3a72bd97c5513f0cc9665603c063c371d3733c6
Luke Huang [Sun, 2 Aug 2020 15:02:38 +0000 (15:02 +0000)]
Cleanup for Android's inclusive language guidance am:
1fc46cc922
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1379236
Change-Id: I9698e9638aefe7d808ce5f90fde828e3b701a1a9
Kiyoung Kim [Fri, 31 Jul 2020 08:24:28 +0000 (17:24 +0900)]
Mark vndk_in_system namespace as invisible
vndk_in_system namespace is visible currently. However, this namespace
should be invisible as it exists within vendor section and contains
system library paths, so mark this as visible can cause disallowed
access from vendor binary to system libs. This change marks
vndk_in_system namespace as invisible.
Bug:
161076708
Test: Cuttlefish Go phone GTS test passed
Change-Id: If82cc9c1cc279125bed9977d1bcdc930e45880db
Luke Huang [Thu, 30 Jul 2020 06:05:33 +0000 (14:05 +0800)]
Cleanup for Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code
for reference.
Bug:
161896447
Test: atest
Change-Id: I3afbccdb8fee2a8aa89978c8f26ebca2d3216f05
Jooyung Han [Wed, 29 Jul 2020 00:50:18 +0000 (00:50 +0000)]
Make diff test as presubmit am:
fcaa89aac3 am:
14f279c468 am:
adc41acc49
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1264240
Change-Id: Ie370787528c41086ae03db1009a3616e137a4899
Jooyung Han [Wed, 29 Jul 2020 00:26:35 +0000 (00:26 +0000)]
Make diff test as presubmit am:
fcaa89aac3 am:
14f279c468
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1264240
Change-Id: Ibc1bc24be0b70e3bbaefd8ce81bcfda5bb376640
Jooyung Han [Wed, 29 Jul 2020 00:05:26 +0000 (00:05 +0000)]
Make diff test as presubmit am:
fcaa89aac3
Original change: https://android-review.googlesource.com/c/platform/system/linkerconfig/+/
1264240
Change-Id: Ic6a90432672fe19093e012bafc1339a113cc2844