Commit Graph

26184 Commits

Author SHA1 Message Date
Yabin Cui
462c12dfae Disable unsigned-shift-base by default.
New clang compiler enables unsigned-shift-base as part of
integer sanitizers. But it makes some daemons crash at
libc++.

Bug: 177566116
Test: build.
Change-Id: I6d64fa5002b6035be4d960441eb5176c97152af9
2021-01-14 14:14:08 -08:00
android-build-team Robot
2a85407c26 Version bump to RQ2A.210105.005 [core/build_id.mk]
Change-Id: I8c24b12224ceadc26a8098e11f9302364f010547
2021-01-14 20:57:31 +00:00
Treehugger Robot
d041e4babf Merge "Make ro.product.cpu.abilist.* to be fetched dynamically" 2021-01-14 18:34:22 +00:00
Martin Stjernholm
23e4ab2edf Merge "Add check that a module doesn't try to override itself." 2021-01-14 10:36:25 +00:00
android-build-team Robot
73e7049dea Version bump to RQ2A.210105.004 [core/build_id.mk]
Change-Id: I9eabaedf9e8e7024ea1b152b14af27f581ef9772
2021-01-14 07:55:04 +00:00
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
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
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
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
Evgenii Stepanov
de32b6d59c Merge "Include/exclude paths for memtag sanitizer." 2021-01-12 19:33:02 +00:00
Ulyana Trafimovich
c275c68dfd Merge "Initialize DEX_PREOPT_DEFAULT based on global dexpreopt settings." 2021-01-12 10:12:14 +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
android-build-team Robot
63bdab48cc Version bump to RQ2A.210105.003 [core/build_id.mk]
Change-Id: I756c880f842c0b8ea97590229bb212c313b60d4b
2021-01-12 04:54:55 +00:00
Treehugger Robot
7c6370772f Merge "Add unit_test option to module-info.json" 2021-01-12 02:37:47 +00:00
SzuWei Lin
7240eca439 Merge "Skip generate-common-build-props for older devices without /product" 2021-01-12 01:28:36 +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
android-build-team Robot
63f78c1414 Version bump to RQ2A.210105.002 [core/build_id.mk]
Change-Id: I3fe2e76713ba8f52ac37cf48897c7729a1f382bb
2021-01-09 01:51:24 +00: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
Treehugger Robot
17652e8981 Merge "Implement fake vendor snapshot" 2021-01-08 00:24:51 +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
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
Jose "Pepe" Galmes
bee0c588a8 Merge "Support for recovery snapshot." 2021-01-06 21:17:54 +00:00
Bob Badour
2d76d2df84 Merge changes from topic "revert-1377717-metalics-BOEMJWNSHV"
* changes:
  Revert "Add variables for notice deps, license kinds etc."
  Revert "Rough-in license metadata support to make."
2021-01-06 19:17:43 +00:00
Jerome Gaillard
dcfb9c5ef5 Revert "Add variables for notice deps, license kinds etc."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: I1f672e6e8ec48f0141bb4b6cc4eb2efed1eeef6b
2021-01-06 19:00:05 +00:00
Jerome Gaillard
54066744f0 Revert "Rough-in license metadata support to make."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: Iaf2243cba16f6191b022371a14f81ef8194a47d1
2021-01-06 19:00:05 +00:00
Bob Badour
5e35fecc1d Merge changes from topic "metalics"
* changes:
  Rough-in license metadata support to make.
  Add variables for notice deps, license kinds etc.
2021-01-06 18:08:06 +00:00
Inseob Kim
d8cc1352b5 Implement directed vendor snapshot
Vendors can now generate only needed modules by setting the following
Makefile variables:

- DIRECTED_VENDOR_SNAPSHOT: set to true
- VENDOR_SNAPSHOT_MODULES: list of snapshot candidates

e.g.

DIRECTED_VENDOR_SNAPSHOT := true
VENDOR_SNAPSHOT_MODULES := toybox_vendor sh_vendor libbase libcutils ...

Bug: 157967325
Test: m dist vendor-snapshot after setting those in BoardConfig.mk
Change-Id: Iea1ddbe78e143316fb6cb5027de90b9c83252f80
2021-01-06 23:10:41 +09:00
Bill Yi
0fc21ee8a5 Merge "Merge RQ1A.210105.003 to aosp-master - DO NOT MERGE" 2021-01-06 13:58:59 +00:00
Inseob Kim
5cbfbf4ca7 Merge "Support building mixed versions of sepolicy" 2021-01-06 05:07:05 +00:00
Bill Yi
8d34c584de Merge RQ1A.210105.003 to aosp-master - DO NOT MERGE
Merged-In: Ic0390b8c19cbe4b38042939647e316901bb4bd17
Change-Id: I4f5adfb48b892311c1bd2dd2a50b670547eb2fb5
2021-01-05 18:30:21 -08:00
Inseob Kim
fb7c801b67 Support building mixed versions of sepolicy
Now newer system policy and older vendor policy can be built together by
setting following variables:

- BOARD_SEPOLICY_VERS
- BOARD_REQD_MASK_POLICY (copy of older system/sepolicy/reqd_mask)
- BOARD_PLAT_VENDOR_POLICY (copy of older system/sepolicy/vendor)
- BOARD_(SYSTEM_EXT|PRODUCT)_(PUBLIC|PRIVATE)_PREBUILT_DIRS (copy of
  older system_ext and product policies)

Bug: 168159977
Test: try normal build and mixed build
Test: boot and check selinux denials
Change-Id: I4e2890c96cab69e60c83c60f8c396cfe049ec05b
2021-01-06 10:41:45 +09:00
Bob Badour
20fc1b3719 Rough-in license metadata support to make.
Change-Id: Icaff40171b94538219a8caa697b182dbdcc8229a
2021-01-05 08:42:48 -08:00
Bob Badour
6421674a39 Add variables for notice deps, license kinds etc.
Change-Id: Ib8e538bd09044a5791083b362d807cd9293833d5
2021-01-05 08:42:48 -08:00
Jiyong Park
cddea9b426 Add TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION
The APEX symlink optimization is a build-time trick to save the
storage/RAM usage of APEX by replacing some files in APEX with symlinks
to the files in the system partition. The optimization however is
automatically turned off for 'updatable: true' APEXes because doing the
optimization for them will hide the sys-health implication until when
the APEXes are built unbundled (i.e. prebuilt) and thus the
optimization is impossible.

TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION forcibly disables the safety net.
When it is set to true, the symlink optimization is done regardless of
the 'updatable' property. This is useful for some of the devices like Go
where most APEXes (even the 'updatable: true' ones) should be
effectively non-updatable.

Bug: 175630508
Test: TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION=true m and check that
updatable APEXes have symlinks to system libs

Change-Id: I261fd4ab2dd8e62ff435306b11168121cbcf662a
2021-01-05 21:03:30 +09:00
android-build-team Robot
8d0e078d9a Make change and version bump to RQ2A.210105.001
Change-Id: I54ff8e1c9e17bcaca7c11b9e7589be9109c2a77e
2021-01-05 00:25:19 +00:00
android-build-team Robot
a93ed83ef0 Make change and version bump to RQ2A.210104.001
Change-Id: I38c508fb0ed53a9e5fb70b76883dd810155589a9
2021-01-03 22:15:59 +00:00
android-build-team Robot
bd101c1edf Make change and version bump to RQ2A.210103.001
Change-Id: Ic30e625ba0295852a3bd8b51956ef3a972405cbe
2021-01-02 22:16:21 +00:00
android-build-team Robot
a52f76d96f Make change and version bump to RQ2A.210102.001
Change-Id: Ic672a80ceb5be8e0c36d2dcb038091d85d044309
2021-01-02 00:16:35 +00:00
android-build-team Robot
d66aa2d0ef Make change and version bump to RQ2A.210101.001
Change-Id: I2d6d849ed575302cdd5b90f21a9acc3f781fec49
2021-01-01 00:16:44 +00:00
SzuWei Lin
baf5c8114b Make ro.product.cpu.abilist.* to be fetched dynamically
The patch rename the original ro.product.cpu.abilist* to
ro.system.product.cpu.abilist*. The property service will
define ro.product.cpu.abilist* by the intersect ABIs of
ro.{partition}.product.cpu.abilist*.

Bug: 176520383
Test: build aosp_arm64-userdebug and check the system/build.prop
Change-Id: I26e404632b28e9f6abd462920e0084ad2022a763
2020-12-31 16:59:27 +08:00
android-build-team Robot
d7858f63d8 Make change and version bump to RQ2A.201231.001
Change-Id: Ibf0b0b2d0055b1e30bbeacaaf88c5b546337884e
2020-12-31 00:17:24 +00:00
android-build-team Robot
86de3b4661 Make change and version bump to RQ2A.201230.001
Change-Id: Ib13838798a7b032407237c8892fa0e2bc3a4b152
2020-12-30 00:16:27 +00:00
android-build-team Robot
d7ed720dec Make change and version bump to RQ2A.201229.001
Change-Id: I13be31122ee7fe1cfa9c30de03165cf3ac5d3f04
2020-12-29 00:17:16 +00:00