Commit Graph

16110 Commits

Author SHA1 Message Date
TreeHugger Robot
d002e49501 Merge "Enable CFI by default but restrict CFI_INCLUDE_PATHS" into pi-dev 2018-05-25 07:15:45 +00:00
Vishwath Mohan
6106a4ead5 Enable CFI by default but restrict CFI_INCLUDE_PATHS
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
2018-05-24 22:14:03 -07:00
Tao Bao
ba822a97cd Pack additional AVB testkeys into otatools.zip.
Bug: 71372646
Test: `m -j otatools-package`; Check $OUT/otatools.zip.
Change-Id: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
Merged-In: I42ad9047d1c5873b7770dc1f92757cd9e5e047ba
(cherry picked from commit 2d0e5124b0)
2018-05-24 10:07:30 -07:00
Mathieu Chartier
96a8c23a73 Allow profiles for vendor modules
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
2018-05-22 13:33:10 -07:00
TreeHugger Robot
eeb98ae3df Merge "Add waves to vendor owner whitelist" into pi-dev 2018-05-22 07:26:54 +00:00
Alan Ma
c2e074c081 Add a build task for cts_instant
Test: With other CLs in the topic, run 'm -j30 cts_instant'

bug: 79750671
Change-Id: Ib0381017300108a22919892070540b9e7f92aaf9
2018-05-18 14:09:03 -07:00
Ivan Lozano
89d3bee91b Merge "Don't export UBSan minimal runtime symbols." into pi-dev 2018-05-16 21:37:30 +00:00
Adam Seaton
7bc3e17c05 Merge "DO NOT MERGE: Updating security string for pi-dev to 2018-06-05" into pi-dev 2018-05-16 20:54:29 +00:00
TreeHugger Robot
7f309d6e4d Merge changes If012c943,Ica275899 into pi-dev
* changes:
  Fix zipped resources
  Fix incorrect renderscript zip deps
2018-05-16 19:47:33 +00:00
Ivan Lozano
9588875e80 Don't export UBSan minimal runtime symbols.
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)
2018-05-16 10:41:48 -07:00
Colin Cross
bdaada855f Fix zipped resources
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)
2018-05-16 09:00:01 -07:00
Colin Cross
4390b78cc0 Fix incorrect renderscript zip deps
Fix some incorrect dependencies after I12d33e52019aebac6ea33271939228e4690a4173.

Bug: 73885582
Test: m java FORCE_AAPT2=true
Change-Id: Ica2758991603e1605f629d843d19df5e2ef4fae1
Merged-In: Ica2758991603e1605f629d843d19df5e2ef4fae1
(cherry picked from commit 1465806ff2)
2018-05-16 08:58:52 -07:00
Logan Chien
aee6e5dd3b Merge "Build a single GSI for O-MR1-VENDOR and Master-VENDOR" into pi-dev 2018-05-16 09:38:57 +00:00
Fang Deng
42b9e05754 [DO NOT MERGE][Harness Separation] Update cts.mk to point to the new harness repo
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
2018-05-15 18:28:24 -07:00
Jasmine Cha
61b2c70815 Add waves to vendor owner whitelist
Bug: 74360112
Test: AOSP build pass
Change-Id: I7dd78f13fec495111d82828229afabe53abba712
2018-05-14 21:50:28 +00:00
TreeHugger Robot
42293db357 Merge "Create dist for boot and system jars" into pi-dev 2018-05-14 17:37:41 +00:00
Calin Juravle
8955a99f06 Create dist for boot and system jars
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
2018-05-11 16:38:03 -07:00
Christopher Ferris
4d432b5455 Add support for cortex-a55/cortex-a75.
Bug: 78133793

Test: Builds for target.
Change-Id: I98d638017f943083d3832ec2211333c48f07caf2
(cherry picked from commit ce7bf678f2)
2018-05-11 11:23:17 -07:00
Mathieu Chartier
110d18d73c Merge "Add support for preopt with uses-libraries" into pi-dev 2018-05-10 18:37:12 +00:00
Logan Chien
d73b94c097 Build a single GSI for O-MR1-VENDOR and Master-VENDOR
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
2018-05-10 21:17:58 +08:00
Jackal Guo
732ed64fbd Merge "Allow PRODUCT_COPY_FILES to copy raw APKs into system_other" into pi-dev 2018-05-10 03:14:12 +00:00
Mathieu Chartier
09f3b97f4b Add support for preopt with uses-libraries
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
2018-05-09 16:52:10 -07:00
TreeHugger Robot
96ec5a58ae Merge "Pass PLATFORM_VERSION to Soong" into pi-dev 2018-05-09 21:32:08 +00:00
Colin Cross
34aba6cf72 Pass PLATFORM_VERSION to Soong
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
2018-05-09 11:10:15 -07:00
Dan Willemsen
68e1289626 Allow PRODUCT_COPY_FILES to copy raw APKs into system_other
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)
2018-05-09 06:38:28 +00:00
android-build-team Robot
5739f2b53b Merge "Fix support libraries dependencies based on Soong modules" into pi-dev 2018-05-04 00:55:40 +00:00
android-build-team Robot
9665c10777 Merge "PLATFORM_PREVIEW_SDK_VERSION should be 0" into pi-dev 2018-05-04 00:12:35 +00:00
Colin Cross
c9c5dc89cd Fix support libraries dependencies based on Soong modules
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)
2018-05-03 15:47:41 -07:00
Fang Deng
428d477bf1 Merge "[Harness Separation] Move cts-tradefed to a new dir (cts.mk)" into pi-dev 2018-05-03 22:39:46 +00:00
Ian Pedowitz
23898eed9d PLATFORM_PREVIEW_SDK_VERSION should be 0
It is already set to 0 because of REL, but explicitly set it

Bug: 77589980
Test: N/A
Change-Id: I97839c7dc09f8313f767635469f27b2a0d0e5010
2018-05-03 15:27:27 -07:00
Colin Cross
2a5370179a Merge changes from topic "soong_support_lib_pi_dev_prereqs" into pi-dev
* changes:
  Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
  Allow Soong to export multiple proguard flags files
  Fix echo when copying package-res.apk
  Allow soong java libraries to include exported resources and proguard flags
2018-05-03 21:47:25 +00:00
Fang Deng
8ebc942152 [Harness Separation] Move cts-tradefed to a new dir (cts.mk)
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
2018-05-03 10:53:37 -07:00
Mathieu Chartier
b17f384dd7 Merge "Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set" into pi-dev 2018-05-02 23:13:42 +00:00
Colin Cross
43641b5e1f Regenerate R.java files from LOCAL_STATIC_ANDROID_LIBRARIES
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)
2018-05-02 15:31:03 -07:00
Colin Cross
0fd1234427 Allow Soong to export multiple proguard flags files
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)
2018-05-02 15:31:03 -07:00
Colin Cross
af7190084d Fix echo when copying package-res.apk
Bug: 73724997
Test: m checkbuild
Change-Id: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
Merged-In: Iad9f46e01c40d1993e279c6ea6dd9c60932064c8
(cherry picked from commit a90f4b297f)
2018-05-02 15:31:03 -07:00
Colin Cross
3c49164e0b Allow soong java libraries to include exported resources and proguard flags
Bug: 73724997
Test: m checkbuild
Change-Id: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
Merged-In: Ia02f816084d0eb1c0e0f20e1ecd57aaf3778874c
(cherry picked from commit 7874138a8a)
2018-05-02 15:31:03 -07:00
Mathieu Chartier
f16e8d0d94 Only default LOCAL_DEX_PREOPT_APP_IMAGE if not set
Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.

Bug: 77342775
Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
2018-05-02 20:21:37 +00:00
David Brazdil
700077506e Merge "DO NOT MERGE: Create filename constant for @removed API signature file" into pi-dev 2018-05-01 12:31:35 +00:00
Ian Pedowitz
9ab9fe762d Merge "DO NOT MERGE: P is now REL" into pi-dev 2018-05-01 01:07:50 +00:00
Calin Juravle
55a53c333c Merge "Remove profman --skip-apk-verification flag" into pi-dev 2018-04-30 21:36:40 +00:00
Calin Juravle
998608d9e8 Remove profman --skip-apk-verification flag
This happens by default now.

Test: make
Bug: 73313191

(cherry picked from commit 25ef4c018a)

Merged-In: I5cc0efb656e1b44a161420c49250640bc9d702c5
Change-Id: I5cc0efb656e1b44a161420c49250640bc9d702c5
2018-04-30 14:13:07 -07:00
android-build-team Robot
d4c88f6512 Merge "Adding VENDOR_SECURITY_PATCH to vendor partition build.prop" into pi-dev 2018-04-30 20:42:38 +00:00
Calin Juravle
7f6c1de799 Merge "Pass --dex-location when processing prebuilt profiles" into pi-dev 2018-04-27 19:45:20 +00:00
David Brazdil
b99de41221 DO NOT MERGE: Create filename constant for @removed API signature file
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
2018-04-27 09:02:32 +00:00
Jiyong Park
43c6a65706 Removed obsolete comment on PLATFORM_SYSTEMSDK_MIN_VERSION
The min version has been set.

Bug: 78023556
Test: no need
Change-Id: I12f816dfb9be7e9e945a68540f4efcfcc32b7cc2
2018-04-27 14:26:53 +09:00
Calin Juravle
60216615f4 Pass --dex-location when processing prebuilt profiles
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
2018-04-26 18:54:21 -07:00
Colin Cross
026ac8f240 Merge "Set PLATFORM_SYSTEMSDK_MIN_VERSION := 28" into pi-dev 2018-04-26 21:44:13 +00:00
Colin Cross
88f3946e0e Set PLATFORM_SYSTEMSDK_MIN_VERSION := 28
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
2018-04-26 11:44:38 -07:00
Max Bires
a1749987f0 Adding VENDOR_SECURITY_PATCH to vendor partition build.prop
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)
2018-04-26 01:36:03 +00:00