Commit Graph

66524 Commits

Author SHA1 Message Date
Ryan Prichard 6f19c3e06f Switch platform EH unwinder to prebuilt LLVM libunwind
Bug: http://b/153025717
Test: device boots
Change-Id: I8efa33c8375d67a24eb7f6e7512d6149d718a467
2021-01-13 19:36:53 -08:00
Jiyong Park f66f0ececc Concat INTERNAL_*IMAGE_FILES into INTERNAL_ALLIMAGES_FILES
As we add more partitions, INTERNAL_*IMAGE_FILES variables has grown
and the places where the variables are referenced had to be touched
everytime. This change introduces a new variable
INTERNAL_ALLIMAGES_FILES which concatnates INTERNAL_*IMAGE_FILES, and
replaces the uses of the variables with the new one.

Bug: N/A
Test: m
Change-Id: I62a0f725a0f6999421d04a6261370be9124e62d7
2021-01-14 11:23:12 +09:00
Treehugger Robot 0c6951f829 Merge "jacoco-report-classes-all.jar doesn't depend on fake modules" 2021-01-14 00:28:17 +00:00
Yifan Hong 7a27574e5f Merge "GetBootImageBuildProp returns None if file does not exist" 2021-01-13 19:40:13 +00:00
Anton Hansson 75232ce489 Merge "Use 64 bit binder in module builds" 2021-01-13 18:21:04 +00:00
Nikita Ioffe 015b689271 Merge "Refactor apex signing logic in preparation for compressed apexes" 2021-01-13 14:54:49 +00:00
Jiyong Park 4a693b28e6 jacoco-report-classes-all.jar doesn't depend on fake modules
The reason that the jar file depended on modules_to_install was to
collect files from other partitions, not just system. It isn't the
intention to gather fake modules like phony modules and more importantly
their dependencies (LOCAL_REQUIRE_MODULES). This change explicitly
filters out the fake modules to make the intent clearer.

In fact, the jar file depending on fake modules can have a side effect
that overridden modules are installed. It can happen as follows:

PRODUCT_PACKAGES += A B C

LOCAL_MODULE := A
LOCAL_REQUIRED_MODULES := B
include $(BUILD_PHONY_PACKAGE)

LOCAL_MODULE := B
include $(BUILD_XXX)
...

LOCAL_MODULE := C
LOCAL_OVERRIDES_MODULES := B
include $(BUILD_XXX)

modules_to_install is set to

out/target/product/xxx/fake_packages/A-timestamp
out/target/product/xxx/system/.../C

; B is correctly overridden.

But there still is an order-only dependency from A to B which is created
by add-all-target-to-target-required-modules-deps. Unfortunately,
overridden isn't take into account here.

So, if the jacoco jar file depends on modules_to_install, both B and C
are installed. And if the creation of system.img happens later, the two
are included together, which is an error.

A preferred way of fixing this is to amend
add-all-target-to-target-required-modules-deps so that override is take
into account. However, it will likely to require more Make tricks. This
change takes a much easier path; pruning the fake packages from the
dependencies so that its dependencies which might be wrong can't be
installed.

Bug: 175400393
Test: build/soong/soong_ui.bash --make-mode SKIP_ABI_CHECKS=true
SOONG_COLLECT_JAVA_DEPS=true TARGET_PRODUCT=cf_x86_phone
TARGET_BUILD_VARIANT=userdebug
TARGET_USERDATAIMAGE_PARTITION_SIZE=17179869184 droid dist
DIST_DIR=out/dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true
CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="*"
NATIVE_COVERAGE_EXCLUDE_PATHS="art bionic/libc device"
continuous_instrumentation_tests continuous_native_tests device-tests
platform_tests
No com.android.art.apex in system.img

Change-Id: Ie8a917b7c3985c3a4f19372a4430accd84124e83
2021-01-13 22:12:52 +09:00
Anton Hansson 0bafe32068 Use 64 bit binder in module builds
Add a new BoardConfigModuleCommon for settings of this sort.

Bug: 176840868
Test: forrest module coverage build
Merged-In: Ie62261ecc0f0967f677a890a382fa1da060f7ff2
Change-Id: Ie62261ecc0f0967f677a890a382fa1da060f7ff2
(cherry picked from commit c0423c8dae)
2021-01-13 11:05:20 +00:00
Orion Hodson f79835fca2 Merge "Remove implicit include path for jni.h" 2021-01-13 06:11:03 +00:00
Treehugger Robot 9d2219c2da Merge "Add dependencies on java resources when packaging APK without classes" 2021-01-13 00:57:08 +00:00
Tianjie Xu 2de3459680 Merge "Fix errors from validate_target_files" 2021-01-13 00:02:36 +00:00
Treehugger Robot eebe61d354 Merge "Add missing dependencies to releasetools_common and binary defaults." 2021-01-12 23:58:58 +00:00
Colin Cross 9644ec811f Add dependencies on java resources when packaging APK without classes
When an APK is packaged without any classes.dex files the resources
are packaged directly, and so the packaging rule must depend on the
resources.

Fixes: 177295654
Test: prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-aosp_cf_x86_64_phone.ninja -t query out/target/product/vsoc_x86_64/obj/APPS/CtsSplitApp_x86_64_intermediates/package.apk
Change-Id: I786e71439f11e7bd5e20e010b66fbf529eb57a5a
2021-01-12 15:08:08 -08:00
Nikita Ioffe 6068e8dd52 Refactor apex signing logic in preparation for compressed apexes
Logic for signing compressed apex will be added in the follow-up cl.

Test: python -m unittest test_sign_apex
Bug: 172912232
Change-Id: I8dc1d334c17e11f9eed8fe0a575b6dfcf337ab5d
2021-01-12 22:29:58 +00:00
Tianjie 2e0b835d28 Fix errors from validate_target_files
We should skip lines that don't contain '=', e.g. empty lines.
Also, pop a warning instead of an error if a prop is defined
multiple times with the same value

Bug: 177240467
Test: unittest, run validate_target_files
Change-Id: Ifc9eadb91e5dda7170a19d875016e5a47e8fc592
2021-01-12 14:04:58 -08:00
Yifan Hong 14a8712c4d Add missing dependencies to releasetools_common and binary defaults.
When GetBootImageBuildProp is moved to common, its dependencies
(toybox, lz4 and unpack_bootimg) aren't moved accordingly.
Copy the dependencies over.

Test: pass
Change-Id: Iaa8f41ae0109e8eb1c058ecd7dd854bb7de9391a
2021-01-12 14:04:19 -08:00
Evgenii Stepanov de32b6d59c Merge "Include/exclude paths for memtag sanitizer." 2021-01-12 19:33:02 +00:00
Yifan Hong 7dc5117ffd GetBootImageBuildProp returns None if file does not exist
If system/etc/ramdisk/build.prop does not exist in the ramdisk,
GetBootImageBuildProp should return None instead of a path
to a non-existant file.

Test: pass
Bug: 177171706
Change-Id: I34e447bc315d203e136e8c0d59d00961f81301e3
2021-01-12 11:27:55 -08:00
Ulyana Trafimovich c275c68dfd Merge "Initialize DEX_PREOPT_DEFAULT based on global dexpreopt settings." 2021-01-12 10:12:14 +00:00
Chengyou Ho fe1d9d4336 Merge "Add AuthSecret HAL to VNDK-core list" 2021-01-12 07:51:37 +00:00
ChengYou Ho c2adfd8efe Add AuthSecret HAL to VNDK-core list
Bug: 176107318
Change-Id: I13dfb105e8aed296028118ec5cc806c220797ff8
2021-01-12 06:01:07 +00:00
Evgenii Stepanov 10b4d0ad5d Include/exclude paths for memtag sanitizer.
Bug: b/135772972
Test: none
Change-Id: Ib198c359b92b82573cb66fd6d993aece0e9ff7d9
2021-01-11 21:15:21 -08:00
Treehugger Robot 7c6370772f Merge "Add unit_test option to module-info.json" 2021-01-12 02:37:47 +00:00
Nikita Ioffe 8f8522a83b Merge "Fix test_sign_apex" 2021-01-12 01:51:48 +00:00
SzuWei Lin 7240eca439 Merge "Skip generate-common-build-props for older devices without /product" 2021-01-12 01:28:36 +00:00
Nikita Ioffe c3fdfed11b Fix test_sign_apex
Test: python -m unittest test_sign_apex
Change-Id: I2a27a394b3de32fa29e487bea0b7721502a8bd98
2021-01-11 23:50:31 +00:00
Peter Collingbourne 4e98e687ec Merge "Remove ANDROID_EXPERIMENTAL_MTE." 2021-01-11 20:42:44 +00:00
Peter Collingbourne fcd9ccf4a1 Remove ANDROID_EXPERIMENTAL_MTE.
Now that the feature guarded by this flag has landed in Linux 5.10
we no longer need the flag, so we can remove it.

Bug: 135772972
Change-Id: I02fa50848cbd0486c23c8a229bb8f1ab5dd5a56f
2021-01-11 10:55:51 -08:00
Ulya Trafimovich e245e00d7b Initialize DEX_PREOPT_DEFAULT based on global dexpreopt settings.
Bug: 177214554
Test: lunch cf_x86_phone-userdebug && m
Test: Ensure that `find out -name dexpreopt.config` lists before and
    after the fix are identical (for target cf_x86_phone-userdebug).
Test: TARGET_PRODUCT=mainline_modules_x86_64 \
    TARGET_BUILD_VARIANT=userdebug \
    build/soong/soong_ui.bash --make-mode UipbUtil
Change-Id: I28b38c08ad570d53dc679f9b42975545d457416e
2021-01-11 17:02:16 +00:00
Chengyou Ho 991fe0a7d5 Merge "Add OemLock HAL to VNDK-core list" 2021-01-11 06:12:40 +00:00
ChengYou Ho 2ef12cb1c2 Add OemLock HAL to VNDK-core list
Bug: 176107318
Change-Id: I73da53a2c614c7ef68d07d84fd0e82564d56dbd2
2021-01-11 05:56:58 +00:00
Yifan Hong cb09afc04a Merge changes from topic "common.GetBootImageTimestamp"
* changes:
  Load boot build props to info_dict properly.
  Add GetBootImageBuildProp.
  Split PARTITIONS_WITH_BUILD_PROP from *_WITH_CARE_MAP
  Move GetBootImageTimestamp to common.
2021-01-08 22:18:51 +00:00
Treehugger Robot 44412cc517 Merge "zipalign: log more I/O errors" 2021-01-08 21:12:18 +00:00
Colin Cross 383e482c22 zipalign: log more I/O errors
b/177069043 is a flake that happens in zipalign during I/O, but
the error doesn't contain enough information to determine what the
problem is.  Add more logging on I/O errors.

Test: atest --host zipalign_tests
Bug: 177069043
Change-Id: I89573e5b3867abe05d855c837bb2aa5b5c630aa7
2021-01-08 11:11:40 -08:00
yangbill 732b858481 Add unit_test option to module-info.json
Bug: 176096135
Test: atest -m hello_world_test, check module-info.json
Change-Id: Id8bc2eb0d93896afcbe5ce87b0205528615f090e
2021-01-08 17:36:56 +08:00
Yifan Hong 10482a2a56 Load boot build props to info_dict properly.
Add boot to PARTITION_WITH_BUILD_PROP. Let PartitionBuildProps handle
boot partitions by extracting build.prop file.

Test: generate OTA and call
      `payload_info.py payload.bin`, check that boot image timestamp is
      set
Bug: 162623577

Change-Id: I71955e4ee494ffbb5d111c3d02a129c0f879b6d1
2021-01-07 17:20:22 -08:00
Yifan Hong 85ac5012aa Add GetBootImageBuildProp.
Add a function that extracts build.prop from boot image.

Test: TH
Bug: 162623577
Change-Id: I673ccd8e7c4846ca4c41a86349a388b2e800724e
2021-01-07 17:20:22 -08:00
Yifan Hong 5057b95572 Split PARTITIONS_WITH_BUILD_PROP from *_WITH_CARE_MAP
Right now they are the same content. In the future, boot will be added
to PARTITIONS_WITH_BUILD_PROP, but it is not added to
PARTITIONS_WITH_CARE_MAP. Boot partition has a cpio filesystem in the
ramdisk, so it contains a build.prop file, but it doesn't make sense to
create care map from it.

Test: TH
Bug: 162623577

Change-Id: I9b5a20fe2d774b52cf7d5eae9deecbc75122a3dd
2021-01-07 17:20:22 -08:00
Yifan Hong c65a0545dd Move GetBootImageTimestamp to common.
Test: TH
Bug: 162623577

Change-Id: Icbd8b07dce91006a1abca1f0dc40726de8a10219
2021-01-07 17:20:22 -08:00
Treehugger Robot 17652e8981 Merge "Implement fake vendor snapshot" 2021-01-08 00:24:51 +00:00
Treehugger Robot c19b3445ad Merge "Move keymint to security." 2021-01-07 23:32:09 +00:00
Bob Badour ddfcfb8e2b Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD"
* changes:
  Revert^2 "Rough-in license metadata support to make."
  Revert^2 "Add variables for notice deps, license kinds etc."
2021-01-07 22:42:08 +00:00
Yifan Hong 1ed887f2c3 Merge "Add 5.10-android12-0 KMI for generic_arm64" 2021-01-07 21:23:10 +00:00
Janis Danisevskis 08764606de Move keymint to security.
Keymint has moved to hardware/interfaces/security, and all HALs under
security should be cfi enabled.

Test: N/A
Change-Id: Ie40f6a04acdb9091bdf5318b889407af89c787e1
2021-01-07 12:06:50 -08:00
Janis Danisevskis d432027f81 Update gsi/current.txt with secure clock and shared secret services.
Test: N/A
Change-Id: I4a862488081e5eecdddc648d952cf64f01c2b1db
2021-01-07 10:49:33 -08:00
Inseob Kim c497641e6f Implement fake vendor snapshot
A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I7fa5d5033a296965b21e840765cc7fe02fd1f44e
2021-01-07 13:56:33 +09:00
Bob Badour 7a95820907 Revert^2 "Rough-in license metadata support to make."
Changed shell script to /bin/sh syntax for portability to mac_os etc.

54066744f0

Change-Id: Ibd472fc1bedfdc228a704108f0280b13ab1c9333
2021-01-06 20:52:43 -08:00
Bob Badour 21bd34fe09 Revert^2 "Add variables for notice deps, license kinds etc."
dcfb9c5ef5

Change-Id: I6a60f55ab0e7013061a695cb1b7c5ffde29577dd
2021-01-06 20:46:49 -08:00
Treehugger Robot 939e511748 Merge "Update VNDK list for product modules" 2021-01-07 01:43:15 +00:00
Jose "Pepe" Galmes bee0c588a8 Merge "Support for recovery snapshot." 2021-01-06 21:17:54 +00:00