Commit graph

66455 commits

Author SHA1 Message Date
Ulya Trafimovich
8edad8f7a3 Preserve <uses-library> order in dexpreopt.config files.
Library order is important because it is used to construct class loader
context, which is then written into OAT/ODEX files and chacked against
class loader context constructed by PackageManager on the device. If the
orders are different, dexpreopted code is rejected.

This CL fixes a few problems that caused reordering:

- 'filter' function arguments are swapped so that patterns list comes
  first, and the library list second

- JSON representation of class loader context is changed to avoid
  unmarshaling it to Go maps, which may reorder keys

- library list is no longer sorted (it's unclear why it was sorted)

Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m && launch_cvd \
      adb wait-for-device && adb root && adb logcat \
      | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
      # empty grep output, no errors
Change-Id: Ie76996d497e60da0948f1879d6db589ff3e968a2
2021-02-11 17:09:19 +00:00
Oli Lan
b976c07d85 Merge "Add build task for cts_root." 2021-02-11 14:30:39 +00:00
Martin Stjernholm
a06d64be37 Merge "Ensure ART module prebuilts aren't used in sanitizer builds." 2021-02-11 14:26:06 +00:00
Oli Lan
9c8cafe38f Add build task for cts_root.
This adds the configuration necessary to allow the cts_root
test suite to be built.

Bug: 162933947
Test: m cts_root
Merged-In: I4732bf82d3cedc77e30d7fa5eff285d382992853
Change-Id: I4732bf82d3cedc77e30d7fa5eff285d382992853
2021-02-11 10:34:01 +00:00
Martin Stjernholm
52d0490d9b Ensure ART module prebuilts aren't used in sanitizer builds.
Change-Id: I128e116e182ba937ecb603f5ba92516a28cb28f9
Test: presubmits
Bug: 172480615
2021-02-11 08:06:43 +00:00
Calin Juravle
95f5213202 Merge "Update the default compiler filter used at boot time" 2021-02-11 02:07:59 +00:00
Yan Yan
57b9916d03 Merge "Add IKE to bcp and remove it from system server classpath" 2021-02-10 18:41:41 +00:00
Treehugger Robot
7b6988c026 Merge "Make common.py python3 compatible" 2021-02-10 18:29:43 +00:00
Bob Badour
dd163df3d0 Merge "Fix license_type. Contains GPL" 2021-02-10 07:03:17 +00:00
Jose "Pepe" Galmes
836c091756 Merge "Implement directed recovery snapshot." 2021-02-09 23:58:28 +00:00
Treehugger Robot
e51dcceae1 Merge "Updates merge_target_files soong_zip to use -r instead of -l." 2021-02-09 23:11:09 +00:00
Kelvin Zhang
645dcb8264 Make common.py python3 compatible
Test: th
Change-Id: Ibe4db0a367b7b8df5eeb7f2a6d0816e8e18bf342
2021-02-09 17:53:09 -05:00
Bob Badour
5feee0e957 Fix license_type. Contains GPL
See: http://go/android-license-checking-v2-lsc

Test: m all

Bug: 151953481
Bug: 151177513
Bug: 67772237

Exempt-From-Owner-Approval: janitorial work
Change-Id: I43f76a40157a912aaab7429225a2bd1fdf6646d6
2021-02-09 14:00:16 -08:00
Treehugger Robot
1975c1ba63 Merge changes from topic "ps 2.0 cp"
* changes:
  update vndk list
  powerstats: PowerStats HAL has been renamed
  Create Power Stats AIDL interface
2021-02-09 19:20:10 +00:00
Daniel Norman
eaf5c1dca2 Updates merge_target_files soong_zip to use -r instead of -l.
This is needed due to output artifacts in the zip that confuse globbing,
such as [.

(Also changes this call to RunAndCheckOutput, which prints the stderror
by default instead of RunAndWait which does not. Removes RunAndWait
which is now unused)

Bug: 179799226
Test: Run merge_target_files to merge two partial builds
Change-Id: Ibf8a5b0c013c9cd8b1e61195d97583f247d97c6f
2021-02-09 11:01:42 -08:00
Jose Galmes
7185c6c500 Implement directed recovery snapshot.
Bug: 177451657
Test: m -j nothing
Change-Id: I902afe71e7577c1c41371f1422512170edf6e492
2021-02-09 07:41:40 -08:00
Treehugger Robot
41f416d326 Merge "Add flag to manually disable vabc" 2021-02-09 01:14:50 +00:00
Treehugger Robot
6c9e319da7 Merge "extract_kernel: make it py2/py3 compatible" 2021-02-08 23:49:15 +00:00
Calin Juravle
b7e744cd82 Update the default compiler filter used at boot time
For the first-boot (happening after upgrades) use verify as quicken is deprecated.

For the usual boot operations use extract instead of the verify. Under normal behaviour all apps should already be optimized (either with the first-boot option, a/b option or in bg-dexopt). This will speed up the boot process in corner cases and reduce resource contention that could make the device janky in at boot time.

Bug: 172114559
Change-Id: I33f204911bdc825bf6731feb5cea7c260382798b
Test: m
2021-02-08 14:25:46 -08:00
Treehugger Robot
a5dcac761f Merge "Turn missing jarjar output files into errors" 2021-02-08 22:00:02 +00:00
Julien Desprez
1514b9a581 Merge "Clean TEST_MAPPING config based on go/a-unit-tests" 2021-02-08 21:25:05 +00:00
Treehugger Robot
c5bbb1ead1 Merge "Remove Use_lmkd_stats_log from build" 2021-02-08 20:58:19 +00:00
Treehugger Robot
7ef7116014 Merge "Keystore 2.0: Disable keystore 2 by default (for now)" 2021-02-08 20:04:38 +00:00
Colin Cross
a1271eb343 Turn missing jarjar output files into errors
Jarjar doesn't exit with a nonzero return code when there is a syntax
error in a rules file and doesn't write the output file.  Without a
nonzero return code ninja prints a warning but continues, which leads
to stale results on incremental builds where the output file already
exists, or delayed errors on clean builds whre the output file didn't
exist.

Delete the output file before running jarjar, and then check if it
exists after running jarjar.

Fixes: 119516143
Test: m out/target/common/obj/JAVA_LIBRARIES/noto-emoji-compat-java_intermediates/classes-jarjar.jar
Change-Id: Ib99167403948ee11f039dd4d2d7e63052bb92136
2021-02-08 10:55:05 -08:00
Ioannis Ilkos
8e568c52ab Remove Use_lmkd_stats_log from build
Use_lmkd_stats_log used to control LMKD_LOG_STATS when compiling lmkd.

However, for newer Android releases, we mandate that lmkd informs statsd of process kills (change id I8cb123b9488fbc6e88863c2f0e75f1422bcd282e)
After aosp/1555318 we compile lmkd with statsd by default, so this setting is a noop.

Change-Id: I91bd08198fe2275fb8aca77ae5ea637df360d416
Test: build
Bug: 177985094
2021-02-08 11:17:55 +00:00
Kelvin Zhang
bbfa182995 Add flag to manually disable vabc
Test: ota_from_target_files --disable_vabc
Change-Id: I9ae9ce2c3173909c335708329e787ae45dc5da6b
2021-02-07 10:43:15 -05:00
cfig
791378cda1
extract_kernel: make it py2/py3 compatible
use py3 for AOSP build, while the script itself can be
executed under py2/py3 environment directly.

TEST: extract info from Pixel 4 kernel

Change-Id: I00db6dabb1ff93f0758017a666c476816caefae7
2021-02-07 17:05:53 +08:00
Treehugger Robot
bff5273dd0 Merge "Adding repack_bootimg into otatools.zip" 2021-02-06 08:00:55 +00:00
Janis Danisevskis
a3c5395672 Keystore 2.0: Disable keystore 2 by default (for now)
Test: System starts without keystore 2 running.
Bug: 160623310
Change-Id: I83d54de602a0f70acc91fd8e55b07706e1b4e55b
2021-02-05 14:39:43 -08:00
Colin Cross
effaa0414b Merge "Use RSP file for soong_zip in target_files.zip" 2021-02-05 21:33:37 +00:00
Treehugger Robot
e174dca416 Merge "GSI: enable dynamic partitions" 2021-02-05 18:34:38 +00:00
Jeongik Cha
de2d7b11e6 update vndk list
Bug: 150578172
Test: m
Change-Id: Ifc160fc225883cc226bfcbacc8607f6f96d9501a
Merged-In: I76e73668faf248ca33a37eb221973d2164d9c9b8
2021-02-05 10:05:49 -08:00
Treehugger Robot
530b39afc9 Merge "Add logic to ensure the ART APEXes are built from source in coverage builds." 2021-02-05 13:49:53 +00:00
Ulyana Trafimovich
966928196d Merge "Don't patch build path to DEX jar in dex_preopt_config_merger.py." 2021-02-05 11:10:03 +00:00
Hung-ying Tyan
4ae09765b7 GSI: enable dynamic partitions
to facilitate mixing GSI onto Cuttlefish

Bug: 178677060
Bug: 179455901
Test: build gsi_x86_64 and aosp_arm64 and check the existence of
      'dynamic_partition_list' in misc_info.txt

Change-Id: I0fd9e9645d4882e2cd7d3508a44fbcad5dce81bc
2021-02-05 18:50:28 +08:00
Bowgo Tsai
6c37c172c6 Adding repack_bootimg into otatools.zip
repack_bootimg is useful to add files into a ramdisk, then repack
a boot.img. Note that mkbootimg, unpack_bootimg, lz4, minigzip, etc.,
that repack_bootimg depends are already in otatools.zip.

Bug: 174443192
Test: `m otatools-package`, unzip $OUT/otatools.zip, export $PATH
      with ./otatools/bin and checks unpack_bootimg can run
Change-Id: Id4fbf2076b50522b95ab46dfeb1e2b7115d6606d
2021-02-05 18:14:34 +08:00
Yan Yan
ab282be1c7 Add IKE to bcp and remove it from system server classpath
Bug: 177266501
Test: builds
Change-Id: I90df69a4b892a3faab8097111756c1f42c4cfb68
Merged-In: I90df69a4b892a3faab8097111756c1f42c4cfb68
2021-02-04 23:33:43 -08:00
Benjamin Schwartz
2430e7e3a3 powerstats: PowerStats HAL has been renamed
Bug: 169864180
Test: m
Change-Id: I1a1680d94bda3a97f4a5c074ba47a7e57e1241ad
(cherry picked from commit 75a532279d)
Merged-In: I1a1680d94bda3a97f4a5c074ba47a7e57e1241ad
2021-02-04 16:51:37 -08:00
Benjamin Schwartz
0cca4d0211 Create Power Stats AIDL interface
Bug: 162472196
Test: m
Change-Id: I195ace557e1db2894d12f6f15d4db494d358c8e8
Merged-In: I195ace557e1db2894d12f6f15d4db494d358c8e8
2021-02-04 16:01:46 -08:00
Julien Desprez
0c09471cc3 Clean TEST_MAPPING config based on go/a-unit-tests
unit_tests:true do not need TEST_MAPPING files

Test: presubmit
Bug: 178646865
Change-Id: Id36e98ce661dc2052e333b2644202361127939a5
2021-02-04 09:12:05 -08:00
Bill Yi
250a0420ea Merge "Merge RQ1A.210205.004 to aosp-master - DO NOT MERGE" 2021-02-04 17:08:42 +00:00
Ulya Trafimovich
38cd0624f3 Don't patch build path to DEX jar in dex_preopt_config_merger.py.
The initial path value is correct, there's no need to patch it.

Bug: 132357300
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
        adb wait-for-device && adb root && adb logcat \
        | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
        # empty grep output, no errors
Change-Id: Iaa9171e7db348ad469ec56b977b5f2226f353284
2021-02-04 09:55:57 +00:00
Ulyana Trafimovich
015fd9e71b Merge "Quick and dirty filtering of present LOCAL_OPTIONAL_USES_LIBRARIES." 2021-02-04 06:16:03 +00:00
Bill Yi
3248ef4e4f Merge RQ1A.210205.004 to aosp-master - DO NOT MERGE
Merged-In: Ibf5ea0aaf1cf42c08f32e435b1164598410ac44a
Merged-In: I155689df9ad55e5056baebe975ee14f2d2622cef
Change-Id: Iaa90ab536a2fa336db81e3af04648ce68f138cab
2021-02-03 17:01:38 -08:00
Colin Cross
17e98b7ca2 Use RSP file for soong_zip in target_files.zip
target_files.zip passes a list of files to soong_zip in a file list
file, which soong_zip interprets as a glob.  Adding a file called "["
causes soong_zip to error with "syntax error in pattern".  Use an RSP
file instead, which after I1de7829c668538204fc4a2ac793a4f88dbc886c9
does not interpret entries as globs.

Bug: 179297188
Test: m target-files-package
soong_zip: don't glob RSP file entries

File arguments are considered globs, but RSP file entries should be
considered filenames without globbing.  Escape RSP file entries so
they don't get treated as globs later.

Bug: 179297188
Test: zip_test.go
Change-Id: I0736f2d1802114217cba03ee32b67479c9d98da8
2021-02-03 16:03:55 -08:00
Martin Stjernholm
7704497315 Add logic to ensure the ART APEXes are built from source in coverage
builds.

This CL is a nop since the default is still true, but it gives us a way
to toggle it without affecting coverage builds.

Test: env NATIVE_COVERAGE=true build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
      env CLANG_COVERAGE=true build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
      env NATIVE_COVERAGE=true CLANG_COVERAGE=true \
        build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
  check that all these print "true" when the default in the "else"
  clause is "false".
Bug: 172480615
Change-Id: I648ed911773c59a5b2a117dbf3ddcb2ef338830d
2021-02-03 23:16:01 +00:00
Martin Stjernholm
c7e1bdfede Merge "Merge the module_* device.mk files into their corresponding product mk files." 2021-02-03 16:12:34 +00:00
Ulya Trafimovich
156c719179 Quick and dirty filtering of present LOCAL_OPTIONAL_USES_LIBRARIES.
Filter LOCAL_OPTIONAL_USES_LIBRARIES by PRODUCT_PACKAGES. This has the
drawback that some present libraries may be filtered out as well, as the
full list of product packages is unknown until all Android.mk files have
been read.

This CL unblocks <uses-library> fixes for individual apps, which will be
necessary to dexpreopt them in the nearest future when the &-classpath
hack is removed in ART. Apps that are not fixed by then will loose
dexpreopt completely. This fix, although not perfect, lowers the risk of
loosing dexpreopt for many apps. In the future it may be replaced with a
better solution.

Bug: 132357300
Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
        adb wait-for-device && adb root && adb logcat \
        | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
        # empty grep output, no errors
Change-Id: I188cf240259f7a448623450e6a949e0784a21f87
2021-02-03 15:05:42 +00:00
Treehugger Robot
1d77ebad18 Merge "Install init_rc for recovery modules correctly." 2021-02-03 07:35:04 +00:00
Yifan Hong
83d1c2ed4b Install init_rc for recovery modules correctly.
If a module is installed to TARGET_RECOVERY_ROOT_OUT,
then its init rc file (declared in LOCAL_INIT_RC) is installed
to $OUT/recovery/root/system/etc/init instead of
$TARGET(partition)_OUT_ETC/init.

Fixes: 178859897
Test: m snapuserd.recovery

Change-Id: I82d0f40d6d7047e271612204391c5a027f84f52f
2021-02-02 17:04:53 -08:00