Commit graph

32577 commits

Author SHA1 Message Date
Evgenii Stepanov
4beaa0c964 Include/exclude lists for memtag_heap sanitizer.
Bug: b/135772972
Test: cc_test.go / TestSanitizeMemtagHeap
Change-Id: I263b23647f1874ae3024101dce1b07091c1c9403
2021-01-11 17:50:07 -08:00
Evgenii Stepanov
193ac2eb96 Support "memtag_heap" sanitizer.
Memtag_heap adds an ELF note that enables MTE heap tagging in
bionic/scudo. Ignored on non-executables. With diagnostic
(diag:{memtag_heap:true}) enables the SYNC mode, otherwise - ASYNC mode.

Memtag_heap defaults to set (with diag) on cc_test targets, unset
otherwise. Ignored on non MTE-compatible hardware.

Bug: b/135772972
Test: soong tests

Change-Id: I88fd0f159e609e17bd13487749980a1ba02cb91c
2021-01-11 21:50:39 +00:00
Peter Collingbourne
016370b146 Merge "Remove ANDROID_EXPERIMENTAL_MTE." 2021-01-11 20:42:44 +00:00
Liz Kammer
bbdea51767 Merge "Refactor queryview." 2021-01-11 20:31:02 +00:00
Martin Stjernholm
9e7f45ebfa Expose the SkipInstall flag.
Necessary in e.g. install hooks to filter out module variants that
aren't installed.

Test: m nothing
Bug: 176192921
Change-Id: I67f6d7b4197f9d0c13239af1aa8ab439c21d7d6c
2021-01-11 19:24:33 +00:00
Peter Collingbourne
b2ec09d89c Remove ANDROID_EXPERIMENTAL_MTE.
Now that the feature guarded by this flag has landed in Linux 5.10
we no longer need the flag, so we can remove it.

Bug: 135772972
Change-Id: I02fa50848cbd0486c23c8a229bb8f1ab5dd5a56f
2021-01-11 10:55:51 -08:00
Nicolas Geoffray
c1b1663576 Add tzdata-module-test-exports to the list of targets.
Test: build-mainline-modules.sh
Bug: 142935992
Change-Id: I2e765737a971efee837daefb5af0c272f561b36d
2021-01-11 09:45:57 +00:00
ChengYou Ho
142b28a095 Create OemLock aidl interface
Bug: 176107318
Change-Id: I31da15e7aedfaafb1841de0fc8e81aed73405ae0
2021-01-11 05:57:07 +00:00
Lucas Lin
dcd957eac5 Merge "Add netd-client for tethering apex and update allowed-deps.txt" 2021-01-11 01:49:12 +00:00
Treehugger Robot
4ba271573d Merge "Update comments for (vendor|product)_available" 2021-01-08 20:48:15 +00:00
Kris Alder
4803765257 Merge "add options for LibFuzzer, HWASan, and ASan to fuzz_config" 2021-01-08 17:06:28 +00:00
Ulyana Trafimovich
53230fefa3 Merge "Remove obsolete class loader context API and update unit tests." 2021-01-08 17:00:56 +00:00
Ivan Lozano
65f7312db0 Merge "Refactor CC to prep for Rust sanitizable modules." 2021-01-08 16:51:30 +00:00
Christopher Parsons
c089a5f249 Merge "Process v2 bazel analysis protos in aquery responses" 2021-01-08 15:58:36 +00:00
Anton Hansson
7241119d8d Merge "Support python binaries in sh_test_host" 2021-01-08 15:17:27 +00:00
Ivan Lozano
3968d8f678 Refactor CC to prep for Rust sanitizable modules.
Adds a PlatformSanitizable interface which both CC and Rust can
implement so that the sanitizer mutators in CC can sanitize Rust
shared/static libraries appropriately.

Bug: 147140513
Test: m nothing
Change-Id: Ib31103b6c4902a4d5df2565c0d7c981298d100a3
2021-01-08 08:53:46 -05:00
Thiébaud Weksteen
cb738204fa Use 1.49.0 prebuilts
Bug: 176888219
Test: build external/rust/crates
Change-Id: I979720ac75e8546058c23ac86b2b64ac518b115c
2021-01-08 14:20:04 +01:00
Anton Hansson
c7ca43ec92 Merge "Allowlist sdkextensions proto lib" 2021-01-08 09:39:41 +00:00
Treehugger Robot
6b2247fbe8 Merge "Revert "Update soong's go.mod to 1.15.6"" 2021-01-08 06:51:17 +00:00
Justin Yun
0b1db6d5e9 Update comments for (vendor|product)_available
As we replaced '(vendor|product)_available: false' with
'vndk.private: true', update the soong comments with it.

Bug: 175768895
Test: na
Change-Id: Iaa08d0caf2995d2327443e156abe8448c4e500c5
2021-01-08 15:22:34 +09:00
lucaslin
5a73550925 Add netd-client for tethering apex and update allowed-deps.txt
Split some code from Tethering apex to frameworks/libs/net and
have a new library(netd-client) for it. So basically, netd-client
contains code which was already in Tethering apex.
netd-client also links to netd_aidl_interface-java and
netd_event_listener_interface-java, so netd_aidl_interface-java
and netd_event_listener_interface-java are also added into
allowed-deps.txt.

Bug: 174837473
Test: Manual test and check the log.
Change-Id: I31a467f02a8f3049e005d771d61f3d990ac9b8ba
Merged-In: I31a467f02a8f3049e005d771d61f3d990ac9b8ba
2021-01-08 01:56:11 +00:00
Colin Cross
3d4acddf56 Revert "Update soong's go.mod to 1.15.6"
This reverts commit 23f69ae958.

Reason for revert: invalid go version '1.15.6': must match format 1.23

Change-Id: Ibe4335f4d9b3ff4b08b4615b91935cca4643ee89
2021-01-08 01:28:29 +00:00
Colin Cross
b5f6fa678d Create LLNDK vendor variants when DeviceVndkVersion is not set
The LLNDK vendor variants need to exist even when the VNDK is not
being used in order for the next patch to list them once the global
maps are removed.

Bug: 176904285
Test: m checkbuild
Change-Id: Ib29ede455d5b6a4b7d3f4685db8fba6d32025314
2021-01-07 17:19:27 -08:00
Colin Cross
9aed5bc715 Add a new SingletonModule type
A SingletonModule is halfway between a Singleton and a Module.  It has
access to visiting other modules via its GenerateSingletonBuildActions
method, but must be defined in an Android.bp file and can also be
depended on like a module.

Bug: 176904285
Test: singleton_module_test.go
Change-Id: I1b2bfdfb3927c1eabf431c53213cb7c581e33ca4
2021-01-07 17:19:27 -08:00
Treehugger Robot
86cc40a74c Merge "Do not read 'vendor_available: false'" 2021-01-08 00:57:35 +00:00
Peter Collingbourne
59919bd5df Merge "Enable debug info in Rust modules." 2021-01-08 00:37:23 +00:00
Treehugger Robot
1985115ff1 Merge "android_filesystem modules can be included in APEX" 2021-01-08 00:32:19 +00:00
Treehugger Robot
56bfef1032 Merge "Implement fake vendor snapshot" 2021-01-08 00:24:51 +00:00
Treehugger Robot
42beaf6d93 Merge "Remove redundant snapshot functions" 2021-01-08 00:24:27 +00:00
Kris Alder
c81f59f03e add options for LibFuzzer, HWASan, and ASan to fuzz_config
Bug: 176998722
Test: built fuzz target with these options specified, checked resulting
config.json

Change-Id: Id38668dd11e76eead4ec87bd225ba67e3b30b80d
2021-01-07 23:43:10 +00:00
Bob Badour
ddac9bf3f2 Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD"
* changes:
  Revert^2 "Define the standard license_kind rules."
  Revert^2 "Export soong license data to make."
  Revert^2 "Add ability to declare licenses in soong."
2021-01-07 22:42:08 +00:00
Chris Parsons
affbb60baa Process v2 bazel analysis protos in aquery responses
Test: USE_BAZEL_ANALYSIS=1 m libc
Change-Id: I549e136a2706aa555d5a2cf0aa38739e80791826
2021-01-07 16:36:38 -05:00
Peter Collingbourne
b143cd9482 Enable debug info in Rust modules.
This allows tombstones to be symbolized and is consistent with C/C++
where we pass -g.

Bug: 173723155
Change-Id: I597e2bf97517407b428277f1cf7aa19b73371efa
2021-01-07 12:05:04 -08:00
Liz Kammer
2dd9ca422d Refactor queryview.
Splits queryview into queryview and bp2build. The latter runs as a
presingleton (could be converted to a singleton). This prevents needing
to run soong_ui a subsequent time to build the query. Queryview remains
as a separate step to prevent increasing runtime due to this generation
every time Soong runs.

Currently this is running as a presingleton as this gives a translation
of Android.bp files after only LoadHooks have run, no mutators.

Test: go tests
Test: m queryview && bazel query --config=queryview //...
Change-Id: If2ba28c7ef60fbd41f43bda6623d41c8c7d23a1b
2021-01-07 14:34:00 -05:00
Colin Cross
ee7d0fd0f6 Merge "Split vndk_libraries_txt into multiple module types" 2021-01-07 17:40:14 +00:00
Anton Hansson
2ef1084896 Allowlist sdkextensions proto lib
This is safe for apex use.

Bug: 173188089
Test: m apex-allowed-deps-check
Merged-In: Ib4a69d93843d4e3b44073c79e704c5fc1635c1ad
Change-Id: Ib4a69d93843d4e3b44073c79e704c5fc1635c1ad
2021-01-07 13:00:20 +00:00
Anton Hansson
2f6422cb1e Support python binaries in sh_test_host
Make the code for data_bins/data_device_binds module-type agnostic.

Bug: 176581143
Test: m gen_sdk_test
Change-Id: I40e8d4c06f583cae523d97ce63822960872907db
2021-01-07 09:46:48 +00:00
Justin Yun
c0d8c49224 Do not read 'vendor_available: false'
In case of VNDK, 'vendor_available: false' had a special meaning that
defines VNDK-private libraries. It is not trivial because not
defining a boolean property means 'false' normally. To avoid the
confusion replace it with the 'vndk.private: true' for VNDK-private
libraries and 'private: true' for LLNDK-private libraries.

All VNDK libraries must define 'vendor_available: true' and may have
'vndk.private: true' if they are VNDK-private.
With this change '(vendor|product)_available: false' is the same as
not defining the property.

LLNDK-private must define 'private: true' instead of
'vendor_available: false'.

Bug: 175768895
Test: build
Change-Id: I57fbca351be317257d95027f3cdcdbbe537eab23
2021-01-07 17:58:55 +09:00
Jiyong Park
12a719c0fc android_filesystem modules can be included in APEX
android_filesystem modules can be included in APEX via the new
`filesystems` property. The filesystem images are placed at
./etc/fs/<modulename>.img.

Bug: 172413888
Test: m nothing

Change-Id: I215ca7a32ff1988a0de4e1f71397684e189839ea
2021-01-07 15:35:25 +09:00
Inseob Kim
0c1ca4c3e4 Remove redundant snapshot functions
Leaving only isSnapshotAware is sufficient and clearer than before.

Test: m nothing
Change-Id: I497ee72ca0cc2386b1b947732473ac63b722621c
2021-01-07 05:15:50 +00:00
Inseob Kim
e9aec6aaca Implement fake vendor snapshot
A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I5e16e8dbbf9dd5e753cdd471ca73d06984a6cb2c
2021-01-07 14:09:31 +09:00
Bob Badour
b80dfee900 Revert^2 "Define the standard license_kind rules."
cc49216079

Change-Id: Ib77341bec77a41715f9791e0f5385404deb2901a
2021-01-06 20:49:38 -08:00
Bob Badour
b499922acc Revert^2 "Export soong license data to make."
61a55a0344

Change-Id: I5fb017c683df18bad42a8e27fb2d7c7c510514e5
2021-01-06 20:49:11 -08:00
Treehugger Robot
77dcb9d768 Merge "Update soong's go.mod to 1.15.6" 2021-01-07 04:48:25 +00:00
Bob Badour
37af046002 Revert^2 "Add ability to declare licenses in soong."
df98d3e4a5

Change-Id: Ie7e1695ecb8cd943124426a0cad2c0d1db2b46ed
2021-01-06 20:48:24 -08:00
Jingwen Chen
23f69ae958 Update soong's go.mod to 1.15.6
Test: TH
Change-Id: I370e4a260cb6fb9fbd2d2da44964b51a339b90f5
2021-01-06 22:13:07 -05:00
Colin Cross
e4e44bc61b Split vndk_libraries_txt into multiple module types
Replace the vndk_libraries_txt module type with llndk_libraries_txt,
etc. in preparation for making it a new SingletonModule, which will
only work with a single instance of the module type.

Bug: 176904285
Test: m checkbuild
Change-Id: Ie010a9eeee8f5849201aa4ab4eb9b2e7a9cd7d5b
2021-01-06 17:54:30 -08:00
Colin Cross
4f4f8ebd3f Fix llndk_library init
llndk_library modules were not calling module.Init(), which caused them
not to register ModuleBase.VendorProperties.  Unregistered property
structs lose their values during cloning, which caused the shared
variants of llndk_library modules to not have IsLLNDK set.

Call module.Init(), which registers ModuleBase.VendorProperties.  Also
add a helper function to filter out llndk_library modules that now
show up in the list of modules with IsLLNDK set.

Bug: 170784825
Test: m checkbuild
Change-Id: Iafde85f6a95e85a618f6f7d7a210398febb6b158
2021-01-06 17:50:48 -08:00
Treehugger Robot
47d186cd4e Merge "Create vndkproduct.libraries.txt" 2021-01-07 01:43:15 +00:00
Jooyung Han
26ab0f1051 Merge "Add "aidl.flags:" property for cc_/java_ modules" 2021-01-07 01:28:47 +00:00