Commit Graph

12999 Commits

Author SHA1 Message Date
Yi Kong
bd475367c3 Strip libgcc to only keep fallback symbols
We use libgcc as fallback for symbols not present in libclang_rt
builtins, however we didn't know what exact symbols were being used,
some may not be intended to fallback.

Create libgcc_stripped, which only contains unwind symbols from libgcc.

Bug: 29275768
Test: bionic-unit-tests
Change-Id: I98df02ead7f6cca4e76ec92d4f880de4e03f5b5c
Merged-In: I5b349fa6138e51663bf3b67109b880b4356da8e8
(cherry picked from commit acee27cd72)
2019-05-03 08:24:10 +00:00
TreeHugger Robot
ead8b42a1d Merge "Disable hwasan memory stats." into qt-dev 2019-05-02 22:25:21 +00:00
Evgenii Stepanov
d98ccb44f2 Disable hwasan memory stats.
Disable a debugging feature in hwasan that seems to be causing flaky selinux
denials in the boot test:

05-02 12:11:11.360  1663  1663 I auditd  : type=1400 audit(0.0:8): avc: denied { read } for comm="iptables-wrappe" path="/proc/1015/statm" dev="proc" ino=30968 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netmgrd:s0 tclass=file permissive=0

I could not reproduce this locally, but this feature has no users and
I've verified that things keep working without it.

This does not affect any shipped product.

Bug: 131438232
Bug: 112438058
Bug: 131845076
Test: crosshatch_hwasan boot test
Change-Id: I08d46d19151e6d5221cdd56fd6864dae224fae25
2019-05-02 12:52:32 -07:00
Ian Pedowitz
6b360490e1 Merge "Revert "RESTRICT AUTOMERGE Android Q is API 29"" into qt-dev 2019-05-02 00:59:09 +00:00
Ian Pedowitz
9e2bf9ec51 Revert "RESTRICT AUTOMERGE Android Q is API 29"
This reverts commit ca6e927678.

Reason for revert: QT SDK Finalization. Will be merged again on/after May 13th

Bug: 129975435
Change-Id: Ice988aea0cab8ba462166c27b0d7f95fc7d46466
2019-05-02 00:55:30 +00:00
Ian Pedowitz
36ed555dfc Merge "RESTRICT AUTOMERGE Android Q is API 29" into qt-dev 2019-05-02 00:53:29 +00:00
Suprabh Shukla
ca6e927678 RESTRICT AUTOMERGE Android Q is API 29
Test: Only updated a constant. Builds as expected.

Bug: 129975435
Change-Id: I10bb72d59d7ffdb942b11701d3cebc383afa6a77
2019-04-30 00:17:09 +00:00
Mathieu Chartier
8910722e71 Enable app image startup cache for preopted apps
To get performance benefits here for apps that aren't installed
through the play store.

Bug: 130217075
Bug: 131310042
Test: make
Change-Id: I46dc3e4a588be52f359577ca1f0fd2dcd440c4bf
2019-04-29 11:39:18 -07:00
Colin Cross
363360c963 Support target.hostdex.required
Hostdex modules sometimes need extra required modules, add
target.hostdex.required.

Bug: 131167818
Test: manual
Change-Id: I599f3499f0b738556baeb27185371a42b4c2701b
Merged-In: I599f3499f0b738556baeb27185371a42b4c2701b
(cherry picked from commit 7f87f4fdeb)
2019-04-26 11:13:30 -07:00
TreeHugger Robot
a25a2779c6 Merge "Prebuilt APEXes are recoreded in apexkeys.txt" into qt-dev 2019-04-24 03:46:16 +00:00
Colin Cross
687fd94d44 Merge "Fix handling optimize.enabled from java_defaults" into qt-dev 2019-04-24 03:31:49 +00:00
Jiyong Park
a41f12a6fa Prebuilt APEXes are recoreded in apexkeys.txt
apexkeys.txt now correctly lists prebuilt APEXes with keys specified as
PRESIGNED.

This change also fixes a bug that non-installable APEXes are listed in
the file.

Bug: 131130235
Test: m out/soong/apexkeys.txt and check that
com.android.apex.cts.shim.apex is listed there with PRESIGNED keys.

Change-Id: Ib6d391a82864714743a1cc59cd655bea917b5073
2019-04-23 18:03:16 +09:00
TreeHugger Robot
6decc5d7ff Merge changes Ic5f467fb,I68d52668 into qt-dev
* changes:
  Ensure that PathsForModuleSrc works with prebuilts
  Fix: PathsForModuleSrc does not work for a replaced dependency
2019-04-23 06:24:22 +00:00
Jiyong Park
d37a882ad4 Set default target SDK version for APEX
Target SDK version is used for targeting an APEX to a specific set of
platform builds. Usually, the targeting is unrestricted (in case the
APEX can run on all platforms), or based on platform SDK version (e.g.
28 for P). However, when the platform is under development and SDK is
not finalized, the targeting should be much more fine-grained; the
APEX should be targeted to a very specific build that supports the same
set of APIs that the APEX was built against.

To support that, target sdk version is automatically set by the build
system. When the platform is released or SDK is finalized, the target sdk
version set to the SDK version number. If not, it is set to
<version_code>.<fingerprint> (e.g., Q.123456).
Note that the target sdk version set by the build system is used only
when the target sdk version is not explicitly set in
AndroidManifest.xml.

Bug: 130541924
Test: UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true \
TARGET_BUILD_APPS=com.android.tzdata m
build.ninja has --target_sdk_version Q.$$(cat out/soong/api_fingerprint.txt)

Test: aapt dump badging out/dist/com.android.tzdata.apex | grep \
targetSdkVersion shows:
targetSdkVersion:'Q.6ee443d9ad5f0cca7a43cfa97b7fc62a'

Merged-In: I086230d787f01075c28fc3f0163550300fa00212
Change-Id: I086230d787f01075c28fc3f0163550300fa00212
(cherry picked from commit 71b519d6ce)
2019-04-23 14:26:06 +09:00
Colin Cross
efcdd3b4bd Merge changes from topic "framework.aidl" into qt-dev
* changes:
  Allow codename.fingerprint format for targetSdkVersion
  Build framework.aidl in Soong
  Get default sdk_test.go values from config
2019-04-22 23:26:55 +00:00
Sasha Smundak
4eaeab4442 Fix handling optimize.enabled from java_defaults
Some module types (`android_test`, etc.) set `optimize.enabled` by
default. If such module happens to have `defaults` attribute which
clears `optimize.enabled`, the latter value is ignored.

Fixes: 129858282
Test: unit tests in java_test.go,
`atest CtsExtendedMockingTestCases` succeeds with aog/936802
reverted (that is, with cts/test/mocking converted to Android.bp)

Change-Id: Ib8e3a0ab0bd489d70ed07f626082aeae31c45e7c
Merged-In: Ib8e3a0ab0bd489d70ed07f626082aeae31c45e7c
(cherry picked from commit 2057f82161)
2019-04-22 10:46:51 -07:00
Colin Cross
a3f279bd1b Fix relative path of bpf modules
Using bpf as test data installs the module into a strange
subdirectory, clear the Rel() value before exporting it as
a SourceFileProducer.

Bug: 130206035
Test: m vts_test_binary_bpf_module
Change-Id: Ifdae90d11b15d65c097562d7d6985a8a1dca2bfd
Merged-In: Ifdae90d11b15d65c097562d7d6985a8a1dca2bfd
(cherry picked from commit 0adfee5a20)
2019-04-22 17:42:23 +00:00
Colin Cross
5c87791a78 Allow codename.fingerprint format for targetSdkVersion
Use codename.fingerprint format for targetSdkVersion if it is unset
in the manifest and UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.

Test: manual
Bug: 130541924
Change-Id: I4e3b1274cc32038b00b292dc6d67559eb320e9e4
Merged-In: I4e3b1274cc32038b00b292dc6d67559eb320e9e4
(cherry picked from commit 109328714f)
2019-04-22 10:08:35 -07:00
Colin Cross
9bdfaf0591 Build framework.aidl in Soong
Move the rules to build framework.aidl into Soong, and use it
when compiling aidl files with sdk_version: "current".

Also fixes incorrectly using the aidl includes exported by the
"framework" module when the proguardRaiseDep dependency was
added.

Bug: 130798034
Test: sdk_test.go
Change-Id: I126adf1d9e7b6acb528875ff62b974ba7ad9a337
Merged-In: I126adf1d9e7b6acb528875ff62b974ba7ad9a337
(cherry picked from commit 3047fa23da)
2019-04-22 10:08:35 -07:00
Colin Cross
31174703be Get default sdk_test.go values from config
This will help avoid merge conflicts between branches that have
additional default libraries.

Bug: 130798034
Test: sdk_test.go
Change-Id: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d
Merged-In: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d
(cherry picked from commit 901ea31b7c)
2019-04-22 10:08:17 -07:00
Jiyong Park
dfa933e6e4 Ensure that PathsForModuleSrc works with prebuilts
prebuilt_test is amended to ensure
f2976304f7 is not broken.

PathsForModuleSrc is called to check if the file is from correct module
(either from source or prebuilt module)

Bug: 130627486
Test: m

Merged-In: Ic5f467fbc2837727df92102530687e967cd5529f
Change-Id: Ic5f467fbc2837727df92102530687e967cd5529f
(cherry picked from commit d4671111ef)
2019-04-20 11:52:01 +09:00
Jiyong Park
1570c803b6 Fix: PathsForModuleSrc does not work for a replaced dependency
PathsForModuleSrc does not work if a source module is replaced with a
prebuilt module. This is because the function uses GetDirectDepWithTag
with the name of the original source module. Since the dependency is
replaced and the prebuilt module has the name "prebuilt_<name>", the
search always fails.

Fixing this by re-implementing GetDirectDep* functions inside Soong
using VisitDirectDep.

Bug: 130627486
Test: m
Merged-In: I68d52668283c429d5e93c7f2c81f6a8db1f24893
Change-Id: I68d52668283c429d5e93c7f2c81f6a8db1f24893
(cherry picked from commit f2976304f7)
2019-04-20 11:51:22 +09:00
Yi Kong
ac9e61536f Switch to clang-r353983c
Test: TreeHugger
Bug: 129712936
Change-Id: Ie1545f174017dbceab25a4e420c015230d74e97a
Merged-In: I15f1db69de86ad8b9f2a0ae086fa2df87835948a
(cherry picked from commit 09ecee7686)
2019-04-19 15:22:11 -07:00
Jesse Hall
962462b203 Merge "Fix: HideFromMake is not registered to llndk_* module types" into qt-dev 2019-04-19 18:18:45 +00:00
Jiyong Park
a1bc838ce1 Fix: HideFromMake is not registered to llndk_* module types
llndk_* module types are not initialized via cc.Module.Init(). As a
consequence, mutated properties like HideFromMake, etc. were not
registered and this caused problem when the mutated properties are set
by one of the mutators like the sanitizerMutator. Specifically, both
asan and non-asan variant of an llndk_header were both exported to Make
although HideFromMake was set to true for the non-asan variant.

Fixing this bug by explicitly registering BaseProperties struct which
contains the mutated properties.

Bug: 130652996
Test: Following works:
$ lunch aosp_cf_x86_pasan-userdebug
$ mkdir frameworks/native/test && mkdir frameworks/native/test/include
$ cat > frameworks/native/test/Android.bp
llndk_headers {
    name: "test_headers",
    export_include_dirs: ["include"],
}
^D
$ SANITIZE_TARGET='address' make

Change-Id: I44e3668460448d79382617df61171b0ab5b4d98d
Merged-In: I44e3668460448d79382617df61171b0ab5b4d98d
2019-04-18 14:41:51 -07:00
Dan Willemsen
6128b85885 TARGET_FS_CONFIG_GEN is a list, not a single path
Bug: 130787336
Test: m oemaids_header_gen oemaids_headers passwd group
Test: Set TARGET_FS_CONFIG_GEN to a list of paths
Change-Id: Ic1f7d38239f3f805ca0723c24005d3e18a811870
Merged-In: Ic1f7d38239f3f805ca0723c24005d3e18a811870
(cherry picked from commit 54879d193e)
2019-04-18 14:27:46 -07:00
TreeHugger Robot
5cd481adde Merge "Make makevars deterministic" into qt-dev 2019-04-17 00:23:03 +00:00
Colin Cross
1bdf650bb1 Make makevars deterministic
Sort map keys before iterating over them to produce makevars.

Bug: 130411407
Test: m checkbuild
Change-Id: I4153977705da05a5c73e641f93d02f408209c897
Merged-In: I4153977705da05a5c73e641f93d02f408209c897
(cherry picked from commit 91268c668c)
2019-04-16 14:50:10 -07:00
Jaewoong Jung
cf0caaa98d Merge "Embed CSS entries in soong_build.html." into qt-dev 2019-04-16 19:56:40 +00:00
Jaewoong Jung
892c512fd8 Embed CSS entries in soong_build.html.
This will prevent it from being affected by future css location changes.

Test: m soong_docs
Fixes: 130567020
Change-Id: I80fd7b8a12a32bcea7b270423b8d8f8dc0976177
Merged-In: I80fd7b8a12a32bcea7b270423b8d8f8dc0976177
(cherry picked from commit 5f867c0580)
2019-04-16 11:38:05 -07:00
Colin Cross
c6de83c8d1 Fix missing genrule srcs and tools with ALLOW_MISSING_DEPENDENCIES=true
Set the location label for missing srcs and tools to avoid
nonsensical errors when parsing the command.

Cherry-pick note: Being cherry-picked to qt-dev to fix unbundled -qt
builds, see b/130588113.
Bug: 130588113

Test: genrule_test.go
Test: paths_test.go
Test: unbundled branch with missing framework-res module needed by robolectric genrule
Change-Id: I9c1f1cd82a80f048c0e903b8e93910b1ae34b0b1
(cherry picked from commit ba71a3fb11)
2019-04-16 09:39:09 +01:00
TreeHugger Robot
5e037c38d3 Merge "Export more config variables" into qt-dev 2019-04-12 17:24:18 +00:00
TreeHugger Robot
353222b81d Merge "Fix package path of android/soong/android pctx" into qt-dev 2019-04-12 17:24:18 +00:00
Dan Willemsen
898efa15a1 Expose TargetFSConfigGen to DeviceConfig from Make
Bug: 118089258
Test: m oemaids_header_gen oemaids_headers
Change-Id: I2675822ae01af9bbec70f0c0413c047f36b5e024
Merged-In: I2675822ae01af9bbec70f0c0413c047f36b5e024
(cherry picked from commit 71c7460713)
2019-04-11 16:42:06 -07:00
TreeHugger Robot
cdec2035fd Merge "Fix python proto srczip argument order" into qt-dev 2019-04-11 22:46:25 +00:00
Christopher Ferris
8f8b1f1746 Merge "Do not re-export _Unwind_XXX symbols." into qt-dev 2019-04-11 22:20:04 +00:00
Colin Cross
5599d79117 Fix python proto srczip argument order
-P has to come before -D to have an effect on the files read from the
directory.

Fixes: 130160833
Test: atest acloud_test
Change-Id: I62a998f1ad1e3b45f590babbf39330955d368373
Merged-In: I62a998f1ad1e3b45f590babbf39330955d368373
(cherry picked from commit 09364fd955)
2019-04-11 14:13:43 -07:00
Colin Cross
8e84648a63 Export more config variables
Export some more config variables that will be used to generate
robolectric's build.prop file.

Bug: 122331577
Test: m checkbuild
Change-Id: I39f3436ed5d5c4e730dd3e1f86c840cf6358ec87
2019-04-11 10:54:18 -07:00
Christopher Ferris
cf78867417 Do not re-export _Unwind_XXX symbols.
Bug: 130267141

Test: All system shared libraries do not contain global _Unwind_XXX symbols.
Change-Id: I79673753bb8197041bfe8ffb016d9f5fdf4cada5
2019-04-10 19:23:47 -07:00
Colin Cross
713ef2b424 Fix package path of android/soong/android pctx
android/soong/common was renamed to android/soong/android long
ago, but the pctx package path was still "android/soong/common".
This required all users of rules defined in android/soong/android
to import "android/soong/android" and then
pctx.Import("android/soong/common").

Bug: 130298888
Test: m checkbuild
Change-Id: I20d096522760538f7cfc2bec3d4bfeba99b275d4
2019-04-10 16:49:27 -07:00
Dan Willemsen
5584699125 Include proper deps for signapk
Bug: 130111713
Test: run signapk remotely, action succeeds after this change
Change-Id: I1670a27341591e0762cdfb42bcf424f065837192
Merged-In: I1670a27341591e0762cdfb42bcf424f065837192
(cherry picked from commit c4bd8f8282)
2019-04-10 12:21:09 -07:00
Dan Willemsen
479465691f Add BUILD_BROKEN_USES_NETWORK
Some people apparently still talk to the network during their build.
Allow this temporarily with a BUILD_BROKEN_USES_NETWORK check.

Bug: 129992021
Test: attempt to talk to the network during the build with and without
      this flag.
Change-Id: Ifb967c656aa24c4599e7232d0f1b5a303b5bac52
Merged-In: Ifb967c656aa24c4599e7232d0f1b5a303b5bac52
(cherry picked from commit 25e6f09c06)
2019-04-09 21:52:45 -07:00
Elliott Hughes
b504727453 Merge "Add toybox seq." into qt-dev 2019-04-09 20:39:09 +00:00
Elliott Hughes
4873a11e40 Add toybox seq.
Bug: https://issuetracker.google.com/129992021
Bug: http://b/130214771
Test: builds

(cherry picked from commit c2dbadc363)

Change-Id: I1b53d3bc985932075abcb55c1483ac6156b86468
Merged-in: I63d5b3fd1c71b771e995638094ee4310435105ee
2019-04-09 18:03:02 +00:00
Vladimir Marko
96f7be168e Merge "Check package restrictions for Java libs." into qt-dev 2019-04-09 15:33:06 +00:00
Vladimir Marko
e26f4a5e39 Check package restrictions for Java libs.
Test: m checkbuild; inspect verbose log.
Test: Manual - compile with unmet restrictions.
Bug: 122937705

(cherry picked from commit 0975ee0de3)

Change-Id: Ibecfb53072f060e046d3c8fdca0911d66cc6922d
Merged-In: I9360ae8b6d9ce016b7827be5e8ffc6eb521809b7
2019-04-09 10:04:53 +01:00
Nicolas Geoffray
cd6abd83ee Use the full dexpreopt boot classpath when preopting with other images.
Bug: 119800099
Test: m

(cherry picked from commit 06758a7e13)

Change-Id: I60c154c3b3e2ab9b80ea9df0efa168ccd9efcc60
Merged-In: Ia9b34aa92ebb1b4de96ea0f8f290d798be19b2cf
2019-04-08 22:47:39 +01:00
Nikita Ioffe
bed7cd3101 Make prebuilt_apex be usable via :modulename syntax
Test: m
Bug: 127789981
Bug: 128677967
Change-Id: Ie1a1147c1d5570cd7eda48e274faabf95566d53f
Merged-In: Ie1a1147c1d5570cd7eda48e274faabf95566d53f
(cherry picked from commit 89ecd590ea)
2019-04-08 09:48:58 +01:00
Nikita Ioffe
ed75f61398 Add filename property to prebuilt_apex
* Makes it more inline with prebuilt_etc;
* For shim apexes, prebuilt_apex modules have pattern of
  com.android.apex.cts.shim.v1_prebuilt, but I would prefer
  pre-installed shim to be: /system/apex/com.android.apex.cts.shim.apex

Bug: 128677967
Bug: 127789981
Test: m
Change-Id: I34e3e078733420b5cf777fd6e3ce4d8c5796b19b
Merged-In: I34e3e078733420b5cf777fd6e3ce4d8c5796b19b
(cherry picked from commit 7a41ebdf5f)
2019-04-08 06:30:39 +01:00
Nikita Ioffe
03a31cc2cc Add installable property for prebuilt_apex
In case of shim apexes, we prebuilt all of them, but only need to
install v1 to a system partition.

Bug: 128677967
Test: manually checked that non-installable prebuilts don't end in /system
Change-Id: I112432abfd8f03cc7d7379ea3cab3f5491ace49c
Merged-In: I112432abfd8f03cc7d7379ea3cab3f5491ace49c
(cherry picked from commit dd53e8be18)
2019-04-06 11:30:10 +01:00