Commit Graph

3295 Commits

Author SHA1 Message Date
Dan Albert
ecbadc5b6c Merge "Revert "Remove armv7-a without neon support""
am: 48db2b15fb

Change-Id: I3f0bd183bb1dfe36fd9f6221c264c3c26d13e72f
2019-02-20 05:10:09 -08:00
Treehugger Robot
48db2b15fb Merge "Revert "Remove armv7-a without neon support"" 2019-02-20 12:56:37 +00:00
Pirama Arumuga Nainar
a2f196ffaa Merge "Override module's C flags when coverage is enabled" am: e67c20ce90 am: 38bda6ed46
am: 76964af322

Change-Id: I89adc331abe8c9d7e62ad6860de8283440b894b2
2019-02-19 22:07:03 -08:00
Pirama Arumuga Nainar
76964af322 Merge "Override module's C flags when coverage is enabled" am: e67c20ce90
am: 38bda6ed46

Change-Id: Ib5e6e4d15b1c59dd16ff9f8327824a2110db0ddc
2019-02-19 21:54:57 -08:00
Pirama Arumuga Nainar
38bda6ed46 Merge "Override module's C flags when coverage is enabled"
am: e67c20ce90

Change-Id: Ic29108df7012a011f2d4878b57fba10e5accf957
2019-02-19 21:50:55 -08:00
Treehugger Robot
e67c20ce90 Merge "Override module's C flags when coverage is enabled" 2019-02-20 05:40:18 +00:00
Dan Albert
8818f49989 Revert "Remove armv7-a without neon support"
Unfortunately we still need to build the NDK sysroot as non-NEON
since that's still supported, though it's no longer the default.

This reverts commit f4e0601c7e.

Test: treehugger
Test: rebuilt NDK sysroot and imported into the NDK, ran NDK tests
Bug: None
2019-02-19 13:53:01 -08:00
Yu Shan
76dd005e68 Add 16bit and 32bit nanopb library.
When compiling nanopb static library, we need to add 16bit or 32bit
flag if we need to use 16bit or 32bit size, default is 8bit.

Change-Id: Ib74478996cb2487accc1e46a32fba8170214c47f
Test: None
Bug: b/122292884
2019-02-19 12:05:02 -08:00
Pirama Arumuga Nainar
c7679de4ab Override module's C flags when coverage is enabled
Bug: http://b/116873221

Disable -Wframe-larger-than because building without optimization can
make frame larger.  Building dng_sdk with coverage results in a bigger
stack frame than the limit in C flags.

Get optimization level back to -O0 if module has a non-default
optimization level.  Not doing so causes link failures with
libneuralnetworks.so.

Test: Build with coverage.
Change-Id: I36b2979bb6a73023458c8de3241e975845bd36eb
2019-02-19 10:00:27 -08:00
yangbill
a5333fd56c [SOONG] Not auto-generate test config if test_suite is cts am: 4f41bc2bed am: 39cfd70a05
am: 53ff60d314

Change-Id: I801ba32b5f93556f59572f8c6200fd30b34b4e55
2019-02-19 06:49:23 -08:00
yangbill
53ff60d314 [SOONG] Not auto-generate test config if test_suite is cts am: 4f41bc2bed
am: 39cfd70a05

Change-Id: I8f22072918a4a3e7d15a16815391c08c6554c32f
2019-02-19 06:45:20 -08:00
yangbill
39cfd70a05 [SOONG] Not auto-generate test config if test_suite is cts
am: 4f41bc2bed

Change-Id: Ie9668b06e3849ed4ed7fbdf9b0ca0519bc777954
2019-02-19 06:41:17 -08:00
yangbill
4f41bc2bed [SOONG] Not auto-generate test config if test_suite is cts
Current soong use source code's under cts as the rule for judgement.
Should change to use test_suites define instead.

Bug: 124313692
Test: m hello_world_test, make sure test config be auog-enerated.
      Modified platform_testing/tests/example/native/Android.bp
      m hello_world_test, make sure test config not be auto-generatetd.

Change-Id: I1bc5216f73329d2a82d9ff29ccbede436dd2976c
2019-02-19 22:25:50 +08:00
Pirama Arumuga Nainar
19426b63b7 Merge "Enable coverage for vendor-related libraries" am: dd739bbdf2 am: 79e5a54e9d
am: 75ea5e1ab8

Change-Id: I859c4e5699166644060d572bb649784f6e092c5f
2019-02-18 21:34:47 -08:00
Pirama Arumuga Nainar
75ea5e1ab8 Merge "Enable coverage for vendor-related libraries" am: dd739bbdf2
am: 79e5a54e9d

Change-Id: I6f60e265f8c40710404b310b9662650b606293c4
2019-02-18 21:30:47 -08:00
Pirama Arumuga Nainar
79e5a54e9d Merge "Enable coverage for vendor-related libraries"
am: dd739bbdf2

Change-Id: I53a1742e3001a946938299f6a28dcd61c8014665
2019-02-18 21:26:45 -08:00
Pirama Arumuga Nainar
dd739bbdf2 Merge "Enable coverage for vendor-related libraries" 2019-02-19 05:19:41 +00:00
Logan Chien
6db28ddfff Merge "Print --llndk to create_reference_dumps command" am: 8a851cfce8 am: 2502d60804
am: 28497944c8

Change-Id: Iba55d35514f9f02d71f3df67708bc6bf02142109
2019-02-18 20:10:34 -08:00
Logan Chien
28497944c8 Merge "Print --llndk to create_reference_dumps command" am: 8a851cfce8
am: 2502d60804

Change-Id: Ic239329c7c942b08724557839987f0c55d1fddb0
2019-02-18 20:05:30 -08:00
Logan Chien
2502d60804 Merge "Print --llndk to create_reference_dumps command"
am: 8a851cfce8

Change-Id: I94e5dee295372b79b9710b047ffb0477e0b2d371
2019-02-18 19:59:01 -08:00
Logan Chien
8a851cfce8 Merge "Print --llndk to create_reference_dumps command" 2019-02-19 03:48:12 +00:00
Colin Cross
af44d57cbe Merge changes from topic "dexpreopt_bootjars" am: 49afb313ed am: 7931d32a00
am: 538a7a2124

Change-Id: I6a4bc320e694354e0619430137f67f8576fc0288
2019-02-18 19:20:26 -08:00
Colin Cross
538a7a2124 Merge changes from topic "dexpreopt_bootjars" am: 49afb313ed
am: 7931d32a00

Change-Id: I18aa12211f93116addb5cdba249363ced92af277
2019-02-18 19:12:13 -08:00
Colin Cross
7931d32a00 Merge changes from topic "dexpreopt_bootjars"
am: 49afb313ed

Change-Id: Icf46a334c41b43d5f3c59c3d56d97dfb97e13cc7
2019-02-18 19:04:36 -08:00
Logan Chien
6227fed029 Print --llndk to create_reference_dumps command
This commands adds `--llndk` to `create_reference_dump.py` command if
the module with incompatible ABI changes is an LLNDK or a NDK lib. This
prevents people from uploading a CL that simply removes ABI dumps (the
result even when the uploader runs the command).

Bug: 124620774
Test: Make an incompatible ABI changes in libaaudio and see the flag.
Change-Id: I9f07f879193bd4d73f5924baff298d28d6fe1506
2019-02-18 13:35:36 +08:00
Colin Cross
40e3373d41 Add more paths helper methods
Add PathsForOutput to convert multiple strings into WritablePaths.

Add OutputPath.InSameDir to build a new OutputPath pointing to a
file in the same directory as an existing OutputPath.

Add WritablePathForTesting and WritablePathsForTesting that mirror
PathForTesting and PathsForTesting but return WritablePaths.

Add PathContextForTesting to return a minimal PathContext
implementation.

Test: paths_test.go
Change-Id: I9708eb164b273514a96dae0a260ef9a963fb9bcf
2019-02-16 17:08:07 -08:00
Pirama Arumuga Nainar
2f289aca6e Enable coverage for vendor-related libraries
Bug: http://b/116873221

Enable coverage for libraries that use VNDK and those that have vendor
variants.  This previously caused a redefinition error in the
Android-<product>.mk but was indirectly fixed when
https://android-review.googlesource.com/c/platform/build/soong/+/906394
disabled coverage for LLNDK stub libraries.

Test: m NATIVE_COVERAGE=true COVERAGE_PATHS=frameworks nothing
Change-Id: Iccbc1c15c68562449ffffe7bbcc3d22419d84bfe
2019-02-15 15:24:47 -08:00
Yi Kong
f791aec7d9 Merge "Annotate No_libcrt with arch_variant" am: 4e3c60128f am: da69c65b88
am: 7886a6776f

Change-Id: Ic703ff048f1e374c0a8509baa85704dd58176fac
2019-02-15 12:54:22 -08:00
Yi Kong
7886a6776f Merge "Annotate No_libcrt with arch_variant" am: 4e3c60128f
am: da69c65b88

Change-Id: I4ab1924fd5258fecf8104ad5bc1d40863f0013b7
2019-02-15 12:49:19 -08:00
Yi Kong
da69c65b88 Merge "Annotate No_libcrt with arch_variant"
am: 4e3c60128f

Change-Id: Ia170a78cb583297f5a7eeb24656b914c5bc50fab
2019-02-15 12:46:14 -08:00
Yi Kong
4e3c60128f Merge "Annotate No_libcrt with arch_variant" 2019-02-15 20:39:25 +00:00
Pirama Arumuga Nainar
0e1f1ed2c6 Merge "Do not enable coverage for platform/llndk stub libraries" am: ff1b5c7b90 am: 48a609233b
am: d21f0d0df3

Change-Id: Id7ae4e5186564f30376925d21dec14e6e6fc4f7e
2019-02-15 11:40:46 -08:00
Pirama Arumuga Nainar
d21f0d0df3 Merge "Do not enable coverage for platform/llndk stub libraries" am: ff1b5c7b90
am: 48a609233b

Change-Id: I7d659c1c4d933629da5c565464af563f315992f1
2019-02-15 11:17:42 -08:00
Pirama Arumuga Nainar
48a609233b Merge "Do not enable coverage for platform/llndk stub libraries"
am: ff1b5c7b90

Change-Id: If62904ecb83ad3a3f0419ebb758b9f3d2b045143
2019-02-15 11:11:53 -08:00
Yi Kong
410d834752 Annotate No_libcrt with arch_variant
libcrt is crashing libc on x86/x86_64 for unknown reason. This enables
us to disable libcrt for these architectures for libc for now.

Test: m checkbuild
Bug: 29275768
Change-Id: I5a717286b3d9cc1ba8cdcd33bafb9c225de4aff8
2019-02-15 10:07:18 -08:00
Pirama Arumuga Nainar
8113835940 Do not enable coverage for platform/llndk stub libraries
Bug: http://b/116873221

These are used only for linking, and secondly, don't link with libc or
other system libraries.

Test: Build system/core/libnativeloader with coverage
Change-Id: I37eae572a5eaa00f0e8c72bc1453e967b5bcb577
2019-02-14 15:39:31 -08:00
Jiyong Park
92b89d9114 Remove prefer_sanitize.* properties am: f97782b18c
am: 548f147804

Change-Id: I6c20dec3b8e96dcda3817f7f8c0a87f663f0d878
2019-02-13 21:48:18 -08:00
Jiyong Park
548f147804 Remove prefer_sanitize.* properties
am: f97782b18c

Change-Id: I89cf55ff2cea384e1cf25c59f538dc185088a0cc
2019-02-13 21:42:27 -08:00
Jiyong Park
f97782b18c Remove prefer_sanitize.* properties
The properties are no longer required as an APEX module is mutated with
required sanitizers which are gathered by scanning the sanitizers that
are enabled for its direct dependencies.

Bug: 124128094
Test: m on marlin
The extractor libs are found under /system/apex/com.android.media

Merged-In: I55961d400dcbac067a5c0dcecb90e399d4991a70
Change-Id: I55961d400dcbac067a5c0dcecb90e399d4991a70
(cherry picked from commit abda0eb76b)
2019-02-14 12:30:49 +09:00
TreeHugger Robot
28fd9d8647 Merge "Remove prefer_sanitize.* properties" 2019-02-14 03:29:08 +00:00
Pirama Arumuga Nainar
52c3ff71f6 Extend coverage mutator to allow variants with coverage on and off am: 1acd4475f2 am: fd183f3742
am: 6d27f242e6

Change-Id: I995eb4480fffd822503e5eeb5998592f90f3aa68
2019-02-13 18:00:56 -08:00
Inseob Kim
12865b096a Create sysprop_library soong module am: c0907f191a am: 92053b977e
am: 751a2cb98a

Change-Id: Ie9976968934c4231492af4ad4cbbcfe38790f040
2019-02-13 17:25:17 -08:00
Pirama Arumuga Nainar
6d27f242e6 Extend coverage mutator to allow variants with coverage on and off am: 1acd4475f2
am: fd183f3742

Change-Id: Iab6d45302c66f6bff56666172012f07f79b2b4db
2019-02-13 16:42:58 -08:00
Pirama Arumuga Nainar
fd183f3742 Extend coverage mutator to allow variants with coverage on and off
am: 1acd4475f2

Change-Id: I3b3dcf65f68bae50f3476e70d690a9ff63c2fb2d
2019-02-13 16:26:03 -08:00
Inseob Kim
751a2cb98a Create sysprop_library soong module am: c0907f191a
am: 92053b977e

Change-Id: Ic93dc6cc80e0b822f1e3696ea62b2276903e3b9f
2019-02-13 16:13:17 -08:00
Yi Kong
9d03687eb4 Merge "Use no_libcrt property instead of hard coding projects to exclude" am: 02e4b568dc am: 908b3fa509
am: 78cdf2126c

Change-Id: Ie44d9507ea6758ba1c1ed2af6bb3e3f7eb7c0067
2019-02-13 16:06:42 -08:00
Pirama Arumuga Nainar
1acd4475f2 Extend coverage mutator to allow variants with coverage on and off
Bug: http://b/116873221

This allows us to enable coverage for a module (typically static
libraries) even if a dependent module cannot build with coverage.  In
this case, the dependent module can just pick the variant with coverage
off.

- Create the following variants from the coverage mutator:
  - "" (empty): Don't build  with coverage and always pick the
                non-coverage variants for dependents.  This variant is
                created for modules with 'native_coverage: false'.
  - "cov":      If this module's path is covered by the COVERAGE_PATHS
                option, build this module with coverage.  If not, build
                this module without coverage.  In either case, pick
                coverage variants ("cov") for dependencies if available.

- Do not enable coverage:
  - for NDK stub libraries
  - if sdk_version < 23 since libc doesn't export 'stderr' which is
    needed by the coverage/profile runtime library.
  - for VNDK libraries

Test: In AOSP: m COVERAGE_PATHS=system/security NATIVE_COVERAGE=true nothing

Change-Id: I4d08790d35cdeaf12fb3c4f999d69a870e65836a
2019-02-14 00:05:42 +00:00
Inseob Kim
92053b977e Create sysprop_library soong module
am: c0907f191a

Change-Id: I5ec9366b92ab8ca07ed41c93b8e2324a301a2bed
2019-02-13 15:57:16 -08:00
Inseob Kim
c0907f191a Create sysprop_library soong module
A newly introduced sysprop_library soong module will generate a
java_sdk_library and a cc_library from .sysprop description files.
Both Java modules and C++ modules can link against sysprop_library
module, thus giving consistency for using generated sysprop API.

As Java controls accessibility of Internal / System properties with
@hide and @SystemApi, 2 different header files will be created. And
build system will selectively expose depending on the property owner
and the place where the client libraries go into.

Bug: 80125326
Bug: 122170616
Test: 1) Create sysprop_library module.
Test: 2) Create empty txt files under prebuilts/sdk.
Test: 3) Create api directory, make update-api, and see changes.
Test: 4) Try to link against sysprop_library with various clients.
Test: 5) Soc_specific, Device_specific, Product_specific, recovery flags
work as intended.
Change-Id: I78dc5780ccfbb4b69e5c61dec26b94e92d43c333
2019-02-13 23:32:51 +00:00
Yi Kong
78cdf2126c Merge "Use no_libcrt property instead of hard coding projects to exclude" am: 02e4b568dc
am: 908b3fa509

Change-Id: Ib53b66b742c47ec595ac641bc788c83d8044375d
2019-02-13 15:31:08 -08:00