Commit Graph

1794 Commits

Author SHA1 Message Date
Ivan Lozano
2ba4fd10f4 Merge "Disable AArch64 XOM when not using lld."
am: a6703fe6b7

Change-Id: I6af0beba0c9766b3793534aa7c364cea46545dc0
2018-11-29 08:20:00 -08:00
Ivan Lozano
a6703fe6b7 Merge "Disable AArch64 XOM when not using lld." 2018-11-29 15:58:39 +00:00
Stephen Hines
8284a728de Merge "Support Qualcomm Kryo 385 CPU variant."
am: c027b309f1

Change-Id: I69def413ca375096f37620398a44462e2779b753
2018-11-29 00:06:55 -08:00
Stephen Hines
c027b309f1 Merge "Support Qualcomm Kryo 385 CPU variant." 2018-11-29 07:23:40 +00:00
Elliott Hughes
d1ad118bbe Merge "Bump "experimental" C++ to C++2a."
am: 4afedfadb2

Change-Id: Ia9a4ad9a8f479ad9c6169a96c7b8bdc03a7b6b3b
2018-11-28 18:03:15 -08:00
Elliott Hughes
4afedfadb2 Merge "Bump "experimental" C++ to C++2a." 2018-11-29 01:48:54 +00:00
Dan Albert
8f37f22d71 Merge "Allow NDK APIs to be marked as drafts."
am: abe477a33a

Change-Id: I64d49f705169e6856672766c1cb1d4b14315529c
2018-11-28 16:12:49 -08:00
Elliott Hughes
37976122aa Bump "experimental" C++ to C++2a.
C++17 is so last year.

Test: treehugger
Change-Id: Ifd5e6d4a4837fe037837c49c31ee2fe1499e2d79
2018-11-28 14:16:39 -08:00
Dan Albert
23d37e09e9 Allow NDK APIs to be marked as drafts.
Draft APIs are available to the platform and to CTS to allow
developers to iterate on an API, but hidden from the NDK artifacts to
avoid releasing the API until it is ready.

Test: Mark binder_ndk headers and library as drafts, make checkbuild,
      build-ndk-prebuilts.sh, verify missing from NDK artifact.
Bug: http://b/120091134
Change-Id: I8685e92bdaaea581e17fe98e7a2bfb9388f9f132
2018-11-28 09:52:12 -08:00
Ivan Lozano
bd721269d3 Disable AArch64 XOM when not using lld.
AArch64 execute-only memory is only supported when using lld as the
linker. There's still a few modules which don't use lld, so in those
cases we need to disable this option.

Bug: 77958880
Test: Module with use_clang_lld false builds without XOM
Test: Module without use_clang_lld defined builds with XOM
Change-Id: I4ab961c4d7342c54c6b40b9facfe18a45ed883bd
2018-11-28 09:17:26 -08:00
Dan Albert
7c53ee4920 Merge changes from topic "update-prebuilts-r18b"
am: f9e2c3f5d7

Change-Id: Ie4722fb5971ddff0c1a1acf11eda464ca4f01916
2018-11-28 08:30:20 -08:00
Dan Albert
1c48700978 Remove legacy NDK code.
am: fac114b9a5

Change-Id: I3f6917f8accb5b0139dc476efdd6491c2ed01cb0
2018-11-28 08:29:32 -08:00
Dan Albert
fac114b9a5 Remove legacy NDK code.
Test: make checkbuild
Bug: None
Change-Id: Ib25e851b5ac25e918c5e20d79348c6d705bddeb2
2018-11-27 13:58:18 -08:00
Dan Albert
90b9bbc5dc Don't use libandroid_support post-21.
Test: m checkbuild
Bug: http://b/119587551
Change-Id: I7ee1cdc7c0119dbec0e57522b9b494aeb3c16a43
2018-11-27 13:58:18 -08:00
Steven Moreland
26d78433d9 Update error message for double loadable libraries.
am: 742989eedb

Change-Id: Ifef31df477a5837023e03093f00c034f8ace0624
2018-11-26 16:12:51 -08:00
Steven Moreland
742989eedb Update error message for double loadable libraries.
Before it just mentioned 'double_loadable', but in this context,
LL-NDK and VNDK-SP libraries also work.

Bug: 119790516
Test: N/A
Change-Id: Ie09a959fd5e05b9cb73db30d3cc2853694577dfe
2018-11-26 12:41:04 -08:00
Ivan Lozano
3cddda31af Add support for AArch64 XOM binaries.
am: 074ec480ef

Change-Id: I95e1033f75f5157b30676bf9cf9b7870595e9fdc
2018-11-21 14:39:38 -08:00
Ivan Lozano
074ec480ef Add support for AArch64 XOM binaries.
Adds build system support for generating AArch64 binaries with
execute-only memory layouts via a new xom module property. Also adds
support for an ENABLE_XOM build flag for global builds.

Bug: 77958880
Test: make -j ENABLE_XOM=true
Change-Id: Ia2ea981498dd12941aaf5ca807648ae37527e3ee
2018-11-21 08:59:37 -08:00
Artem Serov
d3072b0c7c Support Qualcomm Kryo 385 CPU variant.
Support Kryo 385 cpu variant which should be used for
Qualcomm Snapdragon 845.

Motivation:
  kryo385 CPU *IS NOT* an Arm Cortex-A75.

Particular problem:
  Cortex-A75 CPU must support optional ARMv8.2 dot product
  feature; kryo385 CPU (Qualcomm Snapdragon 845) doesn't
  support it.

Test: Builds when kryo385 is used as cpu variant.
Test: Pixel 3 boots to GUI with kryo385 as CPU variant
      with this patch on AOSP 9.0.0 r16.

Bug: 119564566

Change-Id: I62ffb46b1977b48446c6c1ca1400b1b39f7a8457
2018-11-21 10:15:07 +00:00
Peter Collingbourne
54cb7e2824 Merge "Add an "scs" flag for enabling shadow call stack on targets."
am: 073d687637

Change-Id: Icc62844c07afc4d69d50cab64a8e44ea8e4a1616
2018-11-20 10:29:35 -08:00
Peter Collingbourne
073d687637 Merge "Add an "scs" flag for enabling shadow call stack on targets." 2018-11-20 18:13:10 +00:00
Dan Willemsen
6b30a47df4 Add dist support to Soong
am: 569edc5f66

Change-Id: I5dd92d5deb6fa6591bf167936dc20c96b9f339bc
2018-11-19 19:31:18 -08:00
Peter Collingbourne
8c7e6e2626 Add an "scs" flag for enabling shadow call stack on targets.
Shadow call stack (SCS) is a security mitigation that uses a
separate stack (the SCS) for return addresses.

The effect of setting sanitize.scs on a shared library is to build
the library and all of its static library dependencies with SCS. This
is similar to CFI and the other sanitizers.

Bug: 112907825
Bug: 119557795
Change-Id: I82fb2b38b10eac911c4d2d120b74fea4af0622ad
2018-11-19 17:39:23 -08:00
Dan Willemsen
569edc5f66 Add dist support to Soong
When dist'ing a library or binary that has use_version_lib set, always
distribute the stamped version, even for the device.

Test: m test_build_version_test dist
Change-Id: I2995ec516b1d182ce18f099aeaa4d186ffbcf01f
2018-11-19 15:26:14 -08:00
Evgenii Stepanov
178bafe6e3 Merge "Apply HWASan to libc-in-recovery."
am: 56cb729e82

Change-Id: Idf748bef27075984a7443a4cb810816c2d61815f
2018-11-19 13:07:44 -08:00
Treehugger Robot
56cb729e82 Merge "Apply HWASan to libc-in-recovery." 2018-11-19 20:59:09 +00:00
Colin Cross
9bfdf33c04 Merge "Use prebuilt llvm-rs-cc for unbundled build"
am: 6a8d765843

Change-Id: I2367c1ad2ca91152baa32adf093364ce0d8c6275
2018-11-19 00:06:57 -08:00
Treehugger Robot
6a8d765843 Merge "Use prebuilt llvm-rs-cc for unbundled build" 2018-11-19 07:51:24 +00:00
Colin Cross
2548b447f6 Use prebuilt llvm-rs-cc for unbundled build
Matches the make logic.

Bug: 117295826
Test: tapas com.android.media && m
Change-Id: Ie97220af9c72540d5f5cfd5f9f9e04f5edfea781
2018-11-18 20:58:10 -08:00
Dan Willemsen
57625dcbee Add nanopb-c support
am: 60e62f0c44

Change-Id: Ie9ff8d3b73931d55458a3498b208233e09e85018
2018-11-17 18:34:00 -08:00
Dan Willemsen
60e62f0c44 Add nanopb-c support
Test: cd hardware/ril; mma
Change-Id: Id1481940d15a2a3f6eb29af54ee30080ff2286cb
2018-11-17 15:28:25 -08:00
Dimitry Ivanov
3f92691574 Merge "Enable overrides and add stem library properties"
am: 8ba47246c2

Change-Id: I741ec4bc1cd1a367bd195982269ca132bb34ead4
2018-11-17 01:20:13 -08:00
dimitry
d95964a350 Enable overrides and add stem library properties
This allows modules to override exiting libraries
with custom implementations.

Bug: http://b/114470065
Test: make
Change-Id: I2692a5416a2620ab2268df8998dd2620074adc1f
2018-11-16 18:45:56 +00:00
Jaewoong Jung
ba6c28d35b Merge "Revert "Revert "Revert "Revert "Export static libraries."""""
am: 485e6ebb4c

Change-Id: I7c405aa0012941eb6aced74df5773a06ee21d99c
2018-11-16 07:24:34 -08:00
Evgenii Stepanov
1e79844f15 Apply HWASan to libc-in-recovery.
HWASan is disabled in recovery strictly for code size, not for
correctness. With this change, HWASan binaries and libraries can be
used in recovery.

The real reason is the make build system which has no idea of the big
picture, and makes it hard to disable HWASan in _all_ recovery modules
recursively. A few static libraries have sneaked in.

Bug: 119582521
Test: sideload an OTA onto a hwasan device
Change-Id: I6536cc7bf5bfb37f939b585545a23c2068fbd47f
2018-11-15 17:34:18 -08:00
Jaewoong Jung
16c7d3d263 Revert "Revert "Revert "Revert "Export static libraries.""""
This reverts commit 555c114283.

Reason for revert: The namespace issue in the pi-dev-plus-aosp-without-vendor branch is now fixed.

Change-Id: I26ed591447797a8ee505f43bdd209162418b6c5e
2018-11-16 01:20:05 +00:00
Colin Cross
eac11a3c07 Merge "Enable benchmarks on darwin"
am: 61d5f9a7c7

Change-Id: I04ba851f3c088dd5d9c65480f833ae838ff193ef
2018-11-14 17:15:48 -08:00
Treehugger Robot
61d5f9a7c7 Merge "Enable benchmarks on darwin" 2018-11-15 01:09:27 +00:00
mtk15504
140673036a Merge "Add to support armv8-2a on 2nd arch. variant"
am: 4855c4f460

Change-Id: I8f41d50bdf6e0a67a76e59e1bf559476422eb5fb
2018-11-13 17:09:11 -08:00
Treehugger Robot
4855c4f460 Merge "Add to support armv8-2a on 2nd arch. variant" 2018-11-14 00:51:53 +00:00
Colin Cross
5f45e81f84 Enable benchmarks on darwin
libgoogle-benchmark works fine on darwin, enable it.

Bug: 77585931
Test: m checkbuild
Change-Id: I8d1cfe4ada634675c8c4c16f42681069d0311771
2018-11-13 15:28:07 -08:00
Pirama Arumuga Nainar
79423121f7 Merge "Switch to clang-r344140b"
am: 07002e0101

Change-Id: Iaef6a26cf87b64d2aa702ef68c4203e9a8a5e308
2018-11-13 12:52:22 -08:00
Pirama Arumuga Nainar
538be1f81c Switch to clang-r344140b
Bug: http://b/119270185

This prebuilt has a cherry-pick to fix PGO instrumentation.

Test: m ANDROID_PGO_INSTRUMENT=all,
      Build and boot a few devices in internal branch.
Change-Id: I97ca17fbc039a17db57b2749a1adf2ef981c5918
2018-11-13 17:21:01 +00:00
mtk15504
270ba75991 Add to support armv8-2a on 2nd arch. variant
Add arch. variant option to support cores that implement armv8-2a ISAs.

Test: set TARGET_2ND_ARCH_VARIANT := armv8-2a, build successful and 32bit app launch ok

BUG: 118414869
Change-Id: I755b8858726bd887068923123bad106aed7b1ec8
2018-11-13 16:40:38 +08:00
Chih-Hung Hsieh
c23b5b56d4 Revert "Add lld --no-rosegment flag to work with unwinder."
am: 2fcac47e9d

Change-Id: I3f623e6e6fafe9031dae5bf550311ce51b54af83
2018-11-12 16:06:42 -08:00
Chih-Hung Hsieh
2fcac47e9d Revert "Add lld --no-rosegment flag to work with unwinder."
This reverts commit b18814e7a4.

Reason for revert: The originating bug is now fixed.

Test: make checkbuild
Change-Id: Iabcfbeed5977336fc27fb1ccbad269c1fa81ef6e
2018-11-12 21:09:28 +00:00
Colin Cross
4ea18ea948 Shard arch property structs
am: c17727d06b

Change-Id: I9f89fa8af0fed7eb92b1a77b3ff2e60b3e65973d
2018-11-12 11:10:41 -08:00
Colin Cross
c17727d06b Shard arch property structs
Arch property struct types are created at runtime.  Go has a limit
of 2**16 bytes for the name of a type, and the type of a struct
created at runtime is a string containing all the names and types
of its fields.  To avoid going over the limit, split the runtime
created structs into multiple shards.

Also undo MoreBaseLinkerProperties now that it is no longer
required.

Bug: 80437643
Test: m checkbuild
Test: no change to out/soong/build.ninja
Change-Id: I035b20332ec63f3d4b1696855c5b0b0a810597b7
2018-11-12 19:04:13 +00:00
Jaewoong Jung
3030e6cb1a Merge "Revert "Revert "Revert "Export static libraries.""""
am: eeb2c4b03d

Change-Id: I8286bf1eb71d3e71ad54790cfe5c0a12083a540c
2018-11-09 14:45:56 -08:00
Jaewoong Jung
555c114283 Revert "Revert "Revert "Export static libraries."""
This reverts commit eb05c2a633.

Reason for revert: Yet another broken build.

Change-Id: I4198f2dd5c7848365d71d03f6dbd598998fb9bd8
2018-11-09 22:25:37 +00:00