Commit graph

26168 commits

Author SHA1 Message Date
Colin Cross
06b891d2bd Merge "Do not run "mkdir ./" in codebase root directly" 2021-04-16 20:30:27 +00:00
Jimmy Chen
507e84a266 Merge "Fix soong_config handling of CompressedApex" 2021-04-16 09:38:03 +00:00
Anton Hansson
106e11cfe7 Fix soong_config handling of CompressedApex
add_json_bool treats non-empty variable as "true" by default (which is
conventional in make). Fix treatment of PRODUCT_COMPRESSED_APEX to
support the value false.

Bug: 185537646
Test: OVERRIDE_PRODUCT_COMPRESSED_APEX=false m nothing && \
      grep CompressedApex out/soong/soong.variables
Change-Id: I0562a375be377ab67a1d064e37aff5970c4ac8dd
2021-04-16 10:09:58 +01:00
Jaewoong Jung
08eb6d9308 Merge "Add a missing dependency to the prebuilt app rule." 2021-04-15 16:07:40 +00:00
Ulyana Trafimovich
a43c4ff302 Merge "Regroup conditions related to LOCAL_ENFORCE_USES_LIBRARIES." 2021-04-15 08:23:34 +00:00
Yo Chiang
1d1571e543 Merge "Support building recovery as standalone ramdisk in vendor_boot v4" 2021-04-15 04:02:15 +00:00
Treehugger Robot
99802c7544 Merge "Fix evaluation order of (Cfi|Memtag) exclude paths." 2021-04-15 03:49:38 +00:00
Paul Duffin
4d414336cf Merge "Make sure that BootJars is super set of ArtApexJars" 2021-04-14 21:24:37 +00:00
Paul Duffin
d418e961c8 Make sure that BootJars is super set of ArtApexJars
When constructing the dexpreopt config it will strip out any entries in
ART_APEX_JARS which are not present in PRODUCT_BOOT_JARS and store the
remainder in ArtApexJars.

Bug: 185391652
Test: lunch sdk_phone_x86_vendor && m nothing
      lunch sdk_phone_x86 && m nothing
Change-Id: I403ef9768a8ac2d222bbd6cfd0a68a2019f67c16
2021-04-14 20:35:58 +01:00
Ivan Lozano
1e3771f9ed Merge "Add Rust vendor image support to Make." 2021-04-14 19:02:48 +00:00
Po Hu
e1e871db1a Do not run "mkdir ./" in codebase root directly
Test: grep "mkdir -p \.\/" out/build-*.ninja
Bug: 185197550
Change-Id: Ic9568ff91006b0cf362d5b5b105eb25ea3e228a8
2021-04-14 17:39:21 +08:00
Jeffrey Vander Stoep
4cce23d7d5 Merge "Add test configuration for rust benchmarks." 2021-04-14 08:02:46 +00:00
Bill Yi
21e8c35b78 Merge RQ2A.210405.006 to aosp-master - DO NOT MERGE
Merged-In: I6f5f1dc87e27e7c2966d03cfe7992ccfe96de7d1
Merged-In: I9ae926913e3b6409e4b5ffff40ee72b2f42290ea
Change-Id: Icdb6feab48152418ee3e3d44a6d039225a11dbbf
2021-04-13 19:31:56 -07:00
Jaewoong Jung
d3561eaef0 Add a missing dependency to the prebuilt app rule.
Fixes: 185197439
Test: Manual test with the CLs cherry-picked.
Change-Id: I595d02497c6504d06239bf2e3562a5448b88b346
2021-04-13 15:03:05 -07:00
Evgenii Stepanov
13bc227ef0 Fix evaluation order of (Cfi|Memtag) exclude paths.
Before this change, exclude paths disabled sanitization of targets that
would otherwise be enabled by SanitizeDevice product variable (aka
SANITIZE_TARGET).

With this change, in addition to the above logic, exclude path disables
sanitization of targets that would otherwise be enabled by the
corresponding include path.

Effectively, this change disables sanitization of targets that are
covered by *both* include and exclude paths.

Test: MEMTAG_HEAP_SYNC_INCLUDE_PATHS=system/extras \
      MEMTAG_HEAP_EXCLUDE_PATHS=system/extras/su m su && \
      readelf -n path/to/su | grep .note.android.memtag
Bug: b/184976817
Change-Id: Ifa44b85556c6468fe5a37b5e6864c4ce9561ae2b
2021-04-13 10:11:58 -07:00
Ulya Trafimovich
affbaed3be Regroup conditions related to LOCAL_ENFORCE_USES_LIBRARIES.
No functional changes.

Bug: 132357300
Test: lunch aosp_cf_x86_64_phone-userdebug && m
Change-Id: Ia43ac9306c40df5bec525ae1b245add57f568ee5
2021-04-13 17:26:28 +01:00
Mitch Phillips
002dd30e94 Merge "[MTE] [CFI] Fix CFI -> diag promotion with memtag_heap." 2021-04-13 15:31:14 +00:00
Ulyana Trafimovich
27db0284d0 Merge "Don't expect all Java modules to have a manifest." 2021-04-13 15:16:37 +00:00
Ulya Trafimovich
6ef5779c98 Don't expect all Java modules to have a manifest.
Some libraries that go through manifest_check do not have a manifest or
APK, so there is nothing to check LOCAL_USES_LIBRARIES and
LOCAL_OPTIONAL_USES_LIBRARIES against. Handle it as if the manifest had
zero <uses-library> tags: don't fail the build unless the module has
non-empty LOCAL_USES_LIBRARIES or LOCAL_OPTIONAL_USES_LIBRARIES.

Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m
Change-Id: I4b1317cfbd93cb6129caba51b56081307a564442
2021-04-13 12:42:44 +01:00
Yo Chiang
7a8965c1fb Merge "Support installing modules.options file" 2021-04-13 09:20:24 +00:00
Mitch Phillips
77e037c887 [MTE] [CFI] Fix CFI -> diag promotion with memtag_heap.
Small typo in the AndroidMk sanitizer config, where adding heap MTE
ended up promoting CFI to diagnostic CFI accidentally, where this isn't
a valid transformation.

Bug: 184397138
Test: lunch aosp_sunfish-userdebug
Test: PRODUCT_MEMTAG_HEAP_ASYNC_INCLUDE_PATHS=\
Test: "hardware/qcom frameworks/opt/net/wifi" \
Test: CFI_INCLUDE_PATHS=hardware/qcom \
Test: m libwifi-hal
Change-Id: I74a03debf0042f2ee004503dd4a0e81131bd9fde
2021-04-12 15:35:47 -07:00
Peter Collingbourne
ffa65ba8f0 Merge "Only link the MTE notes against executables." 2021-04-12 21:26:05 +00:00
Liz Kammer
5f2d88bee8 Merge "Add LOCAL_FULL_INIT_RC to handle init_rc full path" 2021-04-12 19:05:27 +00:00
Peter Collingbourne
8b80f3e4d5 Only link the MTE notes against executables.
Soong has equivalent logic but it was missing on the .mk side.

Bug: 135772972
Change-Id: I5fc5a387313f6ae43c6510ee63d153aa81fb58b1
2021-04-12 12:04:29 -07:00
Yo Chiang
71c7048593 Merge "Strip whitespace from INTERNAL_VENDOR_RAMDISK_FRAGMENTS" 2021-04-12 03:33:37 +00:00
Yi-Yo Chiang
378b77929f Strip whitespace from INTERNAL_VENDOR_RAMDISK_FRAGMENTS
aosp/1664081 introduces a bug where if BOARD_VENDOR_RAMDISK_FRAGMENTS is
empty, then INTERNAL_VENDOR_RAMDISK_FRAGMENTS would become " " (single
whitespace).
Just unconditionally $(strip ...) the variable to remove any extra
whitespace.

Bug: 183395459
Test: m dist and check *-target_files-*.zip
Change-Id: Ic842756f3a64c073593592d22c980820664e11c1
2021-04-09 12:32:41 +00:00
Treehugger Robot
b2fccdd318 Merge "Fix build break for Android.bp dex_import" 2021-04-09 06:00:27 +00:00
Yi-Yo Chiang
12f92447a5 Support building recovery as standalone ramdisk in vendor_boot v4
If BOARD_BOOT_HEADER_VERSION >= 4,
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT is true and
BOARD_INCLUDE_RECOVERY_RAMDISK_IN_VENDOR_BOOT is true, then build
recovery as a standalone ramdisk fragment in vendor_boot image.

The recovery ramdisk would be a vendor ramdisk fragment packaged in
vendor_boot, whose ramdisk_name is "recovery" and ramdisk_type is
"VENDOR_RAMDISK_TYPE_RECOVERY".

Bootloader can omit loading the recovery ramdisk during normal boot to
optimize the size of the initramfs.

Bug: 183395459
Test: Presubmit
Test: Modify BoardConfig of CF and m dist. Verify the vendor_boot.img
  with unpack_bootimg.
Test: Strip the vendor_boot of the recovery ramdisk, and verify that CF
  can boot to normal boot without the recovery ramdisk.
Change-Id: I6e9a2781ec87aece10d4844fa18bbe9a7b4674e6
2021-04-09 12:47:00 +08:00
Treehugger Robot
fb65e89346 Merge "Add a build flag to turn on debugfs restrictions" 2021-04-09 00:12:02 +00:00
Treehugger Robot
f0ed29862f Merge "Remove all unused, legacy FDO build rules" 2021-04-08 18:31:40 +00:00
Treehugger Robot
13ebf1bdf5 Merge "Remove legacy host shared library linking with gcov" 2021-04-08 18:31:08 +00:00
Colin Cross
df682c6fe1 Merge "Package jacoco and proguard files out of a PACKAGING directory" 2021-04-08 17:17:53 +00:00
Liz Kammer
382be36c43 Add LOCAL_FULL_INIT_RC to handle init_rc full path
Soong supports references to other modules for init_rc property, so full
paths need to be passed from Soong to make rather than module local
paths.

Test: m droid dist
Bug: 184567830
Change-Id: Ib1873a3418830f5cbf32e26f55d3ad0ab0d9c9c5
2021-04-08 11:33:46 -04:00
Colin Cross
330b1fef31 Package jacoco and proguard files out of a PACKAGING directory
Package jacoco-report-classes.jar, proguard_usage.zip and
proguard_dictionary out of directories in $OUT/obj/PACKAGING
so that they get cleared by m installclean.  This will make
incremental builds that package these files accurate as long
as installclean was run, which is much faster than a full clean
build.

Bug: 184583915
Test: m TARGET_BUILD_APPS=DeskClock EMMA_INSTRUMENT=true dist
Change-Id: I60c6a0fec1fbce26eab8d5adab25a2231b48e251
2021-04-07 18:52:02 -07:00
Treehugger Robot
222b4ab071 Merge "Use BOARD_API_LEVEL to define ro.board.api_level" 2021-04-08 00:15:06 +00:00
Hridya Valsaraju
b39ec7084a Add a build flag to turn on debugfs restrictions
Starting with Android R launched devices, debugfs cannot be mounted in
production builds. In order to avoid accidental debugfs dependencies
from creeping in during development with userdebug/eng builds, this
patch introduces a build flag that can be set by vendors to enforce
additional debugfs restrictions for userdebug/eng builds. The same flag
will be used to enable sepolicy neverallow statements to prevent new
permissions added for debugfs access.

Bug: 184381659
Test: make with/without PRODUCT_SET_DEBUGFS_RESTRICTIONS
Change-Id: I9aff974da7ddce9bf1a7ec54153b161527b12062
2021-04-07 16:47:59 -07:00
Ivan Lozano
ae2274b5a2 Add Rust vendor image support to Make.
This adds the requisite Make logic to handle Rust vendor modules.

Bug: 184042776
Test: Example cc_library vendor module can depend on rust_ffi_shared.
Test: Example rust_library vendor-only module compiles.
Change-Id: Ib5ef6b403ca7e19a2aac9b77ff08b051425ea019
2021-04-07 16:25:55 -04:00
Rupert Shuttleworth
90eeff54ea Merge "Mark prop file as writable before writing to it." 2021-04-07 12:40:34 +00:00
Treehugger Robot
d641585484 Merge "Builds boot-test-harness.img, if INSTALLED_BOOTIMAGE_TARGET." 2021-04-07 02:05:36 +00:00
Rupert Shuttleworth
3993af706c Mark prop file as writable before writing to it.
Test: Fixes USE_BAZEL=1 m builds.
Change-Id: I1e0fb448049ff21cd32541af56e856442bc25fa7
2021-04-07 01:22:00 +00:00
Ryan Prichard
5727dc3dd1 Merge "Stop linking against libatomic" 2021-04-06 21:43:33 +00:00
Jakub Kotur
f8735bc4f3 Add test configuration for rust benchmarks.
Same as rust tests with additional parameter.

Test: atest <module with rust_benchmark defined>
Bug: 155309706
Change-Id: Ia734c17bcb0776bbc628ad1e7257a1b38cdb2e4e
2021-04-06 12:41:10 +02:00
Yo Chiang
bebc8a35ef Merge "Refactor vendor_boot v4 build logic and add more checks" 2021-04-06 09:02:14 +00:00
Bowgo Tsai
1ed0fd54dc Builds boot-test-harness.img, if INSTALLED_BOOTIMAGE_TARGET.
Similar to commit Ic887ea93d4c5181eca0f82c3cdf3ce3b72f4c185
for boot-debug.img, we should also only build boot-test-harness.img
if boot.img exists.

Bug: 184365242
Test: tree hugger

Change-Id: Ie0d9e460905d488e418cf4ee1bd44e6e7c58470d
2021-04-06 08:20:15 +00:00
Justin Yun
07ceaa71c1 Use BOARD_API_LEVEL to define ro.board.api_level
GRF devices must define the API level of which the SoC is first
shipped by setting BOARD_SHIPPING_API_LEVEL. As this is a permanent
value, vendors may not change this value even if they implement new
features under the GRF policy.

BOARD_API_LEVEL can be optionally defined in this case to manually
set the api level of the vendor implementation.
The current api level will be set to `ro.board.api_level` property.

Bug: 176950752
Test: atest --host post_process_props_unittest
Change-Id: Ib126c1a622ded9848650f3f60c0f15005867272d
2021-04-06 16:33:07 +09:00
Yo Chiang
b5bff9a4d3 Merge "Fix Makefile formatting" 2021-04-06 07:27:44 +00:00
Stephen Hines
d49aa55cf1 Remove all unused, legacy FDO build rules
There are no current users of this feature. All remaining references are
legacy scripts that aren't actually in-use today.

https://source.corp.google.com/search?q=BUILD_FDO_INSTRUMENT%20-file:build%2F
https://source.corp.google.com/search?q=LOCAL_FDO&ct=os&sq=package:%5Eandroid$

Test: build
Change-Id: I86ff6531a0868fb8e30741f0d04de1739fba4586
2021-04-05 17:13:00 -07:00
Stephen Hines
39e9090e7e Remove legacy host shared library linking with gcov
Test: build
Change-Id: I5f701edcfa9021f75659b6be4790119e6baca51c
2021-04-05 16:29:57 -07:00
Yi-Yo Chiang
9c461365de Fix Makefile formatting
Add indent to if-block so my text editor stop complaining.

Test: Presubmit
Change-Id: Ie3f4dbd114d894453bf46a91b47d5d0450e5e1e7
2021-04-05 12:49:17 +08:00
Yi-Yo Chiang
6c7e02e74e Support installing modules.options file
Usage:
```
BOARD_(VENDOR|VENDOR_RAMDISK)_KERNEL_MODULES_OPTIONS_FILE(_ver) := \
  $(wildcard <path of modules.options in source tree>)
```

Then the modules.options would be installed as
(vendor_dlkm|vendor_ramdisk)/lib/modules/(ver/)modules.options.

Also fix bug where the kernel version subdir is missing when generating
modules.blocklists file.

Bug: 182417593
Bug: 184238876
Test: Create a options file with incorrect syntax, verify build fails
Test: Verify the new macro indeed installs the options file
Change-Id: I7ba56e9dd8d73055bc276446c385a8d79080c2a6
2021-04-04 14:25:47 +00:00