Commit Graph

3459 Commits

Author SHA1 Message Date
Paul Duffin 74fc190d90 Dedup adding of arch/common properties to cc library snapshot
Some additional, possibly arch specific, properties need adding to
cc library (e.g. recovery_available). This dedups and cleans up the
code involved to simply the addition of those new properties.

Bug: 142918168
Test: m nothing
Change-Id: I0963aa02e9504af1ae9b427ff1016e7c481465f4
2020-02-04 18:48:31 +00:00
Vic Yang 6cee077b0b Merge "Disable no-vendor-variant VNDK for CFI modules" 2020-02-03 21:09:47 +00:00
Stephen Hines ab2053ffab Merge "Switch to r370808b." 2020-02-03 18:06:41 +00:00
Treehugger Robot 4136c9b9ea Merge "Fix writing module_bp_cc_deps.json" 2020-02-01 06:14:28 +00:00
Stephen Hines 2b2df22ca5 Switch to r370808b.
Bug: http://b/147628579
Test: m and run CTS subset
Change-Id: I9eb1b33385b939001bfcc50c807829068a35744c
2020-01-31 15:24:22 -08:00
Treehugger Robot d35fcae5dc Merge "Default to pattern initialization for uninitialized variables (try 2)." 2020-01-31 21:52:44 +00:00
Vic Yang 1a5812a262 Disable no-vendor-variant VNDK for CFI modules
If CFI is enabled for a module, no-vendor-variant VNDK will fail
because CFI is not used for the vendor variant.

Bug: 148638729
Test: Remove libstagefright_bufferpool@2.0 from the whitelist. Build on
      crosshatch is successful. Build on a ARM32 device with
      TARGET_VNDK_USE_CORE_VARIANT set and check no-vendor-variant VNDK
      is still enabled for libstagefright_bufferpool@2.0.

Change-Id: Ib0a411d7ea769097186afa802751b0796527ec76
2020-01-31 10:41:27 -08:00
Colin Cross 37c5cda47c Fix writing module_bp_cc_deps.json
module_bp_cc_deps.json was not written through
android.WriteFileToOuptutDir, so it didn't get the absolute path
prepended when sandboxing was turned on.  Reuse the implementation
from module_bp_java_deps.json.

Bug: 147409906
Test: m SOONG_COLLECT_CC_DEPS=1 nothing
Change-Id: I3b255bdfd3b4c442db06fe185765414905531410
2020-01-31 18:12:41 +00:00
Yi Kong b6ec66a173 Add -fprofile-sample-accurate flag for sampling PGO
This flag indicates that the sample profile data matches the source
and can be fully trusted. The compiler will make aggressive
assumption that functions without any samples are cold functions,
and will optimize for size for them.

Test: binary size reduces to match instr PGO
Bug: 79161490
Change-Id: I53d6d05be70c39e5eb28b2f5b0549d9eb6b5cc62
2020-01-31 12:36:38 +08:00
Stephen Hines 0e1d5d8ab3 Default to pattern initialization for uninitialized variables (try 2).
Pattern initialization helps us make C++ safer, while not altering the
semantics/usage of C++ (as zero init does).

Bug: 131390872
Test: Local testing. Parts of CTS.
Change-Id: Ic4af9260a48c10cbd70315fa56d6b01c5ca61768
2020-01-30 15:06:00 -08:00
Yi Kong 61a1b988fd Add -fdebug-info-for-profiling flag to emit more debug info for sampling pgo
Test: m
Bug: 79161490
Change-Id: I25cfbf78b27d653286dc7f956743f8855b852b35
2020-01-30 21:15:12 +08:00
Treehugger Robot 1562752fc6 Merge "build: soong: windres: use clang to preprocess" 2020-01-30 02:21:02 +00:00
Nick Desaulniers 18eeffa4ce build: soong: windres: use clang to preprocess
Otherwise binaries under:
prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/
are being invoked.

https://sourceware.org/binutils/docs-2.33.1/binutils/windres.html
states:
When windres reads an rc file, it runs it through the C preprocessor first.

Use the `--preprocessor` flag to specify the exact command to run. The
args to the preprocessor get wiped out when setting that flag, so
`-E -xc-header -DRC_INVOKED` must be re-passed, else clang will error as
it tries to invoke ld.

Once AOSP packages llvm-rc, aosp/1206346 can be rebased on top, so this
patch should be a short lived change.

Bug: 147295872
Test: <remove mingw gcc> && lunch aosp_x86-eng && \
  cd external/mdnsresponder && mm
Change-Id: Ic0e6b75e7e964ee9f9757e534cddd16438604c34
Suggested-by: Pirama Arumuga Nainar <pirama@google.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2020-01-29 16:28:06 -08:00
Elliott Hughes 730573cfc4 Merge "Use relocation-packer style relocation packing between 23 and 28." 2020-01-29 22:18:06 +00:00
Steven Laver 7a833bdf2b Merge "Don't check library variant identicalness for VNDK extensions" 2020-01-29 21:26:48 +00:00
Christopher Ferris c0ebc81e3d Merge "Add whole_static_libs to non-svelte configs." 2020-01-29 17:22:01 +00:00
Steven Laver 025d98162b Don't check library variant identicalness for VNDK extensions
These libraries don't have a core variant against which to check
for identicalness.

Bug: 148526685
Test: built a previously failing target with this change (succeeded)
Change-Id: Ide8ec58df1868175f52c005bf73bb81fc196a571
2020-01-29 08:23:09 -08:00
Stephen Hines 797e1959e3 Add AUTO_UNINITIALIZE as another option for trivial initialization.
This lets us test uninitialized variables even if we change the defaults
for -ftrivial-auto-var-init.

Bug: 131390872
Test: AUTO_UNINITIALIZE=true m
Change-Id: I2b4473a0547dc9c4d9f081d8af2d283f17f66f7a
2020-01-28 14:43:11 -08:00
Elliott Hughes da909feb95 Use relocation-packer style relocation packing between 23 and 28.
Bug: http://b/147452927
Test: treehugger
Change-Id: I8197dcb7884993d75775eaea667981d7822d6d1d
2020-01-28 13:08:40 -08:00
Christopher Ferris c71193ae53 Add whole_static_libs to non-svelte configs.
This is to support enabling scudo only for non-svelte configs.

Also, add exclude_static_libs to allow removing the jemalloc libs.

Bug: 137795072

Test: Verified that a svelte and non-svelte config can use this method
Test: to properly choose between scudo and jemalloc.

Change-Id: Iec6bfe159f8491138e93dde1d225a8c874c7ce31
2020-01-28 12:02:46 -08:00
Ramy Medhat 8ea054a81e Add support for experimentally enabling RBE support on specific rules.
This CL adds RBE support to javac, r8, and d8 rules which is only
enabled if respective environment variables are set.

Test: an aosp_crosshatch build with and without the new variables.
Change-Id: Ic82f3627944f6a5ee7b9f3228170c2709b1bfcb8
2020-01-28 12:42:47 -05:00
Yifan Hong a8c82cc218 Merge changes from topics "board_use_recovery_as_root_soong", "ramdisk"
* changes:
  libatomic / libgcc_stripped: ramdisk_available
  Add target.ramdisk
  Ramdisk modules install to correct location
  Add ramdisk image.
2020-01-24 22:39:41 +00:00
Treehugger Robot 7b2970536e Merge "Revert "Revert "apex_vndk uses vendor variants only""" 2020-01-23 13:16:52 +00:00
Vic Yang 641e87a02c Merge "Reland "Clean up no-vendor-variant VNDK whitelist"" 2020-01-23 06:07:58 +00:00
Jooyung Han a57af4adc0 Revert "Revert "apex_vndk uses vendor variants only""
This reverts commit 5df3b11f78.

Reason for revert: re-land with a fix

Fix a broken soong test
Add implicit dependency (libprofile-clang-extra) to make a test pass.

Bug: n/a
Test: m
Change-Id: I0b179199bc032501354f8e24782837453781bd8c
2020-01-23 14:48:29 +09:00
Jooyung Han 7dfb229936 Merge "Revert "apex_vndk uses vendor variants only"" 2020-01-23 05:34:42 +00:00
Jooyung Han 5df3b11f78 Revert "apex_vndk uses vendor variants only"
This reverts commit 559ad01db9.

Reason for revert: broken builds

Change-Id: Ia8a09a2bdbdc8e76f2d4b9eb54e36ccc544e9397
Bug: b/148181875
2020-01-23 05:31:05 +00:00
Treehugger Robot e4226c4d67 Merge "apex_vndk uses vendor variants only" 2020-01-23 04:47:05 +00:00
Jooyung Han 559ad01db9 apex_vndk uses vendor variants only
VNDK APEX is supposed to contain "vendor" variants of VNDK libraries.
This is different from normal APEXes which have "apex" variants.

Bug: 146758869
Test: build / flash / boot
Change-Id: I5e035678c337334092616b58d2e0e404788a6639
Exempt-From-Owner-Approval: Got ORV, but rebased with resolving merge conflicts.
2020-01-23 04:46:53 +00:00
Yifan Hong cf4832c8bc Add target.ramdisk
Add the following:
- exclude_shared_libs
- exclude_static_libs
- static_libs

Allow to customize linking for ramdisk variant.

Test: pass
Bug: 147347110
Change-Id: I6f55f11a6fdad8029d85833a3eedc2e95a712d51
2020-01-22 16:54:18 -08:00
Yifan Hong 1b3348d50a Add ramdisk image.
It is similar to recovery image.
Test: m nothing -j

Change-Id: I11389777c6bfb0c0d73bbb4c70091c1e70f44077
2020-01-22 16:54:18 -08:00
Oliver Nguyen b6aeb14150 Merge "Add coverage flags for Clang coverage builds." 2020-01-22 22:34:35 +00:00
Hadrien Zalek 8aecc11844 Merge "Revert "Default to pattern initialization for uninitialized variables."" 2020-01-22 22:16:18 +00:00
Hadrien Zalek 6fecbee4d5 Revert "Default to pattern initialization for uninitialized variables."
This reverts commit fae236f4ee.

Reason for revert: Breaks 32-bit app tests on Cuttlefish
Bug: 148123414

Change-Id: Ieeb0b09e711a55172e6faa0035d1eb84dd6c4471
2020-01-22 21:50:56 +00:00
Vic Yang 34b24aa82e Reland "Clean up no-vendor-variant VNDK whitelist"
Test: Build success
Change-Id: If8ca5f9cec5fc735e56ec06fefd4cebf44032b59
2020-01-21 15:38:42 -08:00
Peter Collingbourne d2f8df4b3e Merge "build: Link the unwinder dynamically into platform and vendor binaries." 2020-01-21 21:28:44 +00:00
Vic Yang f3cae775e9 Merge "Revert "Clean up no-vendor-variant VNDK whitelist"" 2020-01-21 20:45:49 +00:00
Vic Yang 987ebebfbc Revert "Clean up no-vendor-variant VNDK whitelist"
This reverts commit 882e59d45d.

Reason for revert: Breaking build on internal target

Change-Id: I775f120ef140835ee4fe76db5cbbb33255f93b76
2020-01-21 20:38:37 +00:00
Treehugger Robot a07b2f7766 Merge "Clean up no-vendor-variant VNDK whitelist" 2020-01-21 18:38:55 +00:00
Vic Yang 882e59d45d Clean up no-vendor-variant VNDK whitelist
First round of cleaning. Remove VNDK libraries that
already have identical variants.

Bug: 148082691
Test: Build success
Change-Id: I97f946a2cbf459b607a73e766db9fb8d7655f220
2020-01-21 18:33:44 +00:00
Stephen Hines b9b979c8aa Merge "Default to pattern initialization for uninitialized variables." 2020-01-21 18:06:31 +00:00
Hsin-Yi Chen a22f30e0c9 Merge "Do not create ABI dumps for NDK stub libraries" 2020-01-20 02:11:16 +00:00
Vic Yang ff9f7fb26a Add OWNERS for cc/config/vndk.go
This file contains only a list of VNDK libraries that are allowed to
have different VNDK variant behaviors.

Test: N/A
Change-Id: I9e395b82b8006133294cf325e4626c1b34053588
2020-01-17 11:23:14 -08:00
Yi Kong d810312751 Merge "Add "-no-warn-sample-unuse=true" to work around AutoFDO issue" 2020-01-17 19:04:23 +00:00
Treehugger Robot 3fbe62b57d Merge changes from topic "vndkvariantcheck"
* changes:
  vndkMustUseVendorVariant += libstagefright_bufferpool@2.0
  Emit LOCAL_CHECK_SAME_VNDK_VARIANTS
2020-01-17 18:45:43 +00:00
Treehugger Robot e24093a784 Merge "Dedup cc binary build components registration" 2020-01-17 11:11:50 +00:00
Hsin-Yi Chen d2451683d9 Do not create ABI dumps for NDK stub libraries
Some NDK stub libraries are tagged with "LLNDK" in lsdump_paths.txt
because they are not in NDK, and their base module names are in LLNDK.
This commit excludes those NDK stub libraries from lsdump path list.

Test: make findlsdumps
Bug: 147409497
Change-Id: I7a72758ba40d5f5bda8c436dd0b22e5efda03a32
2020-01-17 14:07:32 +08:00
Yi Kong 92474e5b8f Add "-no-warn-sample-unuse=true" to work around AutoFDO issue
Autofdo generates profile for an instruction even if there is no debug
information associated with it or no debug information associated with
the function. A bogus offset will be produced in the profile. Add the
flag to suppress Clang from generating error for such cases.

Test: build with ETM profile
Bug: 147844018
Bug: 79161490
Change-Id: I37da1ba3a4962072ccdf01f79fbf2c2b4c77b56b
2020-01-16 17:09:19 -08:00
Wei Wang 27a5c64200 Merge "power: add stable aidl to VndkMustUseVendorVariantList" 2020-01-16 22:35:42 +00:00
Treehugger Robot 1be2d48005 Merge "Save compilation units in protobuf format." 2020-01-16 18:55:26 +00:00