OSDN Git Service
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Martin Stjernholm [Wed, 2 Oct 2019 19:47:12 +0000 (20:47 +0100)]
Ensure all namespaces have links to /system/lib(64) for the sanitizer libs.
Every namespace that have links to Bionic should also link to
SANITIZER_RUNTIME_LIBRARIES, without exception. Hence a common function
ctx.AddStandardSystemLinks is added to handle it.
Also remove links to the runtime namespace, since all sanitizer libs,
including the hwasan one, now should be loaded from /system/lib(64).
Test: atest system/linkerconfig/
Test: m linkerconfig && \
out/host/linux-x86/bin/linkerconfig --root out/target/product/taimen --vndk R
before and after change, check that the diffs are expected:
http://gpaste/
4942871205511168
Bug:
140790209
Change-Id: Ib5315b59c22703da295a5ef6d556c0a945f872af
Martin Stjernholm [Sat, 5 Oct 2019 17:15:35 +0000 (18:15 +0100)]
Make link creation additive.
Replace CreateLink with GetLink, which returns the existing link if any, or
else creates it. Also set allow_all_shared_libs separately, which will
override any list of explicitly set libs. This makes link creation additive:
different functions may add links, or set allow_all_shared_libs, without
knowledge of each other.
Test: m linkerconfig && \
out/host/linux-x86/bin/linkerconfig --root out/target/product/taimen --vndk R
before and after the change, and check that there are no diffs.
Test: atest system/linkerconfig/
Bug:
140790209
Change-Id: Ida8acf0b003797df4945359c43de7e8819c4166e
Martin Stjernholm [Wed, 2 Oct 2019 14:28:11 +0000 (15:28 +0100)]
Rename the runtime linker namespace following ART/Runtime APEX split.
Also carry over the applicable TODOs and other comments from ld.config.txt
for the art namespace.
Test: Build & boot
Bug:
139408016
Change-Id: Ib33d544ab6a2871c4b6ff64fb10e7925ede5ace6
Jiyong Park [Wed, 2 Oct 2019 07:01:35 +0000 (16:01 +0900)]
Add a link from runtime ns to the neuralnetworks ns
libneuralnetworks.so could be preloaded. In that case, it should be
accessible from libnativeloader which runs in the runtime namespace.
Bug:
141847343
Test: m, device boots
Change-Id: Ie1e17a433fb64cc31d1bbc7fa8945fa36c82aea8
Kiyoung Kim [Fri, 27 Sep 2019 08:45:10 +0000 (17:45 +0900)]
Trim whitespace while loading library list file
Trim leading and trailing whitespaces from library list file to get
exact library file name
Bug:
141695559
Test: m -j && atest passed
Change-Id: I26078597323229f01e3d88f05188a7a717f3cf2c
Kiyoung Kim [Fri, 27 Sep 2019 05:06:54 +0000 (14:06 +0900)]
Load VNDK using core variant library list
VNDK_USING_CORE_VARIANT is not implemented previously as it is only
handled from specific devices. To handle this properly new logic is
added to load library list from library list file in system image.
Bug:
141695559
Test: m -j passed & Tested from Cuttlefish
Change-Id: Idfbcda5ff99bfb1dc13c35da06b977b5b5ea0494
Jooyung Han [Thu, 26 Sep 2019 14:23:50 +0000 (23:23 +0900)]
Make linkerconfig support host
By supplying two additional args for host running
--root <root dir>
--vndk <vndk version>
one can run linkerconfig and see the resulting ld.config.txt
Some input files are found under <root>/system/etc with <vndk version>.
For example, out/target/vsoc_x86/system/etc/llndk.libraries.29.txt
Bug:
141660636
Test: m linkerconfig
Test: linkerconfig --root $OUT --vndk 29
Change-Id: I4aeab731a17764d7aa7e508842eae620f55f781e
Kiyoung Kim [Wed, 25 Sep 2019 04:08:20 +0000 (13:08 +0900)]
Add libneuralnetworks_packageinfo.so in neuralnetworks link
Link to libneuralnetworks_packageinfo.so is added in ld.config.txt but
missed from linker config generator.
Adding this to fix linking issue from neuralnetworks.
Bug:
139282353
Test: m -j && atest passed
Change-Id: I1fa58f645a348e6a8760b3e51fd5837ff1a3161f
Kiyoung Kim [Tue, 24 Sep 2019 06:35:54 +0000 (15:35 +0900)]
Maintain directory to section map in manual
Order of directory to section map was maintained automatically in
reverse dictionary order. However, this made a problem that /vendor/bin
comes first which caused sepolicy errors from system binaries. To
resolve this kinds of issues, order of map should be maintained in
manual.
Bug:
141524071
Test: m -j && atest passed
Test: Tested from Cuttlefish
Change-Id: Ibb4364e15eee63ac0af30c20e808847f2cdcf1e8
Kiyoung Kim [Wed, 11 Sep 2019 03:26:38 +0000 (03:26 +0000)]
Merge "Create full test for ld.config.txt content"
Treehugger Robot [Thu, 5 Sep 2019 23:35:22 +0000 (23:35 +0000)]
Merge "Update path to the new ART APEX."
Kiyoung Kim [Wed, 21 Aug 2019 10:46:51 +0000 (19:46 +0900)]
Create full test for ld.config.txt content
There are some module level unit tests and backward compatibility tests,
but still there is no test that verifies ld.config.txt content is
valid in terms of syntax and also context. To test both
features in basic level, this change adds full content test which parses
content and checks if every context (such as path exists and links
between namespace is valid) is able to be used by linker.
Bug:
139639353
Test: m -j && atest passed
Change-Id: I58255ccc6602f6bcb86b897fc89f5581ccc18f08
Martin Stjernholm [Wed, 17 Jul 2019 21:26:30 +0000 (22:26 +0100)]
Update path to the new ART APEX.
Test: atest system/linkerconfig/
Test: presubmits
Bug:
135753770
Change-Id: I5ed3907fdddcbe9d720af41b01183f446e899acd
Jooyung Han [Thu, 29 Aug 2019 16:40:46 +0000 (09:40 -0700)]
Merge "remove link from rs to vndk"
am:
5fc7297464
Change-Id: I8f3dacbeaad0c0c308c3e798cf8f49e9a3b68bbd
Treehugger Robot [Thu, 29 Aug 2019 16:18:27 +0000 (16:18 +0000)]
Merge "remove link from rs to vndk"
Kiyoung Kim [Wed, 21 Aug 2019 01:58:30 +0000 (18:58 -0700)]
Use enum for ASAN path
am:
405bfc9ac2
Change-Id: I5422a7caae10238d0c4738f552681f549680e564
Jooyung Han [Tue, 20 Aug 2019 07:16:28 +0000 (16:16 +0900)]
remove link from rs to vndk
Linker namespace 'rs' has /system/lib/vndk-sp in its search paths.
So we don't need to link 'rs' namespace to 'vndk' namespace.
Bug:
139706981
Test: run RS-using apps from Play
Change-Id: Ic0d856ff75330086dbf8a75b92c44defa70f0c42
Kiyoung Kim [Fri, 16 Aug 2019 03:54:23 +0000 (12:54 +0900)]
Use enum for ASAN path
Currently there are two boolean arguments for search / permitted path to
define ASAN path, but it is not easy to understand each boolean value
and hard to block invalid case where path does not exist in asan but
data/asan path does. To fix this new enum class has been added to
describe ASAN path preference, so it can add more readability to
configuration codes.
Test: m -j && atest passed
Change-Id: I4688e949a23af013c6db06df2dd471cfd442e4e8
Kiyoung Kim [Tue, 13 Aug 2019 01:25:47 +0000 (18:25 -0700)]
Update linkerconfig up to date
am:
ac298bb8b9
Change-Id: Ie59e57ba1474b87db818d706fed5fe30458f58e4
Kiyoung Kim [Fri, 9 Aug 2019 09:42:23 +0000 (02:42 -0700)]
Resolve dir path in early stage
am:
eba3ed1a97
Change-Id: Iecd401ef92cb0118cdd85fecab9d933aa0bd2240
Kiyoung Kim [Wed, 7 Aug 2019 10:13:09 +0000 (19:13 +0900)]
Update linkerconfig up to date
Current implementation is based on old ld.config.txt, so it should be up
to date before actually being used. This change keeps generated
ld.config.txt same with current one under /system/etc
Test: m -j && Cuttlefish, compared with ld.config.txt from latest master
Change-Id: If739c907cc21c4572d5e22edfa18f6b3d04e3aa6
Kiyoung Kim [Wed, 7 Aug 2019 10:10:17 +0000 (19:10 +0900)]
Resolve dir path in early stage
Linkerconfig generator sorts dir path in revert order, so when a dir is
subdirectory of other dir, then subdirectory can be mentioned earlier.
However, this sorting occured before resolving environmental variables,
so this list was failing to be kept in actual reverse order. To fix this
issue, dir path should be resolved before it is collected by generator.
Test: m -j && tested from cuttlefish
Change-Id: I21f88cca25fef37e080dc1c1cb68e7a0c0186b4f
Kiyoung Kim [Thu, 25 Jul 2019 10:43:35 +0000 (03:43 -0700)]
Load variables on runtime
am:
853438d3c4
Change-Id: I955fa6a47392a479064ffe02ef3762bf9dc6c9d8
Kiyoung Kim [Tue, 16 Jul 2019 00:51:14 +0000 (09:51 +0900)]
Load variables on runtime
Some of the variables can be loaded from runtime based on the
environment. These variables should be loaded in various ways based on
the characteristic of each variable.
Bug:
137511540
Test: m -j && tested from cuttlefish
Change-Id: I03018eb93995270c2b2d06c267001ab33014ed7b
Kiyoung Kim [Tue, 23 Jul 2019 10:45:19 +0000 (03:45 -0700)]
Enable Kernel Logging
am:
e3bad04885
Change-Id: I15f45558c53dad84f1798655ef7c9a349402ebb2
Kiyoung Kim [Tue, 23 Jul 2019 04:38:34 +0000 (13:38 +0900)]
Enable Kernel Logging
As Linkerconfig will be executed from init, logs from generating
linkerconfig can be detected from kernel log. To enable this, there
should be some configuration added in main function.
Test: m -j & Tested from Cuttlefish
Change-Id: I86c281a915ebafb8ecfafc2117d64f45657e7d20
Kiyoung Kim [Tue, 16 Jul 2019 00:39:41 +0000 (17:39 -0700)]
Make linkerconfig as static executable
am:
15e3835dd9
Change-Id: Id32871ea5849d53a46b59c4e243d791ac4026a43
Kiyoung Kim [Thu, 11 Jul 2019 08:07:03 +0000 (17:07 +0900)]
Make linkerconfig as static executable
Linkerconfig should be executed since early init stage. To do this,
linkerconfig better be static executable so it does not need to link
with libc++.
Bug:
135004088
Test: m -j && Tested from device
Change-Id: Iccf288e30ecf0ec1d65d531d0c6b12cd255a8a2b
Justin Yun [Mon, 1 Jul 2019 01:05:59 +0000 (18:05 -0700)]
Rename product_servicies to system_ext am:
3894a11483
am:
9e3e0e66d9
Change-Id: Ia4c9aa3eb315af9bb124a394bdeda2a19d5fc7dc
Justin Yun [Mon, 1 Jul 2019 00:49:55 +0000 (17:49 -0700)]
Rename product_servicies to system_ext
am:
3894a11483
Change-Id: Ib4ed981551c5ff15465857f086999a5280d00327
Justin Yun [Fri, 28 Jun 2019 08:25:01 +0000 (17:25 +0900)]
Rename product_servicies to system_ext
Bug:
134359158
Test: make
Change-Id: Ibc45599efe8448a1d468a67a615a600a6b5d2218
Kiyoung Kim [Thu, 30 May 2019 05:53:36 +0000 (22:53 -0700)]
Merge "Make executable binary for LinkerConfig" am:
d6a3e8f3f6
am:
3ea3762fd4
Change-Id: I61d562fa34f5f12d11e0211e9b7cab893f21636d
Kiyoung Kim [Thu, 30 May 2019 05:48:35 +0000 (22:48 -0700)]
Merge "Make executable binary for LinkerConfig"
am:
d6a3e8f3f6
Change-Id: I9a78d04237964c6b41222df45940c3cdd132d404
Kiyoung Kim [Thu, 30 May 2019 05:31:26 +0000 (05:31 +0000)]
Merge "Make executable binary for LinkerConfig"
Kiyoung Kim [Thu, 23 May 2019 02:04:20 +0000 (11:04 +0900)]
Make executable binary for LinkerConfig
Create binary module for LinkerConfig
Change-Id: Ic51d29139a62f15ba8bf1dc4e2df5267f6995f77
Bugs:
123722631
Test: m -j & Tested from device
Kiyoung Kim [Wed, 15 May 2019 02:21:50 +0000 (19:21 -0700)]
Manage dir list without priority am:
96a4388208
am:
a653844425
Change-Id: I7ece1ad8a7e29a950cb1c7b1f7ed8d8a3feb74d0
Kiyoung Kim [Wed, 15 May 2019 01:55:34 +0000 (18:55 -0700)]
Manage dir list without priority
am:
96a4388208
Change-Id: I8fa86da3566b1def63426a884c271040b4599256
Kiyoung Kim [Mon, 13 May 2019 08:19:51 +0000 (17:19 +0900)]
Manage dir list without priority
Dir priority was introduced to manage priorities between multiple dirs
over multiple sections. However, since the purpose of priority was not
to hide subdir over parent dir, this can be solved to keep subdir upper
than parent dir. To make this simple, dirs can be kept in reverse string
order.
Change-Id: I4e9a2a1167902c8b27ff2846bc170b5c356f084f
Bugs:
123722631
Test: m -j && atest
Kiyoung Kim [Fri, 10 May 2019 09:14:49 +0000 (02:14 -0700)]
Merge "Replace shared_ptr with plain object" am:
9114ffd85e
am:
2ec037b87f
Change-Id: I2c39e6ea7c0429054fc6d63e0855bcfed691daf2
Kiyoung Kim [Fri, 10 May 2019 08:15:16 +0000 (01:15 -0700)]
Merge "Replace shared_ptr with plain object"
am:
9114ffd85e
Change-Id: I1e66528aba1d2e51049ed0fa37d781e0d3dcb31d
Kiyoung Kim [Fri, 10 May 2019 05:59:30 +0000 (05:59 +0000)]
Merge "Replace shared_ptr with plain object"
Kiyoung Kim [Thu, 9 May 2019 05:03:43 +0000 (14:03 +0900)]
Replace shared_ptr with plain object
Currently most of objects are managed with shared_ptr. However, as these
objects are not being shared, it can be managed with plain object. To
make it simple, it would be better to remove all shared_ptr in use.
Bug:
123722631
Test: m -j & atest passed
Change-Id: I16fbf8bc63f016dc0603e1081164fbaabcb32d8e
Kiyoung Kim [Wed, 24 Apr 2019 01:27:48 +0000 (18:27 -0700)]
Implement Legacy and base configuration am:
ff9cbf7c6c
am:
cc848940c5
Change-Id: I1ad8219deb122d1059dc9c148d4aa8ed6fd26977
Kiyoung Kim [Wed, 24 Apr 2019 01:07:40 +0000 (18:07 -0700)]
Implement Legacy and base configuration
am:
ff9cbf7c6c
Change-Id: I283a5381acc2002c2a5226006236a33265a99f39
Kiyoung Kim [Thu, 14 Mar 2019 09:26:24 +0000 (18:26 +0900)]
Implement Legacy and base configuration
Implement legacy and base configuration as first configuration from linkerconfig.
Implement backward compatibility test to track folders from vendor.
Bug:
123722631
Test: m -j && atest
Change-Id: I2a33faffa03a73bd2ed0bfe92de367d635767472
Kiyoung Kim [Wed, 13 Mar 2019 11:59:08 +0000 (04:59 -0700)]
Create writer and handle environment variable am:
6d7cb59052 am:
37b436b189
am:
17cc1a0fa5
Change-Id: Ieb520cb1254421149fa9e035a2a2b1490dfba649
Kiyoung Kim [Wed, 13 Mar 2019 11:55:07 +0000 (04:55 -0700)]
Create writer and handle environment variable am:
6d7cb59052
am:
37b436b189
Change-Id: I68a7e94af78bdedf58d31762b10cb6aae399c5d4
Kiyoung Kim [Wed, 13 Mar 2019 11:51:05 +0000 (04:51 -0700)]
Create writer and handle environment variable
am:
6d7cb59052
Change-Id: I4433dffb56fb2ba156017564858548173734912b
Kiyoung Kim [Wed, 13 Mar 2019 06:07:57 +0000 (15:07 +0900)]
Create writer and handle environment variable
To handle better with generating configuration and resolving variables,
new modules are introduced - ConfigWriter and Variables.
Bug:
123722631
Test: m -j && atest
Change-Id: Ibd44d5f93d566ce6d9bc04d474de83ec1e5e8ff4
Kiyoung Kim [Tue, 12 Mar 2019 07:10:36 +0000 (00:10 -0700)]
Define modules for linker config am:
7d422b30e4 am:
f1cd620730
am:
0e2e81215a
Change-Id: I6ee96f92cd15002970d98d4a825daa7a421fbee3
Kiyoung Kim [Tue, 12 Mar 2019 07:06:35 +0000 (00:06 -0700)]
Define modules for linker config am:
7d422b30e4
am:
f1cd620730
Change-Id: I73f51b0a6cc59892d4b15ebe7b427fca683299ef
Kiyoung Kim [Tue, 12 Mar 2019 07:02:33 +0000 (00:02 -0700)]
Define modules for linker config
am:
7d422b30e4
Change-Id: Idefba3fe241e2fc37b3cdc1baf4a5e2f279e3c65
Kiyoung Kim [Tue, 5 Mar 2019 08:06:13 +0000 (17:06 +0900)]
Define modules for linker config
Define modules for linker config and implement config string generator
for each modules.
Bug:
123722631
Test: m -j && atest linkerconfig_modules_unittest
Change-Id: Id9a234830c381267c23ec7af657f354d51a58889
Thomas Joseph Avila [Tue, 26 Feb 2019 00:46:43 +0000 (16:46 -0800)]
Initial empty repository