Commit Graph

4188 Commits

Author SHA1 Message Date
Chih-hung Hsieh
ab392f613e Merge "Enable bool-operation warning" 2020-02-18 17:52:25 +00:00
Paul Duffin
25ce04bd3a Add support for cc_binary in module_exports
Bug: 142920869
Test: m nothing
Change-Id: Ib7e16cb323806782c2186e73e13642e4485fc149
2020-02-18 16:17:35 +00:00
Kousik Kumar
2976bfd568 Do not add ccWrapper to ccNoDeps rule
The "ccNoDeps" rule was introduced to separate out ".s" compilations
from other ".S" and ".c*" compilations. The ".s" compilation does not
produce a dependency file and does not support running a preprocessor
through it.
However, it does have ".include" directives, that do NOT take a macro,
but still does the equivalent of a "#include". The compilation of ".s"
assembly files also do NOT produce a dependency file.

Because they don't produce a dependency file AND because RBE's input
processor does not yet support finding dependencies for these files, I'm
making this change to not prepend rewrapper for these commands.

Test: Tested by running a build with this change and ensuring the ".s"
compilations aren't being sent to rewrapper.

Change-Id: I60bb14ff92596e4992e9f675bdc199f1440d4327
2020-02-18 08:00:17 -08:00
Jaewoong Jung
a4003406ed Merge "Simple refactoring of prefix related functions." am: 36b6aec26a am: 9bc4a38707 am: 7f2487d5cc
Change-Id: Ia383f411632524fa2fb3fb238f754900564172c7
2020-02-18 15:48:38 +00:00
Chih-Hung Hsieh
287a13fc7e Switch from clang-r377782 to clang-r377782b
Bug: 149509676
Test: make checkbuild
Change-Id: I30c4cda700522968da443cebd3a67a1c428ba2ef
2020-02-18 07:48:13 +00:00
Inseob Kim
c3b1a166d2 Fix build error on vendor_snapshot_static
Without this, Makefile wasn't able to link against
vendor_snapshot_static library.

Bug: 149252327
Test: manual linking
Change-Id: Idd65656b58d12f8489827df081ef08e40ceb5af9
2020-02-18 12:42:54 +09:00
Inseob Kim
2b96bf5441 Do not hide VNDK prebuilts from make
Flattened APEXes don't install modules hidden from make. This CL unhides
VNDK prebuilt modules to make VNDK APEX work correctly. The suffix for
VNDK prebuilt is still omitted if the version of prebuilt is same with
BOARD_VNDK_VERSION.

Bug: 149542527
Test: build arm64 GSI and flash
Test: Set BOARD_VNDK_VERSION and build
Change-Id: I54a7c14c93eccfefc81603ec3bb474a031bc55af
2020-02-17 19:01:13 +09:00
Jaewoong Jung
3aff5787e2 Simple refactoring of prefix related functions.
Rename the two prefix-in-list funcs so that their usages are clearer.
Also find and replace all the code that essentially does either.

This introduces additional loops in some places, but I think the added
readability and simplicity outweighs the performance degradation, which
should be negligible anyway.

Test: m nothing
Test: TreeHugger
Change-Id: I37e2276ca0c815105ed0031f23c0b1264b480e4f
2020-02-14 14:33:49 -08:00
Chih-Hung Hsieh
45709ee8f1 Enable tautological-bitwise-compare warning
Bug: 148831363
Test: make
Change-Id: I9d1ba8ef50630e40d59e402c37ad1366a8e25ea6
2020-02-14 13:25:09 -08:00
Vic Yang
77def87329 Another round of no-vendor-variant VNDK whitelist cleanup
Bug: 148082691
Test: Build success
Change-Id: Id33fd52ec3cae33322131cd9d1227522af6f2bca
2020-02-14 19:02:25 +00:00
Chih-Hung Hsieh
0e5bb2786f Enable bool-operation warning
Bug: 148287141
Test: make
Change-Id: Icec118284025d0631ad3db64e19c5efe3c21ce13
2020-02-14 10:34:44 -08:00
Ivan Lozano
58ed939a67 Merge "Remove execute-only support." am: d0bf3dbea8 am: 5d1461877d am: 50522fe8b8
Change-Id: I3cb63d6ca2070e296e46bd803fdeca1ea75d78f9
2020-02-14 15:26:59 +00:00
Ivan Lozano
d0bf3dbea8 Merge "Remove execute-only support." 2020-02-14 14:42:49 +00:00
Peter Collingbourne
dc4f986b2a Statically link the unwinder into binaries packaged into an unbundled APEX with legacy_android10_support: true.
Bug: 149075752
Test: tapas com.android.conscrypt com.android.tethering arm64
Test: m out/target/product/generic_arm64/{,symbols/}apex/com.android.{tethering,conscrypt}/lib64/libc++.so
Test: Verified that unwinder was dynamically linked to tethering's
Test: libc++ and statically linked to conscrypt's.
Test: lunch flame-userdebug && m
Test: Verified that unwinder was dynamically linked to /system/lib64/libc++.so
Change-Id: I98eed7cb4316962b19b5c12e150c224c25d0e91d
2020-02-13 22:29:44 -08:00
Treehugger Robot
6a3876a027 Merge "Bump the macOS version to 10.10." am: edb3174967 am: b4ea5e1069 am: b2f0dae04c
Change-Id: I392fd55f63fb01163b581afc798d48efedcd3350
2020-02-14 06:29:19 +00:00
Elliott Hughes
7622713c8d Bump the macOS version to 10.10.
Android Studio only claims to support macOS 10.10 and later, so we
probably shouldn't bother with anything older either.

Test: treehugger
Change-Id: I478cb52221198d7b7e2247dfbee4cd86d5bbd1a8
2020-02-13 16:23:12 -08:00
Chih-hung Hsieh
6b83521f90 Merge "Switch from clang-r370808b to clang-r377782" am: 8744cdffeb am: 1c04724bbd am: b0847994f6
Change-Id: If8aa3a6ad9a294feec95f10921d39291000c3f1e
2020-02-13 22:21:19 +00:00
Chih-hung Hsieh
8744cdffeb Merge "Switch from clang-r370808b to clang-r377782" 2020-02-13 21:46:35 +00:00
Ivan Lozano
8107b85189 Remove execute-only support.
With kernel support being removed for execute-only memory layouts,
remove support for XOM until there's kernel support again.

This allows us to gain the code-size improvements from
"-z noseparate-code".

Bug: 147300048
Test: Compiled binaries no longer marked XOM by default.
Change-Id: Ie84bdd2ca025e8b14867008291bf9ce143b5e999
2020-02-13 13:50:34 -05:00
Automerger Merge Worker
a6f4ef8d2f Merge "Bump our macOS target version to 10.9." am: 3375433ed2 am: ad6e56e993 am: 43297215ea
Change-Id: I6ae9ac061befaa05948e6925b60055a22f7e2bca
2020-02-13 16:36:16 +00:00
Elliott Hughes
3375433ed2 Merge "Bump our macOS target version to 10.9." 2020-02-13 16:02:19 +00:00
Automerger Merge Worker
064ac1feda Merge "Add vendor snapshot modules" am: f048446f92 am: 7dbfe9a852 am: f5b69a3e9d
Change-Id: I853e86515a8268a4224344b890f54490f44844cf
2020-02-13 11:51:51 +00:00
Treehugger Robot
f048446f92 Merge "Add vendor snapshot modules" 2020-02-13 11:01:10 +00:00
Automerger Merge Worker
768608acea Merge "Disable PGO profile use in Clang-based coverage builds" am: 64a075c789 am: 6a22b910e5 am: d95f7cf789
Change-Id: I8079004f2531aed58e93663e87a9fdf8bc9539a6
2020-02-13 07:30:03 +00:00
Elliott Hughes
632dbb3dc2 Bump our macOS target version to 10.9.
https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/resolving_common_notarization_issues
says "notarization only works for binaries linked against macOS 10.9
or later".

Test: N/A
Bug: http://b/143105198
Change-Id: If66f81caa2f074bf70a75094da578295aa9f58ad
2020-02-12 18:31:35 -08:00
Pirama Arumuga Nainar
807d49bc43 Disable PGO profile use in Clang-based coverage builds
Bug: http://b/143977934

Clang errors that -fprofile-use and -fprofile-instr-generate are
incompatible.

Test: m CLANG_COVERAGE=true COVERAGE_PATHS="*" on cf_x86_phone target
Change-Id: I584b615639fcef86668b7fa34b7511b4820d9548
2020-02-12 15:12:07 -08:00
Chih-Hung Hsieh
9d9555e348 Switch from clang-r370808b to clang-r377782
Allow new clang compiler warnings until they are
fixed or suppressed in all branches.

Bug: 145916209
Test: make checkbuild
Change-Id: Ic873b8d705dacd0d92f9031b3960e01283090363
2020-02-12 21:50:07 +00:00
David Zeuthen
b71fe84c64 Port IdentityCredential HAL to AIDL.
Bug: 111446262
Test: atest android.security.identity.cts
Test: VtsHalIdentityTargetTest
Test: android.hardware.identity-support-lib-test
Change-Id: Ibd5403f52e2d59237e77757c3f334c13b26f3d9d
2020-02-12 10:05:03 -05:00
Automerger Merge Worker
db7d85cc51 Merge "<apex_name>-deps-info correctly tracks dependencies" am: 2bb26d3fad am: 39b51a899f am: 5a14677e31
Change-Id: I54d0ececcb8e0a6c92ce13666f922a42cc80efbd
2020-02-12 01:18:44 +00:00
Jiyong Park
2bb26d3fad Merge "<apex_name>-deps-info correctly tracks dependencies" 2020-02-12 00:47:21 +00:00
Automerger Merge Worker
9f5ce38759 Merge "Revert "Allow Linux hosts to use ubsan runtime sanitizers."" am: 2d743b54c7 am: aa47e5748a am: 77788f6370
Change-Id: I0da5b2f437350cf7b7d2b31c3f07c45af9bb951d
2020-02-11 21:12:12 +00:00
Ivan Lozano
2d743b54c7 Merge "Revert "Allow Linux hosts to use ubsan runtime sanitizers."" 2020-02-11 20:23:36 +00:00
Ivan Lozano
9e37faa3ab Revert "Allow Linux hosts to use ubsan runtime sanitizers."
This reverts commit dbc5000c5b.

Reason for revert: Build breakage.

Change-Id: Ia6a1b58f156e4cc071562043c2f99f78b45b7968
Exempt-From-Owner-Approval: Reverting change due to build breakage.
2020-02-11 20:21:01 +00:00
Automerger Merge Worker
ba713d62d2 Merge "Allow Linux hosts to use ubsan runtime sanitizers." am: 0dbb324a83 am: 3121be5eae am: df5e1287a9
Change-Id: I2f93ed369b044d604b460808695345c5ef914ffd
2020-02-11 19:06:38 +00:00
Ivan Lozano
0dbb324a83 Merge "Allow Linux hosts to use ubsan runtime sanitizers." 2020-02-11 18:37:17 +00:00
Automerger Merge Worker
470eb0caca Merge "Implement vendor snapshot" am: 705cd4600d am: 7f811dcd28 am: 144cbd9211
Change-Id: If142df7cecd1f2468df240d06c6cb9458ea9eadb
2020-02-11 00:27:29 +00:00
Treehugger Robot
705cd4600d Merge "Implement vendor snapshot" 2020-02-10 23:40:50 +00:00
Treehugger Robot
c17a04dbbb Merge "Add android.hardware.light-ndk_platform to vndkMustUseVendorVariantList" 2020-02-07 20:22:52 +00:00
Jiyong Park
678c881a4f <apex_name>-deps-info correctly tracks dependencies
The APEX dependency is more correctly tracked. Previously, the
dependency was tracked while we gather modules that will be installed to
an APEX. This actually was incorrect because we skipped many dependency
types that we don't need to follow to gather the modules list, such as
the headers dependency.

Now, the dependency is tracked directly when a module is mutated for an
APEX. In other words, if a module is mutated for an apex X, then the
module will appear in the X-deps-into.txt file.

This change also changes the format of the txt file. It now clearly
shows why a module is included in the APEX by showing the list of
modules that depend on the module.

Bug: 146323213
Test: m
Change-Id: I0a70cf9cce56e36565f9d55683fdaace8748a081
2020-02-07 18:53:12 +09:00
Automerger Merge Worker
87ca9098fa Merge changes I38fb22b2,I281bdefe,Ieaaa590c am: df51b061cd am: 4fb6707eeb am: d2a674a3f8
Change-Id: I764fa0c6293aa7676ed1a091061efb0f5af1d9c6
2020-02-07 04:30:04 +00:00
Colin Cross
df51b061cd Merge changes I38fb22b2,I281bdefe,Ieaaa590c
* changes:
  Add product_variables.native_coverage.src
  Fix product variables in defaults modules
  Fix product variable zero value check
2020-02-07 03:35:04 +00:00
Ivailo Karamanolev
876180cf36 Add android.hardware.light-ndk_platform to vndkMustUseVendorVariantList
aidl libs need to be differentiated because they explicitly set
different system/vendor stabilities.

Bug: 142230898
Test: make checkbuild
Change-Id: I1eb8b77a8e15f962eb6a352c87b1a43ca2160758
Merged-In: Ib09baa946faff8334f7c50568db5e6735dfbbfe2
2020-02-07 04:03:49 +01:00
Treehugger Robot
3b6791c2bc Merge "More cleanup of no-vendor-variant VNDK whitelist" 2020-02-07 02:15:03 +00:00
Colin Cross
eabaedd520 Fix product variables in defaults modules
Product variables structs are generated at runtime to contain only
the properties that apply to the current module.  Defaults modules
always contained all product variable properties. Defaults modules
apply their properties to the target module using
proptools.PrependProperties, which prepends structs that have
matching types.  Filtered property structs had a different type
and were dropped.

Even after adding filtering to the defaults product variable
properties, defaults modules may contain more property structs
than the target module they are applied to, so the product
variables struct for the defaults module could contain more
fields than the product variables struct for the target module.
Use proptools.PrependMatchingProperties when applying defaults
of product variables instead, which will apply matching properties
across types.

Test: defaults_test.go
Test: variable_test.go
Change-Id: I281bdefef92053457a3b7b65383493a4e7d999df
2020-02-06 17:43:29 -08:00
Jiyong Park
1fd192302c Merge changes from topic "apex_available"
* changes:
  shared_lib dependency from a static lib crosses the APEX boundary
  apex_available tracks static dependencies
2020-02-06 22:56:08 +00:00
Vic Yang
78792dcf45 More cleanup of no-vendor-variant VNDK whitelist
Bug: 148082691
Test: Build success
Change-Id: Icad28af29e80908c0d353f6fc70913678fd82064
Merged-In: Icad28af29e80908c0d353f6fc70913678fd82064
2020-02-06 11:14:33 -08:00
TreeHugger Robot
fc89d8f52d Merge "More cleanup of no-vendor-variant VNDK whitelist" 2020-02-06 19:10:25 +00:00
Inseob Kim
eec88e1de8 Add vendor snapshot modules
This implements four modules (static/shared/header libraries, and
binaries) for vendor snapshot. These modules will override source
modules if BOARD_VNDK_VERSION != current.

Bug: 65377115
Test: 1) VNDK_SNAPSHOT_BUILD_ARTIFACTS=true m dist vndk vendor-snapshot
Test: 2) install snapshot under source tree
Test: 3) set BOARD_VNDK_VERSION and boot cuttlefish
Change-Id: I24ddb4c3aa6abeab60bbfd31bcbd8753e2592dc5
2020-02-07 02:59:24 +09:00
Inseob Kim
8471cdaced Implement vendor snapshot
Vendor snapshot can be captured with "m dist vendor-snapshot". With
vendor snapshot and vndk snapshot, older version of /vendor and newer
version of /system will be able to be built together by setting
BOARD_VNDK_VERSION to past vendor's version.

Only vendor modules under AOSP are to be captured. In detail, modules
under following directories are ignored:
- device/
- vendor/
- hardware/, except for interfaces/, libhardware/, libhardware_legacy/,
  and ril/

Test modules (cc_test, etc.) and sanitized modules are also ignored.

Bug: 65377115
Test: m dist vendor-snapshot
Change-Id: If7a2f6de7f36deee936930c0ccf7c47c4a0cebf6
2020-02-07 02:58:29 +09:00
Ivan Lozano
dbc5000c5b Allow Linux hosts to use ubsan runtime sanitizers.
Linux host prebuilts for UBSan runtime are available now, so we can enable
these. There's a bit more work to be done for Windows/Darwin support, so
that's left to another CL.

Bug: 148289941
Test: Build host binary with integer overflow sanitization enabled.
Change-Id: I9b06a63da6f0d6644273085ad6ffd42677fa2baa
2020-02-06 09:59:34 -05:00