OSDN Git Service

android-x86/system-linkerconfig.git
4 years agoMerge "Trim root path from output" am: b7c162435b am: 89b12b6f0b
Automerger Merge Worker [Fri, 21 Feb 2020 10:43:45 +0000 (10:43 +0000)]
Merge "Trim root path from output" am: b7c162435b am: 89b12b6f0b

Change-Id: Ic8b6bf9400f312efd3b4df56ebd36b37c2887d89

4 years agoMerge "Trim root path from output" am: b7c162435b
Automerger Merge Worker [Fri, 21 Feb 2020 10:27:08 +0000 (10:27 +0000)]
Merge "Trim root path from output" am: b7c162435b

Change-Id: If7db732fa5a1e267c777c0610608dc3492a77749

4 years agoMerge "Define vndk_product namespace for product apps" am: 6eb18354c1 am: 7df20a75d3
Automerger Merge Worker [Fri, 21 Feb 2020 10:22:28 +0000 (10:22 +0000)]
Merge "Define vndk_product namespace for product apps" am: 6eb18354c1 am: 7df20a75d3

Change-Id: I98e7a8604acbc0d324d3ed831f92b8b84788b944

4 years agoMerge "Trim root path from output"
Treehugger Robot [Fri, 21 Feb 2020 10:14:36 +0000 (10:14 +0000)]
Merge "Trim root path from output"

4 years agoMerge "Define vndk_product namespace for product apps" am: 6eb18354c1
Automerger Merge Worker [Fri, 21 Feb 2020 10:00:19 +0000 (10:00 +0000)]
Merge "Define vndk_product namespace for product apps" am: 6eb18354c1

Change-Id: Ifde5ffcae2bdad31e068f2fabfbe9a1838b14a21

4 years agoMerge "Define vndk_product namespace for product apps"
Treehugger Robot [Fri, 21 Feb 2020 09:38:26 +0000 (09:38 +0000)]
Merge "Define vndk_product namespace for product apps"

4 years agoMerge "Make /linkerconfig/<apexname> directories accessible to others" am: b52f719faf...
Automerger Merge Worker [Fri, 21 Feb 2020 07:51:43 +0000 (07:51 +0000)]
Merge "Make /linkerconfig/<apexname> directories accessible to others" am: b52f719faf am: bc9db82bf5

Change-Id: Id37a319f81c2b66968fd3d818d325aaab7c0956e

4 years agoMerge "Make /linkerconfig/<apexname> directories accessible to others" am: b52f719faf
Automerger Merge Worker [Fri, 21 Feb 2020 07:37:41 +0000 (07:37 +0000)]
Merge "Make /linkerconfig/<apexname> directories accessible to others" am: b52f719faf

Change-Id: Id755473867942a98d93d1091a3e7556fccbd43bd

4 years agoMerge "Make /linkerconfig/<apexname> directories accessible to others"
Treehugger Robot [Fri, 21 Feb 2020 07:14:12 +0000 (07:14 +0000)]
Merge "Make /linkerconfig/<apexname> directories accessible to others"

4 years agoTrim root path from output
Jooyung Han [Thu, 20 Feb 2020 09:21:03 +0000 (18:21 +0900)]
Trim root path from output

When linkerconfig runs on host with --root argument, it prints root as
well like following:

$ linkerconfig --vndk R --root /tmp/test_root
...
namespace.foo.search_paths = /tmp/test_root/product/${LIB}
..

This change trims root from path variables and apex paths so the output
look more like real output.

Bug: n/a
Test: build/boot
      run linkerconfig on host and compare outputs

Change-Id: Icc91f297047f059684a42d825048e50e26873520

4 years agoMake /linkerconfig/<apexname> directories accessible to others
Jiyong Park [Fri, 21 Feb 2020 04:56:52 +0000 (13:56 +0900)]
Make /linkerconfig/<apexname> directories accessible to others

When linkerconfig is exec'ed by init, umask is by default set to 0x0077.
As a result, even though we create the directories with mkdir(...,
0755), they are marked as inaccessible for group and others.

Fixing the issue by explicitly setting umask to 0x0022.

Bug: 144914078
Test: build a device with flattened APEX. Check the mode bits of the
directories of under /linkerconfig.

$ ls -al /linkerconfig
total 96
drwxr-xr-x  9 root root   200 2020-02-21 13:47 .
drwxr-xr-x 22 root root  4096 2020-02-21 13:54 ..
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.adbd
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.art
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.conscrypt
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.media.swcodec
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.os.statsd
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.runtime
drwx--xr-x  2 root root    60 2020-02-21 13:47 com.android.sdkext
-rw-r--r--  1 root root 91651 2020-02-21 13:47 ld.config.txt

Change-Id: Id2f7f8a363ba239943942ba6e3bc984cd8f630b0

4 years agoDefine vndk_product namespace for product apps
Justin Yun [Tue, 18 Feb 2020 06:01:51 +0000 (15:01 +0900)]
Define vndk_product namespace for product apps

Unbundled apps may use vndk-sp libs from the system section. However,
product apps must use the vndk-sp libs for the product vndk version
that can be different from the vendor vndk version. So we must define
a vndk namespace for product partition.

For this purpose, BuildVndkNamespace() function requires an
additional parameter to indicate which partition is using the
namespace.
Using this function, the system section has an additional namespace
called "vndk_product" which is used only for unbundled product apps.

Test: atest linkerconfig_modules_unittest
Bug: 149063221
Change-Id: I3658efdc75e5c9a0ac3b92b9afc68aff2d4cb300

4 years agoMerge "Rename APEX Namespace" am: 52120b489b am: 6e1b2ec7ac
Automerger Merge Worker [Fri, 21 Feb 2020 01:22:19 +0000 (01:22 +0000)]
Merge "Rename APEX Namespace" am: 52120b489b am: 6e1b2ec7ac

Change-Id: Ie27efc805d25e509576981f7ae03cc70cb555153

4 years agoMerge "Rename APEX Namespace" am: 52120b489b
Automerger Merge Worker [Fri, 21 Feb 2020 01:12:02 +0000 (01:12 +0000)]
Merge "Rename APEX Namespace" am: 52120b489b

Change-Id: I1ad4220320ce62274f553afa7e81b322e82e1f51

4 years agoMerge "Rename APEX Namespace"
Kiyoung Kim [Fri, 21 Feb 2020 01:04:37 +0000 (01:04 +0000)]
Merge "Rename APEX Namespace"

4 years agoMerge "Fix full content test" am: 9fa8d06ecc am: 9873f73464
Automerger Merge Worker [Fri, 21 Feb 2020 00:16:45 +0000 (00:16 +0000)]
Merge "Fix full content test" am: 9fa8d06ecc am: 9873f73464

Change-Id: I12c6f0f14516ab2e0306d3bdf7a4779ecbd78a54

4 years agoMerge "Fix full content test" am: 9fa8d06ecc
Automerger Merge Worker [Fri, 21 Feb 2020 00:07:01 +0000 (00:07 +0000)]
Merge "Fix full content test" am: 9fa8d06ecc

Change-Id: I41c27ed81cfb803954d773a07a4d0747bea4b33f

4 years agoMerge "Fix full content test"
Kiyoung Kim [Thu, 20 Feb 2020 23:46:39 +0000 (23:46 +0000)]
Merge "Fix full content test"

4 years agoFix full content test
Kiyoung Kim [Thu, 20 Feb 2020 09:04:23 +0000 (18:04 +0900)]
Fix full content test

Full content test was not working properly because the way of checking
if VNDK is enabled has been changed. This fix generates test context to
mock it available for VNDK.

Test: atest passed
Change-Id: I46064d1d5505dc5c6af438e69faae166dee9dc58

4 years agoRename APEX Namespace
Kiyoung Kim [Wed, 19 Feb 2020 07:26:03 +0000 (16:26 +0900)]
Rename APEX Namespace

Current APEX Namespace is named with APEX name itself, which also uses
.(dot) so linker configuration can keep the syntax safe. Update name of
namespace from APEX by replacing '_' with '.' so keep configuration safe
for future syntax update.

Bug: 148826508
Test: m -j passed
Test: boot succeeded from cuttlefish and walleye
Change-Id: I9185c909678e2e39d539622d51d8f378b819b466

4 years agoAdd com.android.os.statsd to legacy linkerconfig am: 2b465ce881 am: 6f3a53b4ec
Automerger Merge Worker [Wed, 19 Feb 2020 04:20:25 +0000 (04:20 +0000)]
Add com.android.os.statsd to legacy linkerconfig am: 2b465ce881 am: 6f3a53b4ec

Change-Id: Id4711bdabc9a4eb5f123a83d53afb029fc948b4b

4 years agoAdd com.android.os.statsd to legacy linkerconfig am: 2b465ce881
Automerger Merge Worker [Wed, 19 Feb 2020 04:06:42 +0000 (04:06 +0000)]
Add com.android.os.statsd to legacy linkerconfig am: 2b465ce881

Change-Id: Ib2a29f358385d1b67a27f58e900dcd76a2efa20f

4 years agoAdd com.android.os.statsd to legacy linkerconfig
Garfield Tan [Wed, 19 Feb 2020 01:43:36 +0000 (17:43 -0800)]
Add com.android.os.statsd to legacy linkerconfig

Similar to aosp/1237667, but for legacy stuff.

Bug: None
Test: Legacy stuff boots.
Change-Id: Iad17f5529ea6bb520c0ee5a4071a82ffd7c2cc27

4 years agoMerge "Update linkerconfig for libs in statsd" am: 5504faa670 am: 1730a33997
Automerger Merge Worker [Tue, 18 Feb 2020 21:09:46 +0000 (21:09 +0000)]
Merge "Update linkerconfig for libs in statsd" am: 5504faa670 am: 1730a33997

Change-Id: I01042fe7ee802e5c224ff00c001219b87f32e419

4 years agoMerge "Update linkerconfig for libs in statsd" am: 5504faa670
Jeffrey Huang [Tue, 18 Feb 2020 20:50:43 +0000 (20:50 +0000)]
Merge "Update linkerconfig for libs in statsd" am: 5504faa670

Change-Id: I969a8e8828d5e9273c863688c48d6d2ba9297d95

4 years agoMerge "Update linkerconfig for libs in statsd"
Jeffrey Huang [Tue, 18 Feb 2020 18:26:53 +0000 (18:26 +0000)]
Merge "Update linkerconfig for libs in statsd"

4 years agoMerge "Add com.android.os.statsd to linkerconfig" am: 91fccce607 am: 365c145906
Treehugger Robot [Tue, 18 Feb 2020 08:27:29 +0000 (08:27 +0000)]
Merge "Add com.android.os.statsd to linkerconfig" am: 91fccce607 am: 365c145906

Change-Id: I245cf83033159721babcc7c176d3290e68d51aef

4 years agoMerge "Add com.android.os.statsd to linkerconfig" am: 91fccce607
Treehugger Robot [Tue, 18 Feb 2020 08:06:49 +0000 (08:06 +0000)]
Merge "Add com.android.os.statsd to linkerconfig" am: 91fccce607

Change-Id: Ia2aa4670b96557434b1c1c8675409e17515f00a3

4 years agoMerge "Add com.android.os.statsd to linkerconfig"
Treehugger Robot [Tue, 18 Feb 2020 07:54:26 +0000 (07:54 +0000)]
Merge "Add com.android.os.statsd to linkerconfig"

4 years agoAdd com.android.os.statsd to linkerconfig
Tej Singh [Thu, 13 Feb 2020 01:21:01 +0000 (17:21 -0800)]
Add com.android.os.statsd to linkerconfig

Adds com.android.os.statsd to System BuildSection. I believe this is to
get the namespace the proper visibility for jni.

Test: build/boots
Change-Id: Id516e79e12fde608888587ec15ab0f3358f4918d
Merged-In: Id516e79e12fde608888587ec15ab0f3358f4918d
(cherry picked from commit 91454166a50d86d2367c8ec5b4686087ecc13184)

4 years agoMerge "Remove extra using statements" am: 28133def11 am: de106d8a2d
Treehugger Robot [Tue, 18 Feb 2020 05:45:53 +0000 (05:45 +0000)]
Merge "Remove extra using statements" am: 28133def11 am: de106d8a2d

Change-Id: Ida676cfd0249a0134df4f8afa79e7e9bfd42721e

4 years agoMerge "Remove extra using statements" am: 28133def11
Treehugger Robot [Tue, 18 Feb 2020 05:30:16 +0000 (05:30 +0000)]
Merge "Remove extra using statements" am: 28133def11

Change-Id: Iab0964273993949a3eb3c0c331eb58bc75e3c5e1

4 years agoMerge "Remove extra using statements"
Treehugger Robot [Tue, 18 Feb 2020 05:20:14 +0000 (05:20 +0000)]
Merge "Remove extra using statements"

4 years agoUpdate linkerconfig for libs in statsd
Jeffrey Huang [Mon, 17 Feb 2020 19:59:58 +0000 (11:59 -0800)]
Update linkerconfig for libs in statsd

Bug: 148605160
Test: m -j
Change-Id: Idb6308e8f518536e97106c445b1945945040a4c3

4 years agoMerge "Fix Camera bug" am: 5c811ebf1c am: 4291671637
Jeffrey Huang [Fri, 14 Feb 2020 22:33:24 +0000 (22:33 +0000)]
Merge "Fix Camera bug" am: 5c811ebf1c am: 4291671637

Change-Id: I7a4bd4b68772d59e1085799bdadfe8ddfd1562f8

4 years agoMerge "Fix Camera bug" am: 5c811ebf1c
Jeffrey Huang [Fri, 14 Feb 2020 22:11:39 +0000 (22:11 +0000)]
Merge "Fix Camera bug" am: 5c811ebf1c

Change-Id: I78f49c50833251698c1fc5351e3a5ee66819e872

4 years agoMerge "Fix Camera bug"
Jeffrey Huang [Fri, 14 Feb 2020 21:57:31 +0000 (21:57 +0000)]
Merge "Fix Camera bug"

4 years agoRemove extra using statements
Tom Cherry [Fri, 14 Feb 2020 20:27:19 +0000 (12:27 -0800)]
Remove extra using statements

android::base::Errorf and android::base::ErrnoErrorf are now #define's
instead of functions, so remove their using statements.

Test: build
Change-Id: I7333b916ee87668fb9fd15b9293de5da41c43409

4 years agoFix Camera bug
Jeffrey Huang [Fri, 14 Feb 2020 20:08:20 +0000 (12:08 -0800)]
Fix Camera bug

Bug: 149538115
Test: Flash and take a picture, verified no crash
Change-Id: Idd455f8803cf6f1b1f4c95d854a6077e33bae5e1

4 years agoAllow libincident.so to be linked from apex am: 4e15bf53f0 am: b741643a5c
Jeffrey Huang [Fri, 14 Feb 2020 04:18:14 +0000 (04:18 +0000)]
Allow libincident.so to be linked from apex am: 4e15bf53f0 am: b741643a5c

Change-Id: I965b1fba687d5b8a82a11a5ce6f52ec9eea185e1

4 years agoAllow libincident.so to be linked from apex am: 4e15bf53f0
Jeffrey Huang [Fri, 14 Feb 2020 04:07:02 +0000 (04:07 +0000)]
Allow libincident.so to be linked from apex am: 4e15bf53f0

Change-Id: Iea0a310c93367544a21a0964a7985647f888ef52

4 years agoAllow libincident.so to be linked from apex
Jeffrey Huang [Thu, 13 Feb 2020 23:40:36 +0000 (15:40 -0800)]
Allow libincident.so to be linked from apex

Bug: 145923087
Test: m -j
Change-Id: I787f15750e19c5028b334161c5a7d4fa13003c6f

4 years agoFix linkerconfig_backward_compatibility_test am: 2dd4e4d2cb am: b94abc04ad
Automerger Merge Worker [Thu, 13 Feb 2020 06:54:14 +0000 (06:54 +0000)]
Fix linkerconfig_backward_compatibility_test am: 2dd4e4d2cb am: b94abc04ad

Change-Id: Ifa52778d8d084fd1b0828a6c0f1e04479eb0cf1f

4 years agoFix linkerconfig_backward_compatibility_test am: 2dd4e4d2cb
Automerger Merge Worker [Thu, 13 Feb 2020 06:42:09 +0000 (06:42 +0000)]
Fix linkerconfig_backward_compatibility_test am: 2dd4e4d2cb

Change-Id: I978ed22941f49942163419544398f8925af3ddaa

4 years agoFix linkerconfig_backward_compatibility_test
Jooyung Han [Wed, 12 Feb 2020 23:41:15 +0000 (08:41 +0900)]
Fix linkerconfig_backward_compatibility_test

The current GetValue() falls back to GetProperty(). This makes the test
show different result on different running environment. For consistent
test result, MockVariables() now overrides all product/vendor variables.

Bug: n/a
Test: atest --host linkerconfig_backward_compatibility_test
      atest linkerconfig_backward_compatibility_test

Change-Id: I4b7533e10058b0236a8aef4c54fbb58f3bec0ccc

4 years agoRead vndk libraries txt files from vndk apex am: 7c2b73a71f am: 1b5d7bf6e8
Automerger Merge Worker [Wed, 12 Feb 2020 18:57:07 +0000 (18:57 +0000)]
Read vndk libraries txt files from vndk apex am: 7c2b73a71f am: 1b5d7bf6e8

Change-Id: Ibe7a89be985750a6362ea047844c6829ef9c0508

4 years agoGenerate vendor stuff only if vndk is avilable am: 3f83cfb602 am: 3ea9bdb598
Automerger Merge Worker [Wed, 12 Feb 2020 18:57:03 +0000 (18:57 +0000)]
Generate vendor stuff only if vndk is avilable am: 3f83cfb602 am: 3ea9bdb598

Change-Id: Ia13c12dff6af00263d8b69c70f3a34ba2ce82315

4 years agoRead vndk libraries txt files from vndk apex am: 7c2b73a71f
Automerger Merge Worker [Wed, 12 Feb 2020 18:42:25 +0000 (18:42 +0000)]
Read vndk libraries txt files from vndk apex am: 7c2b73a71f

Change-Id: I24a5c1482e9a059025dac3aba1ea1e1cf485b7b2

4 years agoGenerate vendor stuff only if vndk is avilable am: 3f83cfb602
Automerger Merge Worker [Wed, 12 Feb 2020 18:42:22 +0000 (18:42 +0000)]
Generate vendor stuff only if vndk is avilable am: 3f83cfb602

Change-Id: I90769d8e5ae9ea3116454aa3bf4d43d04021a877

4 years agoRead vndk libraries txt files from vndk apex
Jooyung Han [Tue, 11 Feb 2020 23:53:51 +0000 (08:53 +0900)]
Read vndk libraries txt files from vndk apex

Vndk apex contains some txt files which list libraries it contains.
- llndk.libraries.txt
- vndksp.libraries.txt
- vndkcore.libraries.txt
- vndkprivate.libraries.txt

These files can be read from vndk apex instead of /system/etc.

Bug: 145184886
Test: build / flash / boot
Change-Id: I2b242b71768af2a30de519ccd4d73b1a86e46382

4 years agoGenerate vendor stuff only if vndk is avilable
Jooyung Han [Tue, 11 Feb 2020 23:43:31 +0000 (08:43 +0900)]
Generate vendor stuff only if vndk is avilable

Linkerconfig runs even when there is no apexes available. When vndk apex
is not available, having vendor section or namespaces requiring vndk
libraries is meaningless.

This is necessary because we'd like to load some variables from vndk
apex, but relying on those variables when vndk apex is not available may
fail to generate linker configuration.

Bug: 145184886
Test: build / flash / boot
Change-Id: I7c77757254a63c8bc7470c4ae87f2db3779e6465

4 years agoMerge "Add required modules for linkerconfig" am: bade76eb13 am: abc420f2ba
Automerger Merge Worker [Tue, 11 Feb 2020 23:25:28 +0000 (23:25 +0000)]
Merge "Add required modules for linkerconfig" am: bade76eb13 am: abc420f2ba

Change-Id: I1bf9881155249401cf79d43505b0a8562945a54d

4 years agoMerge "Add required modules for linkerconfig" am: bade76eb13
Automerger Merge Worker [Tue, 11 Feb 2020 23:07:32 +0000 (23:07 +0000)]
Merge "Add required modules for linkerconfig" am: bade76eb13

Change-Id: I9cad270d6fbfa1125f1524954f2b8f7765228499

4 years agoMerge "2 more missing Result::ok() calls in system/linkerconfig" am: ffacdd9477 am...
Automerger Merge Worker [Tue, 11 Feb 2020 23:02:58 +0000 (23:02 +0000)]
Merge "2 more missing Result::ok() calls in system/linkerconfig" am: ffacdd9477 am: 284084a3d1

Change-Id: I9eacc7a5aa22b823d0d4bca8666d6f9eaf01282c

4 years agoMerge "Add required modules for linkerconfig"
Treehugger Robot [Tue, 11 Feb 2020 22:59:27 +0000 (22:59 +0000)]
Merge "Add required modules for linkerconfig"

4 years agoMerge "2 more missing Result::ok() calls in system/linkerconfig" am: ffacdd9477
Automerger Merge Worker [Tue, 11 Feb 2020 22:47:37 +0000 (22:47 +0000)]
Merge "2 more missing Result::ok() calls in system/linkerconfig" am: ffacdd9477

Change-Id: I0fbc15f0cb04554567ee042fb97a91e09a6faf6f

4 years agoMerge "2 more missing Result::ok() calls in system/linkerconfig"
Treehugger Robot [Tue, 11 Feb 2020 22:35:08 +0000 (22:35 +0000)]
Merge "2 more missing Result::ok() calls in system/linkerconfig"

4 years agoMerge changes I2ead6a77,I6bf2204a am: 4add3c0b71 am: e9070610f2
Automerger Merge Worker [Tue, 11 Feb 2020 22:24:03 +0000 (22:24 +0000)]
Merge changes I2ead6a77,I6bf2204a am: 4add3c0b71 am: e9070610f2

Change-Id: If41dada9442fbd754ea1a963f69fb7551b3d9351

4 years agoMerge changes I2ead6a77,I6bf2204a am: 4add3c0b71
Automerger Merge Worker [Tue, 11 Feb 2020 22:08:19 +0000 (22:08 +0000)]
Merge changes I2ead6a77,I6bf2204a am: 4add3c0b71

Change-Id: I3b673660490dc97f6d080a9c0112a6b62a98c99c

4 years agoMerge changes I2ead6a77,I6bf2204a
Treehugger Robot [Tue, 11 Feb 2020 21:49:17 +0000 (21:49 +0000)]
Merge changes I2ead6a77,I6bf2204a

* changes:
  Remove ResolveVariables()
  Make ConfigWriter simpler

4 years agoAdd required modules for linkerconfig
Jooyung Han [Tue, 11 Feb 2020 19:21:16 +0000 (04:21 +0900)]
Add required modules for linkerconfig

linkerconfig relies on some txt files.
Adding those modules as required:
- llndk.libraries.txt
- vndkprivate.libraries.txt
- vndkcore.libraries.txt
- vndkcorevariant.libraries.txt
- vndksp.libraries.txt
- sanitizer.libraries.txt

Bug: N/A
Test: m installclean; m linkerconfig
      check if those txt files are installed together

Change-Id: I8ab98591026dad06b3140043c54b7134ca3dac33

4 years ago2 more missing Result::ok() calls in system/linkerconfig
Bernie Innocenti [Tue, 11 Feb 2020 20:09:44 +0000 (05:09 +0900)]
2 more missing Result::ok() calls in system/linkerconfig

Test: cd system/linkerconfig && atest
Change-Id: I2c6f8eb4b81065b90512f88a9f248affecacf019

4 years agoMerge "Use apex_name for the name of linker namespace" am: 2fa82ebd25 am: 0449c685fb
Automerger Merge Worker [Tue, 11 Feb 2020 19:27:25 +0000 (19:27 +0000)]
Merge "Use apex_name for the name of linker namespace" am: 2fa82ebd25 am: 0449c685fb

Change-Id: Icaed65a2bfc461da6c6ea196a164f4eb75bf2b82

4 years agoMerge "Use apex_name for the name of linker namespace" am: 2fa82ebd25
Automerger Merge Worker [Tue, 11 Feb 2020 19:16:38 +0000 (19:16 +0000)]
Merge "Use apex_name for the name of linker namespace" am: 2fa82ebd25

Change-Id: I92d3bdbf307e06d8439d957d779312498c12e20f

4 years agoMerge "Use apex_name for the name of linker namespace"
Treehugger Robot [Tue, 11 Feb 2020 19:00:40 +0000 (19:00 +0000)]
Merge "Use apex_name for the name of linker namespace"

4 years agoRemove ResolveVariables()
Jooyung Han [Fri, 7 Feb 2020 16:08:22 +0000 (01:08 +0900)]
Remove ResolveVariables()

ResolveVariables() takes long because it uses regex pattern search and
replace them with values. It can be avoided by resolving variables while
configurations are being built.

For easy transition, "Var()" utility function is introduced which should
be called after LoadVariables(). This will be enforced by moving Var()
into Context so that it only be called when Context is available (which
is, after LoadVariables() is called)

Bug: 149020353
Test: atest --test-mapping system/linkerconfig
      build / flash / boot
Change-Id: I2ead6a77dcc9ec14b4e083897a2818714438beb5

4 years agoMake ConfigWriter simpler
Jooyung Han [Fri, 7 Feb 2020 06:38:16 +0000 (15:38 +0900)]
Make ConfigWriter simpler

- Remove varg WriteLine
- No prefix
- Add WriteVars for writing multiple lines using "="/ "+="

This refactoring is a prep for removing "ResolveVariables()" which is very slow.

Bug: 149020353
Test: atest --test-mapping system/linkerconfig
Change-Id: I6bf2204a9ac0794b0bdf8028999a3543821a26be

4 years agoLast missing Result::ok() calls in system/linkerconfig am: 51be4fe748 am: 5beb96375e
Automerger Merge Worker [Sun, 9 Feb 2020 08:31:17 +0000 (08:31 +0000)]
Last missing Result::ok() calls in system/linkerconfig am: 51be4fe748 am: 5beb96375e

Change-Id: I653eebadb4580e9712bd2776754712ce9c45a972

4 years agoLast missing Result::ok() calls in system/linkerconfig am: 51be4fe748
Automerger Merge Worker [Sun, 9 Feb 2020 08:21:56 +0000 (08:21 +0000)]
Last missing Result::ok() calls in system/linkerconfig am: 51be4fe748

Change-Id: I71de5d9c437049101bdf9c185242058776981c35

4 years agoLast missing Result::ok() calls in system/linkerconfig
Bernie Innocenti [Sat, 8 Feb 2020 19:12:18 +0000 (04:12 +0900)]
Last missing Result::ok() calls in system/linkerconfig

No functionality change.

Test: cd system/linkerconfig && atest
Change-Id: I5ffa14d1d935c8e01c694338400e366a19895ba6

4 years agoRemove unused files am: 35df8b6140 am: 71239daad0
Automerger Merge Worker [Sat, 8 Feb 2020 01:54:01 +0000 (01:54 +0000)]
Remove unused files am: 35df8b6140 am: 71239daad0

Change-Id: I92ac09a5d326fe0e06859192782d73d000ce1a07

4 years agoRemove unused files am: 35df8b6140
Automerger Merge Worker [Sat, 8 Feb 2020 01:37:40 +0000 (01:37 +0000)]
Remove unused files am: 35df8b6140

Change-Id: I3d3de0df7afb119313feb7704d5e03a054b09510

4 years agoUse apex_name for the name of linker namespace
Jooyung Han [Fri, 7 Feb 2020 17:59:10 +0000 (02:59 +0900)]
Use apex_name for the name of linker namespace

Till now short names are used for apex namespaces but there are no
explicit rule for this. Instead of extracting namespace name from apex
name (com.android.foo => foo), we'd better use apex name as it is
because it is well-established identifier for apexes.

Bug: 148826508
Test: build/flash/boot
      atest

Change-Id: I4f77eb85652a999274844436ba14b5c05831cf5b

4 years agoRemove unused files
Jooyung Han [Fri, 7 Feb 2020 17:51:00 +0000 (02:51 +0900)]
Remove unused files

conscrypt and neuralnetworks namespaces are now generated automatically.

Bug: N/A
Test: build
Change-Id: Ic13d3f4206ecfda1937adf2111977b279fba05ef

4 years agoAuto-generate runtime namespace am: b818280515 am: a9b9bcfd10
Automerger Merge Worker [Fri, 7 Feb 2020 08:06:33 +0000 (08:06 +0000)]
Auto-generate runtime namespace am: b818280515 am: a9b9bcfd10

Change-Id: I9feeae2be4f8ddb34a379d281510baa2fe1bfc58

4 years agoAuto-generate media namespace am: 834efc8c45 am: 3a3e8a5e81
Automerger Merge Worker [Fri, 7 Feb 2020 08:06:22 +0000 (08:06 +0000)]
Auto-generate media namespace am: 834efc8c45 am: 3a3e8a5e81

Change-Id: Ie37051dbb631537f8b061acb728d37a82c5e7635

4 years agoAuto-generate apex namespaces: cronet,nn,conscrypt am: 9960aca469 am: 0a034f67e0
Automerger Merge Worker [Fri, 7 Feb 2020 08:06:21 +0000 (08:06 +0000)]
Auto-generate apex namespaces: cronet,nn,conscrypt am: 9960aca469 am: 0a034f67e0

Change-Id: I1bfb32e3c30f7b083f70df444eab94e394fc0c32

4 years agoAuto-generate runtime namespace am: b818280515
Automerger Merge Worker [Fri, 7 Feb 2020 07:44:06 +0000 (07:44 +0000)]
Auto-generate runtime namespace am: b818280515

Change-Id: I9ae5f026915c98aa1070560fd1923536c0a8d3b7

4 years agoAuto-generate media namespace am: 834efc8c45
Automerger Merge Worker [Fri, 7 Feb 2020 07:43:57 +0000 (07:43 +0000)]
Auto-generate media namespace am: 834efc8c45

Change-Id: Idff81f99b6a7baf98882615653563e7cc69b09f2

4 years agoAuto-generate apex namespaces: cronet,nn,conscrypt am: 9960aca469
Automerger Merge Worker [Fri, 7 Feb 2020 07:43:55 +0000 (07:43 +0000)]
Auto-generate apex namespaces: cronet,nn,conscrypt am: 9960aca469

Change-Id: I7e6ecab4463e0c50864ef186952d549b6a63b40f

4 years agoAuto-generate runtime namespace
Jooyung Han [Thu, 6 Feb 2020 11:46:02 +0000 (20:46 +0900)]
Auto-generate runtime namespace

runtime apex provides bionic(libc/libm/libdl) libraries. But actually
they are supposed to be accessed via symlinks in /system/lib (i.e.
system namespace).

By amending soong not to emit those bionic libs as providing libs of
runtime apex, now runtime apex can be auto-generated by linkerconfig.

Bug: 144664390
Test: build / flash / boot
Change-Id: Idda42801a608e5fcb495bfccdd07ca6c0666a53d

4 years agoAuto-generate media namespace
Jooyung Han [Thu, 6 Feb 2020 11:39:02 +0000 (20:39 +0900)]
Auto-generate media namespace

Now, media namespace is auto-generated.
This is done by adding /apex/<name>/lib as permitted path as well as
search path, because media apex needs a permitted path
/com.android.media/lib/extractors.

Bug: 144664390
Test: build / flash / boot
      atest --test-mapping system/linkerconfig
Change-Id: I9186b0768b3bce3ad19f3d14010725af0bbf5861

4 years agoAuto-generate apex namespaces: cronet,nn,conscrypt
Jooyung Han [Thu, 6 Feb 2020 11:17:53 +0000 (20:17 +0900)]
Auto-generate apex namespaces: cronet,nn,conscrypt

Some visible namespaces are now auto-generated using activated apex
info. This is quite a significant change for init/bootstrap stages.
For example, at init stage which has no apexes activated, linkerconfig
dosn't generate apex namespaces at all. Previously, it was statically
generated whether those apexes are available or not.

Amon remaining apexes, media and runtime will be removed soon.

Bug: 144664390
Test: compare generated ld.config.txt between changes
      build / flash / boot
      atest --test-mapping system/linkerconfig
Change-Id: I334071dd59273e194ccdca1ef2cff0b7ee1b5c35

4 years agoMerge "Configuration for special APEX binaries" am: ce9da40b83 am: b2e5192c1f
Automerger Merge Worker [Fri, 7 Feb 2020 04:02:59 +0000 (04:02 +0000)]
Merge "Configuration for special APEX binaries" am: ce9da40b83 am: b2e5192c1f

Change-Id: I6cea090c1f2d00d10ea6e09ace322160d25156b6

4 years agoMerge "Configuration for special APEX binaries" am: ce9da40b83
Automerger Merge Worker [Fri, 7 Feb 2020 03:47:15 +0000 (03:47 +0000)]
Merge "Configuration for special APEX binaries" am: ce9da40b83

Change-Id: I182bca74f03de286823a6f0b61b04043e819920f

4 years agoMerge "Configuration for special APEX binaries"
Kiyoung Kim [Fri, 7 Feb 2020 03:25:42 +0000 (03:25 +0000)]
Merge "Configuration for special APEX binaries"

4 years agoConfiguration for special APEX binaries
Kiyoung Kim [Wed, 29 Jan 2020 05:56:54 +0000 (14:56 +0900)]
Configuration for special APEX binaries

Some of the linker configuration for APEX binaries are not enough just
to use auto-generated contents. This change implements some of the
additional namespaces for some special APEXes with binaries - ART and
Media SWCodec.

Bug: 147987608
Test: m -j passed
Test: Tested adbd and swcodec(Youtube) on Cuttlefish and Crosshatch
Change-Id: I58345dc31bb97138c9c632039a10ab000e23bcb6

4 years agoConvert system/linkerconfig to Result::ok() am: 5c325567e2 am: 9dfd5dc389
Automerger Merge Worker [Thu, 6 Feb 2020 23:32:31 +0000 (23:32 +0000)]
Convert system/linkerconfig to Result::ok() am: 5c325567e2 am: 9dfd5dc389

Change-Id: Id387d0ff30bdc4269ca3881a313dd612050bbdb8

4 years agoConvert system/linkerconfig to Result::ok() am: 5c325567e2
Automerger Merge Worker [Thu, 6 Feb 2020 23:19:49 +0000 (23:19 +0000)]
Convert system/linkerconfig to Result::ok() am: 5c325567e2

Change-Id: I3d10df9aaaa1dbb9456960c24b20c7d7c4f6bab4

4 years agoConvert system/linkerconfig to Result::ok()
Bernie Innocenti [Thu, 6 Feb 2020 14:16:23 +0000 (23:16 +0900)]
Convert system/linkerconfig to Result::ok()

No functionality changes, this is a mechanical cleanup.

Test: m
Change-Id: I759398fdf01d1703b0c128fb4f34d33a6f1a2027

4 years agoMove part of Context into modules::BaseContext am: 32c2ef7510 am: fded559ebc
Automerger Merge Worker [Wed, 5 Feb 2020 05:35:04 +0000 (05:35 +0000)]
Move part of Context into modules::BaseContext am: 32c2ef7510 am: fded559ebc

Change-Id: Ib548efd43970c4f0bf2c7e5fbc40b6b580822d22

4 years agoAdd default "provides" list to system namespace am: 91079f0f9b am: 9e61bf8ea9
Automerger Merge Worker [Wed, 5 Feb 2020 05:34:54 +0000 (05:34 +0000)]
Add default "provides" list to system namespace am: 91079f0f9b am: 9e61bf8ea9

Change-Id: Ia4f3bcf0a2ae0a47f520d7872b8125db04b52f9e

4 years agoAdd "--strict" flag am: b4af747146 am: f5593d9e47
Automerger Merge Worker [Wed, 5 Feb 2020 05:34:52 +0000 (05:34 +0000)]
Add "--strict" flag am: b4af747146 am: f5593d9e47

Change-Id: I103e823b93f8804dc3ead1c263907a320fdd00c8

4 years agoBuild adbd/resolv namespace automatically am: 7482996bd3 am: a5c0b57481
Automerger Merge Worker [Wed, 5 Feb 2020 05:34:51 +0000 (05:34 +0000)]
Build adbd/resolv namespace automatically am: 7482996bd3 am: a5c0b57481

Change-Id: I6a13e46015e3bafda9613082b703b1511f247597

4 years agoMove part of Context into modules::BaseContext am: 32c2ef7510
Automerger Merge Worker [Wed, 5 Feb 2020 05:24:37 +0000 (05:24 +0000)]
Move part of Context into modules::BaseContext am: 32c2ef7510

Change-Id: Ie1318021f558fce908222f5df2c174fe1db33812

4 years agoAdd default "provides" list to system namespace am: 91079f0f9b
Automerger Merge Worker [Wed, 5 Feb 2020 05:24:27 +0000 (05:24 +0000)]
Add default "provides" list to system namespace am: 91079f0f9b

Change-Id: Ie67d2b6d6bd4f5762a03f7559a6ff1ebcdd2c7ec

4 years agoAdd "--strict" flag am: b4af747146
Automerger Merge Worker [Wed, 5 Feb 2020 05:24:25 +0000 (05:24 +0000)]
Add "--strict" flag am: b4af747146

Change-Id: Ic1e6d5a1e28fedc98470dc8a3f0ef9375fedf85f

4 years agoBuild adbd/resolv namespace automatically am: 7482996bd3
Automerger Merge Worker [Wed, 5 Feb 2020 05:24:23 +0000 (05:24 +0000)]
Build adbd/resolv namespace automatically am: 7482996bd3

Change-Id: I7edb3004451f2b94e2f0f019ca603c4c1b423b72

4 years agoMove part of Context into modules::BaseContext
Jooyung Han [Tue, 4 Feb 2020 10:46:06 +0000 (19:46 +0900)]
Move part of Context into modules::BaseContext

ApexInfo/strict is used in Section::Resolve and it's very generic.
Moving it into BaseContext makes code simpler

Bug: N/A
Test: atest --test-mapping system/linkerconfig
Change-Id: I8acbdb7ed3368b6c10474be1c30a12fbc81c8ca6

4 years agoAdd default "provides" list to system namespace
Jooyung Han [Mon, 3 Feb 2020 10:32:33 +0000 (19:32 +0900)]
Add default "provides" list to system namespace

Contrary to APEX modules, system doesn't have meta data represening
"provides". So adding the "provides" list to system namespaces.

Bug: 144664390
Test: build / flash / boot
Test: atest --test-mapping system/linkerconfig
Change-Id: I808736814221a0d0cff2f163d64da01b398dc265