This CL enables CFI on security sensitive components for product
configs that inherit core_64_bit.mk (and core_64_bit_only.mk). Note
that this only requests the build system to do so. Internal build
logic will dictate if this is actually enabled on the build or
not (CFI is currently disabled for ARM32 and MIPS for example).
In addition, this also restricts CFI_INCLUDE_PATHS and
PRODUCT_CFI_INCLUDE_PATHS to Arm64 architectures only. This helps
narrow which targets enable CFI out of the box.
Bug: 66301104
Test: CFI is enabled on aosp_* targets
Change-Id: I52af499dc34cd4b42fbfb1175f6a37aaf17b65dd
Allows speed-profile compiling vendor modules.
The profile will not correctly get copied during first boot, but this
is should only be a minor issue.
Bug: 78472563
Bug: 71901335
Test: make
Change-Id: I15c6f90b6bbd284ab48fd750267bed5189c9fea4
When linking in the UBSan minimal runtime, don't export the symbols.
This was resulting in an edge case where symbols were sometimes
undefined at runtime on address sanitized builds if static library
dependencies were integer overflow sanitized.
Bug: 78766744
Test: readelf on libraries show either inclusion of the shared library
or no undefined symbols related to the minimal runtime.
Change-Id: I4382cc72baefd7fa96cd83e8349e82f7b083f5aa
Merged-In: I4382cc72baefd7fa96cd83e8349e82f7b083f5aa
(cherry picked from commit e508169caf)
Fix mismatch between output directory of zipsync and input
directory of aapt2.
Bug: 79481102
Test: m checkbuild
Change-Id: If012c943af0c04cc3f0dd5c4266126412ae0a759
Merged-In: If012c943af0c04cc3f0dd5c4266126412ae0a759
(cherry picked from commit 164a33f194)
CTS harness code is moved to the new git project.
Update cts.mk to point to the new repo.
Bug: 78461075
Bug: 79201478
Bug: 79695450
Test: make cts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true
TARGET_PRODUCT=aosp_arm64
Test: cts-tradefed run cts --compatibility:include-filter
CtsGestureTestCases
Test: cts/run_unit_tests.sh
Test: make gts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true
TARGET_PRODUCT=aosp_arm64
Change-Id: I94c03071ec3db5a52c0fc0185bf69e2e57da9b21
We need the jars on boot and system server classpath in order to
symbolize profile information. Having the jars packed in a dist zip will
help a lot with the tools.
Test: m
Bug: 73313191
Change-Id: I5b64268d240055282099e9b86a5e6869e6405968
The objective of this commit is to support these 3 combinations:
1. Master-GSI + Master-VENDOR (w/ BOARD_VNDK_VERSION)
2. Master-GSI + Master-VENDOR (w/o BOARD_VNDK_VERSION for upgrading devices)
3. Master-GSI + O-MR1-VENDOR (w/ BOARD_VNDK_VERSION)
This commit defines a new property `ro.vndk.lite` to indicate the status
of BOARD_VNDK_VERSION run-time enforcement. Now, all devices should
have `ro.vndk.version` so that `libhidlbase.so`, `libRSCpuRef.so`, and
`libnativeloader.so` can find the versioned VNDK directory.
Bug: 78605339
Test: aosp_sailfish Master-SYSTEM + Master-VENDOR boots
Test: aosp_sailfish Master-GSI + Master-VENDOR boots
Test: aosp_walleye Master-SYSTEM + Master-VENDOR boots
Test: aosp_walleye Master-GSI + Master-VENDOR boots
Test: aosp_walleye Master-GSI + O-MR1-VENDOR boots
Change-Id: Iee9553b3ca9e0798a873e655d87d10cdc23d4b1c
Required libraries are specified with LOCAL_USES_LIBRARIES
Optional libraries are specified with LOCAL_OPTIONAL_USES_LIBRARIES
The make rule cross references the libraries against what's stored
in the manifest.
Verification is enabled if LOCAL_ENFORCE_USES_LIBRARIES is true. This
defaults to true if either of LOCAL_USES_LIBRARIES or
LOCAL_OPTIONAL_USES_LIBRARIES are specified.
Bug: 70934104
Bug: 67345922
Test: manual
Change-Id: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
Soong needs PLATFORM_VERSION to pass as --version-name when building
framework-res.apk.
Bug: 78324052
Test: aapt dump badging $OUT/system/framework/framework-res.apk | grep -i version
Change-Id: If47839182a1dd7c7a768b1253dd8b575d777ca7e
Files in this partition aren't actually installed, so we don't need to
use the BUILD_PREBUILT logic for APKs.
Bug: 66960479
Test: try PRODUCT_COPY_FILES of an apk into system, errors
Test: try PRODUCT_COPY_FILES of an apk into system_other, accepted
Change-Id: Ie721d2b884c6badfbe0e46f55c265b770bed618b
Merged-In: Ie721d2b884c6badfbe0e46f55c265b770bed618b
(cherry picked from commit 7d957c911a)
Use a list of support library java and android libraries exported
from Soong to rewrite dependencies into the appropriate
LOCAL_STATIC_JAVA_LIBRARIES and LOCAL_STATIC_ANDROID_LIBRARIES.
Bug: 78300023
Test: m checkbuild
Change-Id: I4fd1e563272fcef9238a46cda840210529bd706a
Merged-In: I4fd1e563272fcef9238a46cda840210529bd706a
(cherry picked from commit ceadbadc5d)
Move cts-tradefed to a new dir.
Fix cts.mk to point to the new dir.
Bug: 78461075
Bug: 79201478
Test: make cts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true TARGET_PRODUCT=aosp_arm64
Test: cts-tradefed run cts --compatibility:include-filter CtsGestureTestCases
Test: cts/harness/tools/cts-tradefed/tests/run_tests.sh
Test: make gts -j32 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true TARGET_PRODUCT=aosp_arm64
Change-Id: I8b610bf2f0b84baa7e8a30759f7d53d1b2a5d8f1
If a static android library lib1 has LOCAL_STATIC_ANDROID_LIBRARIES
lib2, then the R.class files for packages in lib2 will be merged
into the jar for lib1. If an app has lib1 in its
LOCAL_STATIC_ANDROID_LIBRARIES it will get the R.class files from
lib2 through lib1, instead of regenerating the R.java files with
numbering that matches the resource table of the app.
This was worked around for support libraries by keeping a
fix_dependencies.mk that added transitive static support libraries
to the direct static dependencies of apps. Instead, propagate
the packages that aapt2 generated R.java files for up as
--extra-packages arguments to the next aapt2 invocation, which
will force aapt2 to regenerate the R.java files for those packages.
Bug: 78300023
Test: m checkbuild
Change-Id: I7375e13241b4c4f2933032409fb7935abe133bfc
Merged-In: I7375e13241b4c4f2933032409fb7935abe133bfc
(cherry picked from commit 43c247e181)
Soong uses lists of proguard flags files from dependencies instead
of a single concatenated file. Allow Soong to pass the list to
make, which will concatenate it.
Move the check inside ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
in case Soong exports an Android library with an empty
LOCAL_SOONG_EXPORT_PROGUARD_FLAGS.
Bug: 73724997
Test: m checkbuild
Change-Id: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
Merged-In: Ia8f229ec5f9fc99a23bd471dfa70c9de7316de94
(cherry picked from commit 42669e6dc7)
Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.
Bug: 77342775
Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
This happens by default now.
Test: make
Bug: 73313191
(cherry picked from commit 25ef4c018a)
Merged-In: I5cc0efb656e1b44a161420c49250640bc9d702c5
Change-Id: I5cc0efb656e1b44a161420c49250640bc9d702c5
CL I8fe27e8c03334f9c90204db1e69447de65a06a38 introduced a new
Doclava-generated file that contains a list of dex signatures of
@removed API. This patch adds a new Makefile variable holding the
name of that file.
Bug: 78182899
Test: make
Merged-In: I20330bd59cc8b3d0ed0fa08d3f1c2be7b8656849
Change-Id: I22474bd0a43b03441a551fbb055ee336665e499a
The apk name does not match the install location at the stage we are
processing profiles. This causes the wrong profile key to be used in the
final profile which may generate an empty app image.
Test: m; flash, dumpsys dexopt and check for speed-profile
check that the app image is not empty
Bug: 78515726
Change-Id: Ic5d71296583be71d96f0e7a2dd59753f1d23c350
In the temporary P-Finalization state, where PLATFORM_SDK_VERSION has
been incremented to 28 but PLATFORM_VERSION_CODENAME.PPR1 := P instead
of REL, PLATFORM_SYSTEMSDK_VERSIONS is still only P. Set
PLATFORM_SYSTEMSDK_MIN_VERSION := 28 so that PLATFORM_SYSTEMSDK_VERSIONS
is 28 P. Once PLATFORM_VERSION_CODENAME.PPR1 := REL it will become
just 28.
Bug: 78023556
Test: print PLATFORM_SYSTEMSDK_VERSIONS
Change-Id: I72cbef7bb7c84e6fd6fe4602021bb72d759d1b5e
This will add ro.vendor.build.security_patch to /vendor/build.prop on
device
Bug: 76428542
Test: ro.vendor.build.security_patch entry shows up under
/vendor/build.prop
Change-Id: I4f783e996cb425a49c2b12ae4f364e12c6ca7784
Merged-In: I4f783e996cb425a49c2b12ae4f364e12c6ca7784
(cherry picked from commit 56d444b98f)