Commit Graph

8070 Commits

Author SHA1 Message Date
Colin Cross
59de280a48 Fix -Wl,--exclude-libs for clang runtime libraries
THe sanitize code was assuming that the names of the clang runtime
library modules were the same as their static library output files,
but that's not true after I39e2cf8ae14edf8510276dab38011afaef85822c.
Use the dependency to get the name of the library to pass to
-Wl,--exclude-libs.

Bug: 235624976
Test: TestUbsan
Change-Id: If6ca7838800c76f90105fb02d39e8a68cec96314
2022-06-13 15:55:06 -07:00
Chih-hung Hsieh
88054dac68 Merge "Prepare to obsolete -warnings-as-errors in tidy_flags" am: 6ba1a7d661 am: 9096a6b0c1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2122976

Change-Id: I1d458e8b49f50112255dd54846e6661c5e4a4438
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-13 20:17:02 +00:00
Yu Liu
110f78ca8e Merge "Support cc code coverage for mixed build" am: 57c1edc4d9 am: 56868c621b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2103671

Change-Id: Ibe7fab143ee1ebbdbe4df73c1d173cc9c3c5a315
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-13 20:16:29 +00:00
Chih-hung Hsieh
6ba1a7d661 Merge "Prepare to obsolete -warnings-as-errors in tidy_flags" 2022-06-13 19:07:21 +00:00
Yu Liu
57c1edc4d9 Merge "Support cc code coverage for mixed build" 2022-06-13 18:57:50 +00:00
Chih-Hung Hsieh
794b81d9d1 Prepare to obsolete -warnings-as-errors in tidy_flags
* A follow up CL will set const NoWarningsAsErrorsInTidyFlags
  and make it an error to use -warnings-as-errors in tidy_flags.
* Append TidyGlobalNoChecks after local tidy_checks to disable some checks.
* Append TidyGlobalNoErrorChecks after local tidy_checks_as_errors
  (-warnings-as-errors) to allow some warnings globally.
* Move bugprone-signed-char-misuse and bugprone-branch-clone to
  globalNoErrorCheckList so we can find and fix some of those warnings.

Bug: 229801437
Test: WITH_TIDY=1 make; make tidy-soong_subset
Change-Id: I0128b859b7be6eb9bbda1916b89a6a471b052150
2022-06-12 20:25:43 -07:00
Treehugger Robot
139cee9521 Merge "Revert "Keep minimal abort when enabling integer overflow check"" am: 85f2c4eadc am: 288d88b244
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2122286

Change-Id: I8050c0dea79de4f7b8b50bd4000557c642c94636
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-11 04:17:11 +00:00
Treehugger Robot
85f2c4eadc Merge "Revert "Keep minimal abort when enabling integer overflow check"" 2022-06-11 03:32:19 +00:00
Colin Cross
0d7bd9deb6 Merge "Use -fdebug-default-version=4 for assembly files" am: 49fc44f6b2 am: 96aad8abcf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2120563

Change-Id: Ib8863b915723faae69be8f11abc9b38e5f5224f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-10 20:32:39 +00:00
Chih-hung Hsieh
d84cfaf477 Merge "Disable tidy checks in TidyGlobalNoChecks" am: 6f9312127c am: eae21b5c3d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2120564

Change-Id: Id8a3ef4046dbb89a7b8ed3240298d76413fe5ad5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-10 20:31:57 +00:00
Evgenii Stepanov
c480fbc5ef Revert "Keep minimal abort when enabling integer overflow check"
This reverts commit 34448f2430.

Reason for revert: RAM regression + something mainline related
Bug: b/235090315
Bug: b/235181175
Bug: b/233840743

Change-Id: Ia1d1b1428c19b1e297dc75618d640bdac81713b0
2022-06-10 19:47:26 +00:00
Colin Cross
49fc44f6b2 Merge "Use -fdebug-default-version=4 for assembly files" 2022-06-10 18:32:35 +00:00
Chih-hung Hsieh
6f9312127c Merge "Disable tidy checks in TidyGlobalNoChecks" 2022-06-10 18:01:08 +00:00
Yasin Kilicdere
aa02f8fc0b Revert "Disallow -warnings-as-errors in tidy_flags" am: 5a8ce13c2a am: a3cc2a6b11
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2122465

Change-Id: Iadf24ea22c108d6c4556ce6b9758c36d6f547ebb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-10 15:03:02 +00:00
Yasin Kilicdere
5a8ce13c2a Revert "Disallow -warnings-as-errors in tidy_flags"
This reverts commit 2d481842b1.

Reason for revert: b/235569235#comment4

Change-Id: I5c87b1d5a1bdf0bad7f436c397688fe3fc20d04e
2022-06-10 12:18:07 +00:00
Chih-Hung Hsieh
c650faa8e5 Disallow -warnings-as-errors in tidy_flags am: 2d481842b1 am: f3a8ef4231
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2080669

Change-Id: I918c00e10ed94af1fefdc292464534be7cfd5faf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-10 09:55:42 +00:00
Chih-Hung Hsieh
43b920e707 Disable tidy checks in TidyGlobalNoChecks
* Save repeated strings in TidyFlags of build.ninja rules.
* Some of these checks were disabled to upgrade clang-tidy.
  They could later be moved to TidyDefaultGlobalChecks and
  TidyExternalVendorChecks if not breaking the build.
  Some projects can then enable those checks locally.

Test: WITH_TIDY=1 make; make tidy-soong_subset
Change-Id: I70e4218c929e3c88f766f2c68c56c51356110e72
2022-06-09 17:58:41 -07:00
Chih-Hung Hsieh
2d481842b1 Disallow -warnings-as-errors in tidy_flags
* Also remove the undocumented complicated
  experiment to overwrite local warnings-as-errors.

Bug: 229801437
Test: WITH_TIDY=1 make; make tidy-soong_subset
Change-Id: I2fb32146b4685ab9f5198724c15c303f799b7a14
2022-06-09 11:12:10 -07:00
Colin Cross
cdcb680dbd Use -fdebug-default-version=4 for assembly files
-fdebug-default-version=5 is causing $TMPDIR to end up in the dwarf
debug data, which causes the buildbot results to be nondeterministic.
Pass -fdebug-default-version=4 for assembly files as a workaround.

Bug: 235105792
Test: lunch aosp_arm-userdebug && m libbase && llvm-dwarfdump --debug-line out/target/product/generic/symbols/system/lib/libbase.so
Change-Id: Ife04e3c898bbb1291f71b8365fbca854cd2d2b66
2022-06-09 11:08:50 -07:00
Trevor Radcliffe
d456182dd1 Merge "Enable Mixed Builds for Prebuilt Library" am: 74e8df0741 am: d6b70adce7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2101150

Change-Id: Ia64712d0ca085e856c569ac6d06e58299d54e34b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-08 14:53:08 +00:00
Trevor Radcliffe
74e8df0741 Merge "Enable Mixed Builds for Prebuilt Library" 2022-06-08 13:51:13 +00:00
Hsin-Yi Chen
4108552615 Merge "Remove unneeded logic from sourceAbiDiff" am: 6e9225d53c am: 76e7546a6b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2114875

Change-Id: I5768c30f4e80a65e0bb998c0700a7210c915e19d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-08 03:46:25 +00:00
Hsin-Yi Chen
6e9225d53c Merge "Remove unneeded logic from sourceAbiDiff" 2022-06-08 02:12:58 +00:00
Yi Kong
455b84363a Merge "Remove sampling profile support from pgo rule" am: 0e12680a2e am: 8067d9c871
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2117277

Change-Id: If3ef3a3ae492057d6509e431e32cd9765d1663de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-07 21:56:21 +00:00
Chih-hung Hsieh
cdcb038d47 Merge "Shorten the -checks flag in clang-tidy rules" am: 7fd85c45f8 am: 6f807b422e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2116278

Change-Id: I8e87c5fa1dee29dba6e999cd55ac40e79c7ea959
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-07 21:56:10 +00:00
Yi Kong
0e12680a2e Merge "Remove sampling profile support from pgo rule" 2022-06-07 21:20:45 +00:00
Chih-hung Hsieh
7fd85c45f8 Merge "Shorten the -checks flag in clang-tidy rules" 2022-06-07 21:14:14 +00:00
Trevor Radcliffe
5d6fa4d857 Enable Mixed Builds for Prebuilt Library
This change provides support for mixed builds for
cc_prebuilt_library modules and allowlists some such modules.

Fixes: 225938765
Test: Unit tests, run mixed builds and verify correctness
Change-Id: I04396c79661df6b9a43907859e4f96d0191e8e1b
2022-06-07 20:36:53 +00:00
Yi Kong
fe841868c2 Remove sampling profile support from pgo rule
Sampling profiles should use afdo rule instead.

Test: presubmit
Bug: 218791486
Change-Id: I6073da27d184a779be0f6796f336e6ec051beceb
2022-06-07 15:23:08 +08:00
Treehugger Robot
59d37c8bb6 Merge "Remove AIDL modules from VndkMustUseVendorVariantList" 2022-06-07 01:00:06 +00:00
Elliott Hughes
b85366e699 Merge "Revert "Disable BTI for now."" am: ba4a566e2d am: 0770744797
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2020301

Change-Id: I9483bcf63e54ae8df300a3bef750575ac90d5aa4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-06 21:14:43 +00:00
Elliott Hughes
ba4a566e2d Merge "Revert "Disable BTI for now."" 2022-06-06 20:10:56 +00:00
Yu Liu
8d82ac58b4 Support cc code coverage for mixed build
Bug: 231322627
Test: Manual tests and unit tests
Change-Id: I786042af0d612192c54c3572f63a86a47174a242
2022-06-06 12:29:25 -07:00
Liz Kammer
d9b3cf60c2 Merge "Do not hardcode default/experimental c{pp}std" am: ace70d857e am: 72627266b9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2106991

Change-Id: Idc6f6c058d2d1b1e5cd930adb9be52a8a33397b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-06 14:21:07 +00:00
Liz Kammer
ace70d857e Merge "Do not hardcode default/experimental c{pp}std" 2022-06-06 13:40:17 +00:00
Treehugger Robot
98306aa91c Merge "Keep minimal abort when enabling integer overflow check" am: dcec8e067b am: 48d7862515
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2114953

Change-Id: Idbbb36f82d3198126a939e015506d5aa4fbd95da
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-06 10:18:47 +00:00
Treehugger Robot
dcec8e067b Merge "Keep minimal abort when enabling integer overflow check" 2022-06-06 09:45:12 +00:00
Treehugger Robot
01346ff1a6 Merge "Use single clang-tidy build rule and clang-tidy.sh" am: b12ae4f2bd am: 011e470e5e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2110906

Change-Id: I52e5741db934b6166c3f6a9bb75bb0c6726b4bc5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-04 00:45:00 +00:00
Chih-Hung Hsieh
80e3e03aa9 Shorten the -checks flag in clang-tidy rules
* If a module defines tidy_checks with "-*",
  pass only "-*" and checks after it to clang-tidy.

Test: make tidy-soong_subset
Change-Id: I2a4a6111f67b934bc29e4e4fe8596a8dce4e7031
2022-06-03 17:17:17 -07:00
Treehugger Robot
b12ae4f2bd Merge "Use single clang-tidy build rule and clang-tidy.sh" 2022-06-04 00:06:26 +00:00
TreeHugger Robot
6f2ef6127c Merge "Remove AIDL modules from VndkMustUseVendorVariantList" into tm-dev-plus-aosp 2022-06-03 22:10:15 +00:00
Colin Cross
4ec2bf1467 Merge "Revert "Use --dependency-file when linking elf files."" am: b914e7f8c6 am: c43e5ff7cc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2115768

Change-Id: Ieed01217bf395e4951ff571a69b346327d584168
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-03 17:40:20 +00:00
Colin Cross
b914e7f8c6 Merge "Revert "Use --dependency-file when linking elf files."" 2022-06-03 16:53:54 +00:00
Jooyung Han
87f73e527c Remove AIDL modules from VndkMustUseVendorVariantList
Vendor variants of AIDL-gen CC modules are by default different from
core variants. So instead of adding them manually to the list, AIDL
builder can mark them as MustUseVendorVariant.

Bug: 233616647
Test: m
Merged-In: Ifca0eb64d60ecb49d72cd0347336b69fb332c58c
Change-Id: Ifca0eb64d60ecb49d72cd0347336b69fb332c58c
(cherry picked from commit b8d3df82ac)
2022-06-03 04:54:52 +00:00
Jooyung Han
43b2c668da Remove AIDL modules from VndkMustUseVendorVariantList
Vendor variants of AIDL-gen CC modules are by default different from
core variants. So instead of adding them manually to the list, AIDL
builder can mark them as MustUseVendorVariant.

Bug: 233616647
Test: m
Merged-In: Ifca0eb64d60ecb49d72cd0347336b69fb332c58c
Change-Id: Ifca0eb64d60ecb49d72cd0347336b69fb332c58c
2022-06-03 04:46:59 +00:00
Colin Cross
32320e89fd Revert "Use --dependency-file when linking elf files."
This reverts commit 97d87760b4.

Reason for revert: b/234772469

Bug: 137961579
Bug: 234772469
Change-Id: I478f5a2696e87144d0123e8872c9f8ac1d5f24b0
2022-06-02 23:02:01 +00:00
Hang Lu
34448f2430 Keep minimal abort when enabling integer overflow check
Cflag "-fsanitize-trap=all" will override "-fno-sanitize-trap=integer" if "-fsanitize-trap=all" is placed behind. Change the order to make minimal abort work, which will output the abort message to give user a better prompt.

Bug: 233840743
Test: "objdump -dS {CFI enabled so}" to check the instrumented abort instruction
Change-Id: Id85fa8ece3e13d1b21b4fdbf5f4b5124011890ca
2022-06-02 20:47:30 +08:00
Hsin-Yi Chen
dccddb6036 Remove unneeded logic from sourceAbiDiff
- The script creating reference dumps does not need --llndk. It can
  determine the library types automatically.
- NDK passes the ABI checks with -consider-opaque-types-different.
- All libraries checked by the ABI tools have exported headers and don't
  need -advice-only.

Bug: 232891473
Test: development/vndk/tools/header-checker/utils/create_reference_dumps.py \
      && make
Change-Id: Ia418022d6d0b46bfabefaa296fa81e80291fde32
2022-06-02 18:49:26 +08:00
Treehugger Robot
5d069fb876 Merge "Add diff_flags as a header_abi_checker property" 2022-06-02 04:14:57 +00:00
Chih-Hung Hsieh
30ab2f059f Use single clang-tidy build rule and clang-tidy.sh
* The old jobs of two build rules are now combined into
  a new clang-tidy.sh wrapper.
  The clang-tidy build rule now calls clang-tidy.sh.

Bug: 234406661
Test: WITH_TIDY=1 make; make tidy-soong_subset
Change-Id: I91961edf96e9a546f0c3088715a6f2ca8796a21b
2022-05-31 18:46:39 -07:00