Commit Graph

16847 Commits

Author SHA1 Message Date
Ivan Lozano
e508169caf 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
2018-05-11 15:31:25 -07:00
Mathieu Chartier
cda2ef1d84 Fix some issues with LOCAL_USES_LIBRARIES
Properly check the value of PRIVATE_ENFORCE_USES_LIBRARIES instead of
only checking that the variable is non-empty.

Change the logic to use product libraries instead of the common ones.
This is required so that dex2oat can find the oat files when stripping
is enabled.

Bug: 70934104
Bug: 67345922
Test: manual

Change-Id: Iee71c2b26f3c0e136a8971ab913725b2b6e100b8
2018-05-11 13:51:02 -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
Christopher Ferris
05e9f6ce2c Merge "Add support for cortex-a55/cortex-a75." am: b510e7b521
am: 88f9778c34

Change-Id: I484f2313a07d33aad911edf7f714746a8cd327e7
2018-05-11 11:13:07 -07:00
Christopher Ferris
b510e7b521 Merge "Add support for cortex-a55/cortex-a75." 2018-05-11 17:56:12 +00:00
Colin Cross
a3e54cd24d Merge changes Ie3d4536b,If2504b7d,I411844fb am: fc56b59db4
am: d3a1fa618f

Change-Id: Id5b5b7d398f4ee2c2acbca24f169728ae940cc61
2018-05-10 22:36:19 -07:00
Colin Cross
fc56b59db4 Merge changes Ie3d4536b,If2504b7d,I411844fb
* changes:
  Fix a missed rename to my_proguard_sdk_raise
  Allow 0 in math functions
  Add tests for math.mk
2018-05-11 05:22:20 +00:00
Colin Cross
2029903b64 Allow forcing AAPT2 on
Building with FORCE_AAPT2=true will turn on AAPT2 for all modules
unless they set LOCAL_USE_AAPT2 := false.  The build system will
attempt to rewrite common AAPT patterns into AAPT2 patterns,
including removing --extra-packages for support library packages,
removing LOCAL_RESOURCE_DIR point to support library resources,
adding a default empty manifest file if it doesn't exist, and
converting LOCAL_STATIC_JAVA_AAR_LIBRARIES to
LOCAL_STATIC_ANDROID_LIBRARIES.

Bug: 79481102
Test: m checkbuild
Change-Id: I8d9d55fe4d5d5c965c64b0407efe74e0afc35c3a
2018-05-11 02:23:20 +00:00
Colin Cross
c27df2b71b Fix a missed rename to my_proguard_sdk_raise
Patch Iaf5853361767f0ea3e9ad4ec908aadd72d639c79 missed one rename
of my_support_library_sdk_raise to my_proguard_sdk_raise.

Test: m checkbuild
Change-Id: Ie3d4536bd80654a7eb4f209ef6d6a8de502a6cdc
2018-05-11 02:23:07 +00:00
Colin Cross
8b170358ba Allow 0 in math functions
Allow non-negative integers instead of positive integers in math
functions so that LOCAL_RENDERSCRIPT_TARGET_API := 0 can be compared
against 21.

Test: make -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Test: $(get_build_var CKATI) -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Change-Id: If2504b7de81f8dd676af749a04c9f3e580f298b6
2018-05-11 02:22:54 +00:00
Colin Cross
5bc27ea9f2 Add tests for math.mk
Turn commented out tests into assertion tests, and add more for
functions that didn't have tests.

Test: make -f ${ANDROID_BUILD_TOP}/build/make/core/math.mk RUN_MATH_TESTS=true
Test: $(get_build_var CKATI) -f ${ANDROID_BUILD_TOP}//build/make/core/math.mk RUN_MATH_TESTS=true
Change-Id: I411844fbf00268f863260b7ee42d1795f05c0d16
2018-05-11 02:21:39 +00:00
Christopher Ferris
47b29ea339 Add support for cortex-a55/cortex-a75.
Bug: 78133793
Bug: 78242072

Test: Builds for target.
Change-Id: I98d638017f943083d3832ec2211333c48f07caf2
Merged-In: I98d638017f943083d3832ec2211333c48f07caf2
(cherry picked from commit ce7bf678f2)
2018-05-11 00:43:19 +00:00
Mathieu Chartier
d6259f8d46 Merge "Add support for preopt with uses-libraries" 2018-05-10 21:17:19 +00:00
Colin Cross
c508fc6982 Merge "Fix zipped resources" am: 46ff7618b0
am: 9c64c59428

Change-Id: Ibd0e76e6596740a7e0300b68e5bc89bb51e11a77
2018-05-10 13:16:04 -07:00
Colin Cross
46ff7618b0 Merge "Fix zipped resources" 2018-05-10 20:04:25 +00:00
Mathieu Chartier
d022b65c98 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

(cherry picked from commit 09f3b97f4b)

Merged-In: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
Change-Id: I670431f938c31115a7812c1857c31b9f71675632
2018-05-10 11:52:26 -07:00
Mathieu Chartier
00b42e8c6e Merge "Add support for preopt with uses-libraries" into pi-dev
am: 110d18d73c

Change-Id: Ia861e8d9bb2570ccb10c101e81e83eb372ef41f7
2018-05-10 11:47:48 -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
yangbill
4e90814306 Merge "Build System: Fix rpath error if native executable under testcase folder." am: 5c3646c201
am: 26f5fb8d60

Change-Id: I6a167a932833b60da5ade47511f2d239c591315e
2018-05-09 17:56:28 -07:00
Treehugger Robot
8f5535fd93 Merge "Pass PLATFORM_VERSION to Soong" 2018-05-10 00:54:13 +00:00
Treehugger Robot
5c3646c201 Merge "Build System: Fix rpath error if native executable under testcase folder." 2018-05-10 00:40:27 +00:00
Elliott Hughes
f29014c082 Merge "Revert "Revert "Revert "Set global default to use lld."""" am: 0f8056b254
am: f25dd76703

Change-Id: I8da835d8b13d4e5ec9f93c6b253dbfa997334f12
2018-05-09 17:05:39 -07:00
Colin Cross
164a33f194 Fix zipped resources
Fix mismatch between output directory of zipsync and input
directory of aapt2.

Test: m checkbuild
Change-Id: If012c943af0c04cc3f0dd5c4266126412ae0a759
2018-05-09 23:56:19 +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
Elliott Hughes
0f8056b254 Merge "Revert "Revert "Revert "Set global default to use lld."""" 2018-05-09 23:46:16 +00:00
Colin Cross
0fdbb4c910 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
Merged-In: If47839182a1dd7c7a768b1253dd8b575d777ca7e
(cherry picked from commit 34aba6cf72)
2018-05-09 23:44:18 +00:00
Colin Cross
39599c9ddf Merge "Pass PLATFORM_VERSION to Soong" into pi-dev
am: 96ec5a58ae

Change-Id: I2824263efd0abeed92b8381fe43607b938edd5ce
2018-05-09 14:40:23 -07:00
TreeHugger Robot
96ec5a58ae Merge "Pass PLATFORM_VERSION to Soong" into pi-dev 2018-05-09 21:32:08 +00:00
Elliott Hughes
876a36e8ac Revert "Revert "Revert "Set global default to use lld."""
This reverts commit da8febf39c.

Bug: http://b/73768157
Reason for revert: breaks several bionic/debuggerd/libunwind_stack gtests

Change-Id: I161cf85cf352b80644524fd4bb70ff7c75fbc1d0
2018-05-09 20:33:25 +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
Tri Vo
dab6055646 Merge "Expose selinux variables to Soong." am: d744f8cc8e
am: 570ea0cc8a

Change-Id: Id9d04262afcd7f48c1e1ba248a703d7fd2c48bff
2018-05-08 19:15:26 -07:00
Tri Vo
d744f8cc8e Merge "Expose selinux variables to Soong." 2018-05-09 01:57:14 +00:00
Chih-hung Hsieh
02bbb59dc8 Merge "Revert "Revert "Set global default to use lld.""" am: 44f320c29e
am: 3b0208b7ba

Change-Id: I33e9cd9621c1a471ebb58e383c4098fca2f80272
2018-05-08 16:13:02 -07:00
Chih-hung Hsieh
44f320c29e Merge "Revert "Revert "Set global default to use lld.""" 2018-05-08 22:57:01 +00:00
Chih-hung Hsieh
da8febf39c Revert "Revert "Set global default to use lld.""
This reverts commit 44988be862.

Three known build failures with lld are fixed by
(1) adding --no-fatal-warnings to link
(2) disable LLD for some PGO build targets
(3) disable LLD for some art oatdump tests, pending c/681542

Change-Id: Icebf6661509bf4f6051f91dc74eaa07dbc7c1d42
2018-05-08 20:13:41 +00:00
android-build-prod (mdb)
5fe128653f Merge "Revert "Set global default to use lld."" am: ec87c9f56e
am: 27976638b5

Change-Id: I847bccebac49cb293fb5fe05d63315528ff95606
2018-05-08 08:54:56 -07:00
android-build-prod (mdb)
ec87c9f56e Merge "Revert "Set global default to use lld."" 2018-05-08 15:33:44 +00:00
Nicolas Geoffray
44988be862 Revert "Set global default to use lld."
Bug: 73768157

Some errors with HOST_PREFER_32_BIT:
HOST_PREFER_32_BIT=true m -j32 test-art-host-gtest

This reverts commit 962424149d.

Change-Id: I788ec3e39d6989d583d3c7d4706299fe5a7841f2
2018-05-08 12:37:34 +00:00
Mathieu Chartier
c6029da0e2 Merge "Specify dirty image objects for profile boot image" am: 85f2ffd5ee
am: 75eb79ca90

Change-Id: Ibade8422e3450091b1fe9c4fbb8abb83d9305d8b
2018-05-07 18:33:30 -07:00
Mathieu Chartier
85f2ffd5ee Merge "Specify dirty image objects for profile boot image" 2018-05-08 01:19:59 +00:00
Nelson Li
479da2f3bb Build System: Validate AndroidTest.xml Configs
make <test> should fail if the test has a poorly configured
atest configuration

BUG: 73082610
Test: cd packages/apps/Bluetooth/tests/unit; mma
      Modify AndroidTest.xml to a not well-formed xml; mma
      Then, it should build fail.
      atest -v BluetoothInstrumentationTests

Change-Id: I774b4eb81a1b9e9ae31de949aea995d2f258e9a1
2018-05-08 00:26:40 +00:00
Chih-hung Hsieh
c9a39c7beb Merge "Set global default to use lld." am: 1defe63536
am: 3df942176b

Change-Id: I212cd5e5843aadbfdcc04cc87f76a4bfe29f5bb0
2018-05-07 15:50:29 -07:00
Chih-hung Hsieh
1defe63536 Merge "Set global default to use lld." 2018-05-07 19:44:53 +00:00
Mathieu Chartier
399a6d8673 Specify dirty image objects for profile boot image
This wasn't being specified previously while it should have been.

Test: make
Change-Id: I671e93d4502b1f47cff31de19f2ea558dde6253b
2018-05-07 11:50:00 -07:00
Chih-Hung Hsieh
962424149d Set global default to use lld.
* Use clang lld by default, unless LOCAL_USE_CLANG_LLD
  or USE_CLANG_LLD is set to false or 0.

Bug: 73768157
Test: make checkbuild and boot
Change-Id: I9b28550a0626c96f6e025b0f20705a2e4a5049d7
2018-05-07 09:27:49 -07:00
yangbill
59c616a263 Build System: Fix rpath error if native executable under testcase folder.
error while loading shared libraries: libc++.so:
cannot open shared object file: No such file or directory

BUG: N/A
Test: make -j16 liblatinime_host_unittests
      out/host/linux-x86/testcases/liblatinime_host_unittests/x86_64/liblatinime_host_unittests

Change-Id: I97738f728c29ab904fc979ff9b08a8d5bd1328cd
2018-05-07 06:29:12 +00:00
Inseob Kim
47c13524aa Install product shared libraries in /product/lib
This is to support /product/lib. Shared libraries with
LOCAL_PRODUCT_MODULE := true or product_specific: true has been
installed in /system/lib. They are now installed in /product/lib.

Bug: 73095206
Test: build succeeded && product libraries are installed under
/product/lib

Change-Id: Ic49a0a3e1e47666c4d15189ab6fded8007ecb498
2018-05-04 15:05:02 +09:00