Commit Graph

890 Commits

Author SHA1 Message Date
Stephen Hines c5a0e64d82 Merge "Switch to clang-r399163." 2020-09-22 16:40:02 +00:00
Dan Albert 21498b4153 Merge "Replace stringly-typed API levels." 2020-09-21 20:20:30 +00:00
Roland Levillain dba548af83 Merge "Introduce new Arm64 arch variant with dot product features" 2020-09-21 17:54:04 +00:00
Dan Albert 1a2462717e Replace stringly-typed API levels.
Handling of API levels within Soong is currently fairly difficult
since it isn't always clear based on context what kind of API level a
given string represents, how much canonicalizing and error checking
the code receiving the string are expected to do, or how those errors
should be treated.

The API level struct does not export its raw data, so as to keep its
"constructor" private to the android package, and to prevent misuse of
the `number` field, which is only an implementation detail for preview
API levels. API levels can be parsed with either
`android.ApiLevelFromUser`, which returns any errors to the caller, or
`android.ApiLevelOrPanic`, which is used in the case where the input
is trusted and any errors in parsing should panic. Even within the
`android` package, these APIs should be preferred over direct
construction.

For cases where there are context specific parsing requirements, such
as handling the "minimum" alias in the cc module,
`nativeApiLevelFromUser` and `nativeApiLevelOrPanic` should be used
instead.

Test: treehugger
Bug: http://b/154667674
Change-Id: Id52921fda32cb437fb1775ac2183299dedc0cf20
2020-09-18 12:41:28 -07:00
Stephen Hines 2210e720c9 Switch to clang-r399163.
Bug: http://b/155835175
Bug: http://b/151457797
Bug: http://b/165945989
Test: m with aosp_blueline
Change-Id: Id2c2932ccbc34fcbb19cd0b4da0d66ea92cc099a
2020-09-15 13:48:05 -07:00
Treehugger Robot 5a1a88ee93 Merge "LinuxBionic supports arm64" 2020-09-14 15:59:16 +00:00
Pirama Arumuga Nainar 0710d8e1cc Merge "Set -fsjlj-exceptions for all 32-bit Windows compiles" 2020-09-10 20:41:41 +00:00
Pirama Arumuga Nainar af68337d36 Set -fsjlj-exceptions for all 32-bit Windows compiles
Bug: http://b/116784799

Previously this was set only when stl was requested.  We can now pass
this for all C++ compilations.

Test: go/android-llvm-windows-testing
Change-Id: I43e635ff50d0f1a5e000f13021506aeece368b4a
2020-09-10 09:33:22 -07:00
Jiyong Park 4afa2e2682 LinuxBionic supports arm64
LinuxBionic now supports arm64 architecture in addition to the existing
x86_64 arch. This is to make it possible to build host tools like adb,
fastboot, crosvm, etc. for Linux/ARM on regular Linux/x86 machines.

The arm64 target can be selected in various ways in Android.bp files:

   - target.host (because this is still considered as a host target)
   - target.linux (provided that the module is also enabled for host)
   - target.linux_bionic (use the OS name directly)
   - target.linux_bionic_arm64 (OS name + arch combo)
   - target.linux_arm64 (provided that the module is also for host)
   - target.not_windows
   - arch.arm64

The toolchain for the new target is almost the same as the toolchain
config for Android/ARM64. One notable difference is that the clang
triple is aarch64-linux instead of aarch64-linux-android, so that
__ANDROID__ is not defined for the new OS type.

Bug: 134795810
Test: HOST_CROSS_OS=linux_bionic HOST_CROSS_ARCH=arm64 m nothing

Change-Id: If4300583edfb6d75bd4d984b38f73b6a406b4447
2020-09-09 21:57:10 +09:00
Xin Li 65cb5c69ea Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ifca7b65f4e27bf14cdc30f72f790b0de90130bae
Change-Id: I3a39be5f0b8736de4822c6a14072c78d4e4ad89d
2020-08-29 01:17:45 -07:00
Raphael Gault 70b96b0d64 Introduce new Arm64 arch variant with dot product features
In order to rely on `-march`/`-mcpu` compiler flags for feature
detection, we introduce a new arch variant based on armv8.2 with the
addition of dot product features.

Test: test-art-target on Pixel 4.

Change-Id: I4d97db6129e2cd718a2b21008d36ec767739f925
2020-08-26 15:52:22 +00:00
Dan Albert d12afec49c Allow globally disabling some clang-tidy checks.
Test: used for the upcoming compiler update
Bug: None
Change-Id: Id17db2c48fa3e165da81a1d084827bde142406dd
2020-08-18 13:28:03 -07:00
Kousik Kumar 20cccd2e95 Merge "Add remote execution support for clang-tidy actions" 2020-08-12 13:46:10 +00:00
Pirama Arumuga Nainar eb8d403273 Rename CFI blocklist files.
Update language to comply with Android’s inclusive language guidance

See https://source.android.com/setup/contribute/respectful-code for
reference

Bug: 161896447
Test: build
Change-Id: I3de274e58135660e102c276a9822a2ef2cd7cba8
2020-07-27 18:37:48 +00:00
Dan Willemsen 453b4e1235 Merge "Add support for macOS 11 SDK" am: 59415ca60d am: 92601afd91
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1360927

Change-Id: I0eb2c3eb8638f02e14757e0f3079043400cf4664
2020-07-17 22:12:35 +00:00
Dan Willemsen 695dc69ac4 Add support for macOS 11 SDK
Test: try building on the xcode 12 beta 2 macOS 11 SDK
Change-Id: Ic7e245ca418914798ba737106c6a345844e7a6ac
2020-07-14 16:53:43 -07:00
George Burgess IV feb6b1e26a Merge "soong: globally enable -Wunreachable-code-loop-increment" am: c5f2aa4e73 am: 06285bd9a3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1242459

Change-Id: I90b6c54b13730b27aa0391c823888ebea5cfb9a8
2020-07-07 20:31:44 +00:00
George Burgess IV c5f2aa4e73 Merge "soong: globally enable -Wunreachable-code-loop-increment" 2020-07-07 19:49:53 +00:00
George Burgess IV fb81db2f4d soong: globally enable -Wunreachable-code-loop-increment
This warning only flags code that's otherwise pretty trivial to refactor
into something more readable. It also catches nasty bugs, so turning it
on seems like a good idea.

Bug: 150166387
Test: TreeHugger
Change-Id: I0e095d83ba4a2dcd81f680efd8ea3d2a6fe1a970
2020-06-27 01:44:36 +00:00
Kousik Kumar 4e30bbaca1 Add remote execution support for clang-tidy actions
Test: Ran with the following command and it succeeded
RBE_CLANG_TIDY="true" RBE_CLANG_TIDY_EXEC_STRATEGY="remote" RBE_CXX_EXEC_STRATEGY="remote_local_fallback" RBE_METALAVA="true" RBE_METALAVA_EXEC_STRATEGY="local" RBE_ABI_LINKER="true" RBE_ABI_LINKER_EXEC_STRATEGY="remote_local_fallback" RBE_CXX_LINKS="true" RBE_CXX_LINKS_EXEC_STRATEGY="remote" use_rbe m out/soong/.intermediates/external/android-clat/clatd/android_arm_armv7-a-neon/obj/external/android-clat/icmp.tidy

Bug: b/157147559
Change-Id: I110b6157fc090abd14ac32330fc59a3d76cdfa82
2020-06-18 09:34:19 -07:00
Treehugger Robot f1429cab7d Merge "Prefer armv8.2-a to armv8.2a for GNU as compatibility" am: e6c1d80072 am: f8fdc174d0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1339953

Change-Id: I2b9a423516f0d26735225c05c6442e44c0696113
2020-06-16 22:08:15 +00:00
Stephen Hines 502f901e17 Prefer armv8.2-a to armv8.2a for GNU as compatibility
There are still out-of-tree users of `-fno-integrated-as`, which will
have issues without the hyphen.

Bug: http://b/158191033
Test: ./build.py
Change-Id: I44b68ab5b65a68df3993f38b99662178915e9be2
2020-06-16 02:40:40 -07:00
Treehugger Robot 1980e740c0 Merge "Update LLVM toolchain to r383902b." am: 9f42bb8822 am: 4019a06c3c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1329715

Change-Id: I88cb95d31ffe7b4eb0f401bd6c928c9d5d63b51d
2020-06-11 09:05:16 +00:00
Stephen Hines b31d77e57c Update LLVM toolchain to r383902b.
Bug: http://b/149417653
Test: m
Change-Id: I0e191b463852da8b5eb5a4e092ef9b5da255df3d
2020-06-10 15:39:31 -07:00
Jaewoong Jung 8066ebc38f Merge "Soong package structure refactoring" am: 264700345d am: ca9ed9158d
Original change: undetermined

Change-Id: I5cd95c02ab8af420dc2b7166ba24bdf0c7dc6496
2020-06-02 16:57:16 +00:00
Jaewoong Jung 4b79e98a6e Soong package structure refactoring
Give prebuilt_etc and sh_binary their own packages and split the
gigantic main Android.bp up to small, per-package ones.

Test: m nothing, TreeHugger
Bug: 156980228
Change-Id: I7b00cd344b9f16861f1ff39edf0029f016b853d0
2020-06-01 13:44:48 -07:00
Treehugger Robot b5871f6d52 Merge "Restore "Default to zero-initialization instead of pattern."" am: 59759dff24 am: b8c6169aff
Change-Id: I34c71e2e7d23af5355a571435bbffe15f6c72f1f
2020-05-15 05:53:44 +00:00
Treehugger Robot 59759dff24 Merge "Restore "Default to zero-initialization instead of pattern."" 2020-05-15 05:20:35 +00:00
Stephen Hines 5c873acdb5 Restore "Default to zero-initialization instead of pattern."
This reverts commit 39fa1882ac.

Reason for revert: Original test was broken (go/oag/1311137), so restoring correct build/soong change.

Bug: http://b/156464649
Test: atest CtsNNAPITestCases:TensorRankConstraint

Change-Id: Id87b6a265a3541e95bcf2d68097738929e88e8b2
2020-05-14 01:00:46 +00:00
Treehugger Robot 0590ea3bca Merge "Revert "Default to zero-initialization instead of pattern."" am: 73e260fa37 am: c885911311
Change-Id: I237ce809a4314141100aa98a3c9274f59fbc120d
2020-05-13 23:51:04 +00:00
Treehugger Robot 73e260fa37 Merge "Revert "Default to zero-initialization instead of pattern."" 2020-05-13 23:41:28 +00:00
Stefano Galarraga 39fa1882ac Revert "Default to zero-initialization instead of pattern."
This reverts commit 7871416eec.

Reason for revert: This change is breaking CtsNNAPITestCases.TensorRankConstraint (http://b/156464649). 

Change-Id: I8831993a7d3c2079a8d76a23dfbdf9c7c1543181
2020-05-13 20:09:28 +00:00
Treehugger Robot c589305e8d Merge "Add support for the remote execution of Abi links." am: c81f967ddd am: e1d817f150
Change-Id: I8a276845427bab7ad7f2135672ac39e291944eb9
2020-05-12 22:00:25 +00:00
Treehugger Robot c81f967ddd Merge "Add support for the remote execution of Abi links." 2020-05-12 21:35:43 +00:00
Stephen Hines b99c9d52e2 Default to zero-initialization instead of pattern. am: 7871416eec am: a6ca70a374
Change-Id: I79affb3afb753859a38002a1b560d0876f8dfa87
2020-05-12 19:44:24 +00:00
Stephen Hines 7871416eec Default to zero-initialization instead of pattern.
Bug: http://b/154169005
Test: Built blueline and ran some CTS tests.
Change-Id: Ie5e45619096cdcd0b52d01ece65e7f0233b2a3c8
2020-05-12 01:10:38 -07:00
Ramy Medhat 808594c668 Add support for the remote execution of Abi links.
Test: built crosshatch userdebug with RBE_ABI_LINKS=1
Change-Id: Idb4e15b59878af4a98d9a594127c21deff669e16
2020-05-07 23:55:03 -04:00
Treehugger Robot 5dd4e5ecb7 Merge "Remove implicit Bionic and kernel system includes." am: 4779327cf8 am: 6bc155429e
Change-Id: I6d848f25cd90abd31afa9816afd4174d07091304
2020-05-07 13:52:09 +00:00
Martin Stjernholm 41ab2519b4 Remove implicit Bionic and kernel system includes.
They are now explicit in the Bionic blueprints, and brought in through
dependencies on libc (which in turn is usually implicit through the
default system_shared_libs value). Modules that may break are cc_object
which don't depend on system_shared_libs, and those that explicitly set
system_shared_libs:[] but still assumes libc headers. In either case
the fix should be to add header_libs:["libc_headers"].

Test: Build and boot
Test: m checkbuild (on aosp_taimen and aosp_x86_64)
Bug: 153590472
Change-Id: I3217d8f36e49a987f5377866c8647f9dcccc37ce
2020-05-06 19:45:03 +01:00
Yabin Cui ab30444528 Merge "Switch to clang-r383902 (11.0.1)." am: 74d25e39f0 am: 3f7e2270e6
Change-Id: I726c65611e1b62cc566eb0310b4eed963b470410
2020-05-01 05:57:17 +00:00
Yabin Cui 74d25e39f0 Merge "Switch to clang-r383902 (11.0.1)." 2020-05-01 05:28:39 +00:00
Treehugger Robot fb1add1fd6 Merge "Refactor RBE support for Javac/R8/D8 to use the remoteexec package." am: 0b3b3db525 am: ebbe86fdb7
Change-Id: I1e1e35955cefcd26cfe58e9cd9f02c9465865442
2020-04-28 18:33:59 +00:00
Ramy Medhat 1dcc27e47c Refactor RBE support for Javac/R8/D8 to use the remoteexec package.
Test: build with and without RBE_JAVAC/RBE_R8/RBE_D8 set.
Change-Id: I1607f8cfb4d2c3cbb3672152bbeb561d9968bc60
2020-04-28 11:37:20 -04:00
Treehugger Robot 449d81cdf6 Merge "Add support for remotely executing header-abi-dumper actions." am: 867dfd52f5 am: 7cb58ab378
Change-Id: I118593627936a3f0192c471457c5f77b75c56d03
2020-04-27 19:47:00 +00:00
Ramy Medhat 31ec942ff7 Add support for remotely executing header-abi-dumper actions.
Test: built with and without RBE_ABI_DUMPER set.
Change-Id: Ie752c07325453076d191813eaa50da03e3a0c2d8
2020-04-27 08:13:42 -07:00
Yabin Cui 8ec05ff5f6 Switch to clang-r383902 (11.0.1).
Also suppress some warnings/flags globally to pass compilation.

Bug: 149839606
Test: build aosp_arm64-userdebug.
Change-Id: I0ed740e51b6b39c58842a58eabcf3cdf404e73fa
2020-04-27 01:17:12 -07:00
Ramy Medhat be1bce758a Merge "Allow remote execution of link actions." am: 383683559c am: 10e9d6dff8
Change-Id: I009b5fa5234f2895651b2b6c650ea518d32b20b3
2020-04-17 14:40:30 +00:00
Ramy Medhat 383683559c Merge "Allow remote execution of link actions." 2020-04-17 13:59:26 +00:00
Ramy Medhat 9a90fe5e23 Allow remote execution of link actions.
This CL adds a remoteexec package that allows adding a configurable RBE
prefix to the template.

Test: built aosp crosshatch userdebug with and without RBE_CXX_LINKS.
Change-Id: Ica920c3d7f79f2996210b9cbd448126451c1707c
2020-04-16 21:18:10 -04:00
Treehugger Robot 08931de17f Merge "Clean up unused flags for LLD." am: 7f64ed9dcf am: f0f0f071a4
Change-Id: Ia1f63c05f14ebeae2e09ba02e9d5b47e3c493758
2020-04-14 22:45:44 +00:00