Commit Graph

7708 Commits

Author SHA1 Message Date
Cory Barker
edadcdb17c Merge "Updated the way we build AFL++ fuzz binaries" 2022-08-08 14:24:16 +00:00
Krzysztof Kosiński
6934b0ee64 Globally force -Wdeprecated-declarations to be a warning.
Some code compiles with -Werror, which makes it very hard to mark
anything as deprecated without breaking the build. This option
will ensure that we can still mark things as deprecated without
breaking such code. Among other things, this will allow us to
undo a local change to protobuf which disables deprecation
warnings.

Bug: 203713560
Test: presubmit
Change-Id: I718de31c3ff685dba4104f3c9e7bd5d169d89f7e
2022-08-07 07:00:41 +00:00
Cory Barker
cecb7546db Updated the way we build AFL++ fuzz binaries
Test: Built AFL fuzzers individually and built all using haiku command
and built libfuzzers individually and also by using haiku command. Ran
selected fuzzers manually to ensure fuzzing still worked.

Description: Previously we needed to add cc_afl_fuzz to build an afl fuzz binary,
however, to turn current libFuzzers into AFL fuzzers this would required
an update to each Android.bp file which is a lot of work, and would also
require an approval from each Android.bp file owner, which is even more
work.

To get around this (and also to match how AFL fuzzers are built in G3)
we will build AFL++ fuzz binaries by command line option FUZZ_FRAMEWORK.
When FUZZ_FRAMEWORK=AFL is set, all cc_fuzz modules will be built
for AFL rather than libFuzzer. Devs can also specify if a cc_fuzz module
is only for libFuzzer or AFL by using fuzzing_frameworks. If
fuzzing_frameworks is left blank then it will be assumed that the
cc_fuzz module can be built for all available fuzzing frameworks.

Change-Id: Ia7a8224627f2de61606b410d1d1a56d7bdc0955f
2022-08-05 21:46:26 +00:00
Mu-Le Lee
0a9005eaad Diff source dump and previous version dump for Cross-Version ABI Check
Created a function to determine the current finalization stage by
environment variable and the existence of a version folder
prebuilt/abi-dumps/<lib_type>/<platform_sdk_version>/.
Assign the corresponding prevVersion with the current stage and generate
mk commands to diff source and previous dump to
{fileName}.{prevVersion}.abidiff with diff flag --allow-extension and
--advice-only
The test is verified in all stages. lsdumps should be prepared in
advance.
For stage 1: current/ and PLATFORM_SDK_VERSION/
For stage 2: current/ and {PLATFORM_SDK_VERSION-1}/
For stage 3: PLATFORM_SDK_VERSION/ and {PLATFORM_SDK_VERSION-1}/
The definition of stages could be found at
"go/cross-version-abi-check#bookmark=id.vpflkul2z968"

Test: make libbinder_ndk
Bug: 238387082
Change-Id: Ic29456113a541650c75fa38c5c4f2d6d2e76a877
2022-08-05 05:37:42 +00:00
Cole Faust
e1022f53bc bp2build support for .asm files am: 7071a05c93
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2168429

Change-Id: Id6241afd422f733d33cafc4208088c353f5e58d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-03 22:20:25 +00:00
Cole Faust
7071a05c93 bp2build support for .asm files
Bug: 233948256
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I387c2aeb36df004f0e1838a08a4f28b38503d6ed
2022-08-03 13:34:15 -07:00
Mu-Le Lee
b273f88b54 Merge "Diff source dump and current version dump for Cross-Version ABI Check" am: 950f28abe2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2166882

Change-Id: Iaff3116cf86d46f517e1c067dea0ef667c66ea0d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-03 04:13:16 +00:00
Mu-Le Lee
950f28abe2 Merge "Diff source dump and current version dump for Cross-Version ABI Check" 2022-08-03 03:52:38 +00:00
Treehugger Robot
13d06a134f Merge "Remove obsolete notice property." am: 0ea404eb36
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2156349

Change-Id: Ib08598705dbf4904d50f18b1b1c5c206557cf197
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-02 17:46:17 +00:00
Mu-Le Lee
5e04753bb6 Diff source dump and current version dump for Cross-Version ABI Check
In the newly proposed Cross-Verison ABI Check, the path of dump that
LLNDK, NDK and mainline reference to is changed to:
Before finalization: current/
After finalization: {PLATFORM_SDK_VERSION}/
In addition, a related CL(aosp/2147882) modifies the script to create
dump to folders that match the current finalization stage.

Test: make libbinder_ndk
Bug: 238387082
Change-Id: I92a4a52c26c85cf4c866b441e54291c6a624fbf4
2022-08-02 17:35:15 +00:00
Treehugger Robot
0ea404eb36 Merge "Remove obsolete notice property." 2022-08-02 17:22:42 +00:00
Alix
33032667e0 filter unknown clang cflags in bp2build am: 1be00d4e48
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2137955

Change-Id: I1a586c5fe3ffd7f3c767bcd9c79d9d00cfde4302
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-29 18:48:30 +00:00
Bob Badour
0cc5facf79 Remove obsolete notice property.
Bug: 192434786

Test: m droid dist

Change-Id: I0f384ae895cebab9732448b82db600c67eb8f711
2022-07-29 17:54:40 +00:00
Alix
1be00d4e48 filter unknown clang cflags in bp2build
filtering out no longer useful flags in bp2build conversion

Test: cc_library_shared_conversion_test
Bug: 231995978
Change-Id: I5172f6d07a8928291bbc11bd8802678b33cc5b1f
2022-07-29 12:17:25 +00:00
Mu-Le Lee
c56d40cb54 Merge "Move LLNDK ABI dumps from vndk/ to platform/" am: 6f84b7763e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2147824

Change-Id: Id6244f29c95d41aeb7c7207fc741fa70e74307b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-22 11:03:05 +00:00
Mu-Le Lee
6f84b7763e Merge "Move LLNDK ABI dumps from vndk/ to platform/" 2022-07-22 10:44:06 +00:00
Treehugger Robot
afa6a56bd4 Merge "Fix typo" am: 576bacae1d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2162377

Change-Id: I4f74dac3e4eb4ecddd72e06d0388a0f39a381af2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 22:30:23 +00:00
Treehugger Robot
7394062b10 Merge "Add option to allow unknown warning options" am: 485127c76e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2161661

Change-Id: I7b659585ddf16e206a1f6e5d6abc94df87d90636
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 22:29:58 +00:00
Treehugger Robot
6d84fa2212 Merge "Update clang version to clang-r458507" am: a9eef7bd2d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2160498

Change-Id: I6caf51563be9c4df4f8894af4c4cb880f8fd7e0a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 22:29:23 +00:00
Treehugger Robot
576bacae1d Merge "Fix typo" 2022-07-21 17:32:49 +00:00
jiajia tang
cd1c27b33f Fix typo
Signed-off-by: jiajia tang <tangjiajia@xiaomi.com>
Change-Id: I23bec7b08c11c33a06dd13eb7b60ea38d4f26a11
2022-07-21 18:04:37 +08:00
Yi Kong
f7f69e4992 Add option to allow unknown warning options
Some build targets pulls cflags from build/soong but has its own choice
of compiler version. This causes errors for due to unknown warning
options. This allows them to suppress such checks.

Test: presubmit
Change-Id: Ia89508d6b92481fb1ed0c90f1fdb4d8e54566349
2022-07-21 15:49:05 +08:00
Yi Kong
eb8d04e589 Update clang version to clang-r458507
Test: presubmit
Bug: 236798112
Change-Id: Iff8df2b5c7faf359d0554994586bbc984b7a1856
2022-07-21 06:43:09 +00:00
Yi Kong
f77a1a55f8 Merge "Enable -Wmisleading-indentation for 1p projects" am: 1b3d5f836c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2099784

Change-Id: Ifd673171b918739bb800cf9a5a8410d8a057e115
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-19 17:11:24 +00:00
Yi Kong
1b3d5f836c Merge "Enable -Wmisleading-indentation for 1p projects" 2022-07-19 16:53:32 +00:00
Elliott Hughes
f08a664127 Enable -Wmisleading-indentation for 1p projects
Bug: http://b/232926688
Test: treehugger
Change-Id: I7e3458f23e9b2e7a229a4a3eada5d98bdf4731d0
2022-07-19 11:51:59 +00:00
Treehugger Robot
03c590b4e1 Merge changes I0484ea34,I188e4824 am: b3f18a9f9f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2153678

Change-Id: I412a85473760a3dc7915984d013350edb00ad74b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-19 06:44:19 +00:00
Treehugger Robot
b3f18a9f9f Merge changes I0484ea34,I188e4824
* changes:
  Distinguish # apex and # systemapi symbols
  Refactor symbolfile script
2022-07-19 06:24:04 +00:00
Jiyong Park
ffea9b3b0e #apex symbols no longer contribute to platform libraries
Bug: 239274367
Test: m
Change-Id: I7a6cd0f46071d5dbbf9510df5693a0d6b95e10c0
2022-07-19 13:47:19 +09:00
Jiyong Park
85cc35a143 Distinguish # apex and # systemapi symbols
Previously, the symbol tag `# apex` was treated the same as `#
systemapi`. With this CL, they have different meanings.

`# systemapi`: APIs that are defined in the platform (the non-updatable
part), and are exposed to unbundled system components like APEX

`# apex`: APIs that are defined in the APEX and are exposed to the
platform or other APEXes

Bug: 239274367
Test: m
Change-Id: I0484ea349656dbbd337e5fe3a5970f0ad275b807
2022-07-19 13:47:19 +09:00
Jiyong Park
3f9c41d2f5 Refactor symbolfile script
Introduce the class `Filter` which encapsulates conditions
(architecture, api level, whether llndk is included, etc.) so that we
don't need to touch many places everytime a new condition is added.

In addition, refactor test_symbolfile to reduce duplications

This CL doesn't add a new functionality.

Bug: 239274367
Test: run test_ndkstubgen and test_symbolfile
Change-Id: I188e482492d39ec18134ecc5c908f0d288a754a9
2022-07-19 13:47:15 +09:00
Treehugger Robot
dd3de9731a Merge "Move libFlags as well to the RSP file for link actions" am: e3048505c0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2145559

Change-Id: Ie8157ee7782841a2d4eda9719289b36f0f2faa0f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-18 05:06:03 +00:00
Treehugger Robot
e3048505c0 Merge "Move libFlags as well to the RSP file for link actions" 2022-07-18 04:50:41 +00:00
Yi Kong
5cac3ca30a Merge changes from topic "llvm-stable-r458507" am: cc3ad51a36
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2153673

Change-Id: Id62c1a0f693e22b73c96f5494f0c937df72a1cb9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-15 07:46:42 +00:00
Yi Kong
cc3ad51a36 Merge changes from topic "llvm-stable-r458507"
* changes:
  [bindgen] Allow unrecognised -Wno-* flags on LLVM_NEXT
  Add extra cflags for LLVM_NEXT
2022-07-15 07:30:57 +00:00
Cory Barker
842a6c9b2f Merge "Adding support for building AFLpp Test: Build AFL fuzzers locally and ran them" am: b1c8940be1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2151702

Change-Id: I8872f7a563bfd04d315f4577060176a4eefee55d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-14 16:45:56 +00:00
Yi Kong
b79fc584c7 Add extra cflags for LLVM_NEXT
The staging compiler update sometimes needs additional cflags to build, but those flags may not be recognised by the current compiler. Add a
new `llvmNextExtraCommonGlobalCflags` section and only append those
flags when LLVM_NEXT is set.

Test: LLVM_NEXT=true m
Bug: 236798112
Change-Id: Icc4687950acd44798b2cf09131a425ddfd919214
2022-07-13 07:47:56 +00:00
Cory Barker
a1da26fa9b Adding support for building AFLpp
Test: Build AFL fuzzers locally and ran them

Change-Id: Ie4fbd258c87663cf81d7d64d575b3da1d5febc17
2022-07-12 21:31:47 +00:00
Cory Barker
3eb2a62110 Merge "Revert "Adding support for building AFLpp Test: Build AFL fuzzer..."" am: 14058f2c4a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2151853

Change-Id: Iee4f2067de7dbc952d2e99672fead78e20342719
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-12 20:40:44 +00:00
Cory Barker
7bc91232d1 Revert "Adding support for building AFLpp Test: Build AFL fuzzer..."
Revert submission 2124256-AFLpp support in Soong

Reason for revert: It is breaking the build
Reverted Changes:
Ie07ec3368:Adding support for building AFLpp Test: Build AFL ...
I5bd6d1e9b:Adding support for building AFLpp Test: Built AFL ...

Change-Id: Id2eec1060f7532fec46293d0c207be800e6eaa03
2022-07-12 18:04:17 +00:00
Cory Barker
9f4fb94778 Merge "Adding support for building AFLpp Test: Build AFL fuzzers locally and ran them" am: 7e0b4bae8a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2124256

Change-Id: Idd7529a0fcd1aa3819e042015df71e65b6c6a78f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-12 17:39:55 +00:00
Cory Barker
f4b1c3a7a7 Adding support for building AFLpp
Test: Build AFL fuzzers locally and ran them

Change-Id: Ie07ec336892649192a844a4d0d231196673e34a0
2022-07-12 01:20:17 +00:00
Mu-Le Lee
85155c8ada Move LLNDK ABI dumps from vndk/ to platform/
Since vndk libraries don't need to maintain Cross-Version abi
compatibility. The newly proposed Cross-Version ABi checking mechanism
is applied to only ndk/ and platform/. The reference dumps of LLNDK
libraries should get from platform/ to be benefited from this checking
mechanism.

Test: mkdir -p prebuilts/abi-dumps/platform/UpsideDownCake/64/x86_64/source-based/ && cp prebuilts/abi-dumps/vndk/32/64/x86_64/source-based/libvndksupport.so.lsdump "$_"
      make libvndksupport -j
Bug: 238383845
Change-Id: I663511d60623cd23619166d8d63fd26220a930e2
2022-07-08 08:17:29 +00:00
Kousik Kumar
01332cf3b4 Move libFlags as well to the RSP file for link actions
This is to avoid hitting command-line length issues when building with
RBE enabled for C++ links.

TESTED=ran a build with link actions and saw command-line getting
shorter in size from verbose.log
Bug: b/237480728

Change-Id: Id66165159388554bb76579080c5a6979dd670d22
2022-07-04 20:34:57 +00:00
Treehugger Robot
82a2240a5c Merge "Remove alternative stl names in bp2build" am: 281d421f41
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2132718

Change-Id: I1b10a03236cc2e83aa627e0b7cf70bbc1a3c74b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-01 15:11:46 +00:00
Treehugger Robot
281d421f41 Merge "Remove alternative stl names in bp2build" 2022-07-01 14:54:20 +00:00
Treehugger Robot
f4da9403f3 Merge changes I93edfd61,Icd23b542,I58c84607,Icfa73a75 am: 4d2f767217
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2139101

Change-Id: I35551b07799c29cb56e2ffdaf7c1693b23f4f8d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-01 13:10:11 +00:00
Treehugger Robot
4d2f767217 Merge changes I93edfd61,Icd23b542,I58c84607,Icfa73a75
* changes:
  Pass -fno-sanitize=vptr,function for musl
  Use musl rust prebuilts for USE_HOST_MUSL=true
  Don't package host cross modules in javaFuzzPackager
  Add rust musl arm and arm64 toolchains
2022-07-01 12:46:58 +00:00
Colin Cross
6c18d004f2 Pass -fno-sanitize=vptr,function for musl
The prebuilts for musl have the necessary symbols for vptr and function
sanitizers, but enabling them implicitly enables RTTI which causes RTTI
mismatch issues with dependencies.

Bug: 215802826
Test: m USE_HOST_MUSL=true host-native
Change-Id: I93edfd617d99efcac0eca58bb3f3c173c4fa121a
2022-07-01 02:58:25 +00:00
Trevor Radcliffe
4e99f88d41 Merge "Add support and tests for export_*_lib_headers" am: 130d98f8b2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2134738

Change-Id: I7573ebe34941edc361d2f5f13ad55ee9394f06e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-30 17:49:47 +00:00