"make check_emu_boot" will boot up emulator
and check whether it boots up or timed out.
On boot success, it will emit a file
BOOT_SUCCESS.txt in dist_dir;
On timed out, it will emit a file
BOOT_FAIL.txt in dist_dir.
Change-Id: I152228806175c116a5adceb8429b66cf829edd22
The two make vars are exported to soong as OdmPath and OemPath.
Bug: 68187740
Test: out/soong/soong.variables has OdmPath and OemPath each of which
points to 'odm' and 'oem'.
Change-Id: Ia283e4eb4aacc61b5b3c46e9001ea924566ea898
Host (as opposed to hostdex) tools compile and run against OpenJDK's
core libraries. Before this CL, the core libraries of the default
toolchain were always used, even when targeting an earlier language
version.
This meant that code that uses APIs from a later version of OpenJDK
than corresponded to LOCAL_JAVA_LANGUAGE_VERSION would compile, but
would fail to run under that earlier version of OpenJDK. It also
meant that calls to existing APIs might be reinterpreted; for
example, the return type of java.nio.ByteBuffer.clear() changed from
Buffer in OpenJDK 8 to ByteBuffer in OpenJDK 9. At compile time, this
was noted via the warning:
bootstrap class path not set in conjunction with -source 1.8
After this CL, when targeting a language version <= 1.8 (which is
always the case when building with OpenJDK 8), some of OpenJDK 8's
core library/tools jars are now passed on the bootclasspath. The
decision to include the bootclasspath argument when building with
OpenJDK 8 was somewhat arbitrary, but has the advantage that we
discover any issues before we switch to OpenJDK 9.
Even when compiling with OpenJDK 9, use of OpenJDK 9 APIs will now
fail at compile time rather than at runtime; calls to existing APIs
will now be interpreted in OpenJDK 8 rather than 9 fashion. For
example, this means that dx and host-side CTS tests built with
OpenJDK 9 javac -target 1.8 will be runnable under OpenJDK 8.
Bug: 70521453
Bug: 70862583
Test: Checked that the bootclasspath argument was passed
in the javac invocation targeting 1.8 during:
make showcommands compatibility-common-util-hostsidelib
Test: make checkbuild
Change-Id: I9b6081edfdd2c3e9a450ae8a39c4e32c3d2cda92
classes-no-debug-var.jar is incorrect, jars in coverage builds
do have debug information. Remove full_classes_compiled_jar_leaf
and hardcode classes-full-debug.jar.
After the previous patch, all dex files have debug information,
so remove the no-local and with-local directories and replace
them with dex/.
Remove the unnecessary jarjar_leaf.
Bug: 70886092
Test: m checkbuild
Change-Id: I63eace8f8cda5ad8bc0cbd11eefda73dd063ed76
We use jacoco for coverage now instead of emma, so the workaround
is no longer necessary.
Bug: 70886092
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: I103cbe58590689640a0b1520d22b3d3b7cd2208d
For Android P or later launching devices, set BOARD_VNDK_VERSION to
"current" as a default value if the value is not defined yet.
"PRODUCT_USE_VNDK_OVERRIDE=false" can disable this feature.
Bug: 70480159
Bug: 62019611
Test: Unset BOARD_VNDK_VERSION
Set PRODUCT_SHIPPING_API_LEVEL "28"
- Check if BOARD_VNDK_VERSION is set to "current"
Set PRODUCT_USE_VNDK_OVERRIDE to "false"
- Check if BOARD_VNDK_VERSION is not defined
Change-Id: I8d37579e8c4ca1788705cbc8a42e8812e2b93a22
Before Android version is released, we may use
PLATFORM_VERSION_CODENAME for PLATFORM_VNDK_VERSION to add version
suffix to VNDK directories.
Bug: 70584135
Test: Test youtube and RS apps
Change-Id: Ie788544740a5257232abc2c9acbce64749d15602
This change allows one to run atest <module name>. The TradeFed test
config file will be automatically created in testcases directory based
on the settings.
Bug: 69929803, 69932044
Test: m -j NotificationStressTests libminijail_test
add following lines in notificationtests/Android.mk,
before "include $(BUILD_PACKAGE)"
LOCAL_COMPATIBILITY_SUITE := general-test
Change-Id: Ib5e9cd152d957b5d5beb6ed23a899a021a7e06d6
Also use zip2zip to extract classes into another jar
to avoid hitting parameter limit in the shell invocations.
Bug: 69329508
Test: m checkbuild tests
Change-Id: Ic047aa699519b6b3fd100cb5395de945f96e4d0b
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I5ab4ed75493404c1b330827fe0005510f5613a68
It has been broken up into subflags, and usage has been cleaned up.
Bug: 69865032
Test: can't use PRODUCT_FULL_TREBLE
Change-Id: Ia38366a30132f129d09c6f4a985402c202bace62
Copy the NOTICE files for VNDK shared libs from
$(TARGET_OUT_NOTICE_FILES).
Create module_paths.txt to record the LOCAL_PATH for VNDK shared
libs. The LOCAL_PATH values are needed to read the SHA value
of a library's git project from manifest.xml.
Test: m -j vndk dist
Bug: 70603439
Change-Id: I9574abb48a472cb69440f3e9213ffdd0c1cac266
* Default builds calls clang-tidy only if enabled locally.
In this case, clang-tidy should be quiet.
* If WITH_TIDY is 1 or true, let clang-tidy emit default messages.
* Even with -quiet and all warnings are suppressed,
clang-tidy emits one line message of the number of suppressed messages.
This one-liner could be suppressed in future changes.
Bug: 69051430
Test: default build and build with WITH_TIDY=1
Change-Id: I3138ef45fc4372f904787bd1a391e8d88050f0b3
- until PRODUCT_NOTICE_SPLIT is the default
- disallow PRODUCT_NOTICE_SPLIT_OVERRIDE because it
doesn't need to be differentiated.
Bug: 69865032
Test: manual
Change-Id: I4a29c298862fc9fab51755bf19f236f61fbd784d
The .x509.pem file should be in CERTIFICATE, and the .pk8 file
in PRIVATE_KEY.
Bug: 70669383
Test: examine apkcerts.txt
Change-Id: I480f19be2efbbd72ea23ebd681f312b94accfd7a
This reverts commit 15a2fa21a8.
This reapplies I83f3d45bdd156200308dc7ed0e0fea5d895d37a6 without
the error on absolute paths if they are in $(OUT_DIR).
BUG: 68305853
Test: OUT_DIR=/tmp/out mmma -j art/tools/ahat
Change-Id: Ia0b156d21ba4b95eb3004d61f6fae2f4341fd39c
Merged-In: Ia0b156d21ba4b95eb3004d61f6fae2f4341fd39c
With LOCAL_PROTO_OPTIMIZE_TYPE set to one of the lite variants, the build system thinks
the proto should be compiled with lite, and will link in the line runtime libs. But if
the .proto files don't contain the directive to compile the source as lite
(option optimize_for = LITE_RUNTIME;), then the generated code will be full and the
libraries will be full, and it won't link.
Test: make
Merged-In: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
Change-Id: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
With LOCAL_PROTO_OPTIMIZE_TYPE set to one of the lite variants, the build system thinks
the proto should be compiled with lite, and will link in the line runtime libs. But if
the .proto files don't contain the directive to compile the source as lite
(option optimize_for = LITE_RUNTIME;), then the generated code will be full and the
libraries will be full, and it won't link.
Test: make
Merged-In: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
Change-Id: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
It is replaced by FCM Version specified in the device manifest
directly.
Test: builds
Bug: 69636193
Change-Id: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
Merged-In: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
There are now two NDK sysroot timestamp files: ndk_base which depends
on the headers and stub libraries, and ndk which depends on ndk_base
and the static libraries. For building modules that need the NDK, we
only need to depend on the base sysroot.
Test: make native
Bug: None
Change-Id: I803032eda125a632d780c9cde10f47270491d0d2
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I06903dc30c802bbcffd6992c3c25a1b711a5875c
As a followup to this, Treble will be removed. It's too generic
to be used with any reliability or meaning. Individual switches
also mean that they can be used independently.
Bug: 62019611
Test: manual
Change-Id: Ib1bd7d23510daac70a4520b9082f7492b8cbf027
PLATFORM_VNDK_VERSION means the VNDK version that current build
provides. This value will be set to PLATFORM_SDK_VERSION once the
version is release. Otherwise, it will be set to "current".
Bug: 69883025
Test: device boot
Change-Id: I3fde4943aa062d9d148a3d7fc2798948870a48c6
Some test targets include dex files as resource to be loaded
at runtime. This is an issue since full D8 also take dex files
as input.
This CL extracts only the class files and feed that to D8 instead
of the whole jar.
Test: USE_D8_DESUGAR=true m checkbuild tests
Bug: 69329508
Change-Id: I52d80ec01933573f18eb497472a80b6a649c9dae
Add an option to use D8's desugar instead of the standalone version.
USE_D8_DESUGAR=true m would trigger DCHECK in dex2oat unless
https://android-review.googlesource.com/c/platform/art/+/562595 is
patched in as well.
Bug: 69329508
Test: m && USE_D8_DESUGAR=false m
Change-Id: I601dada44c361e45bbc0e2227ae1544a7d9efa90
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.
This revert is being prepared ahead of time in case of
any problems with CL topic:
https://r.android.com/#/q/topic:bug69449021_attempt2
Bug: 69449021
Test: Treehugger
Change-Id: I0ef41eff91e0d8437dc95e8569880f26f2529bc9
(This is cherry-picked from the first attempt to submit this CL
topic, which was reverted after 3 hours because of bug 70286093;
robolectric 3.{1.1,4.2} now stick with OpenJDK 8 to avoid that bug).
Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.
This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.
Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.
To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false
Bug: 69449021
Test: Treehugger
Test: Running robolectric tests succeeds on internal-master
after cherry-picking this CL topic, using the command
line from http://b/70286093#comment1
(cherry picked from commit 5f36a62622)
Change-Id: I4972c714ed80c35328895e88675b56bf0e195c01
This reverts commit 7fbc84686c.
Reason for revert: Build failures on oc-mr1-dev-plus-aosp, b/70486468.
Change-Id: I8c1bf38355b1e35748e065d39038c2aaf37c64af
Exempt-From-Owner-Approval: Revert due to build failures
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I3c07cfce7db44fcc2e1bf99960da248558d4a686
This is only used in file-based OTA, where we may reserve space on
/system partition. With the deprecation of file-based OTA since O, the
code has become obsolete.
Test: `m dist`
Change-Id: I2bd686b292f93b566fe28a2bcd74c564ffc75dac
In TF projects, we can add dir to COMPATIBILITY.tradefed_tests_dir to
include the test names in the artifact, e.g.,
LOCAL_PATH := $(call my-dir)
COMPATIBILITY.tradefed_tests_dir := \
$(COMPATIBILITY.tradefed_tests_dir) $(LOCAL_PATH)/res/config
Bug: 69678490
Test: m -j dist tradefed-tests-list
Confirm out/dist/tradefed-tests-list.zip exists and has a file
tradefed-tests-list which contains the list of tests.
Change-Id: I67b82e5aeec68e9263bada198669b4a23a0750cb
* Moves the test data logic up to before suite logic.
* Saves the source to relative dest pairs.
* Re-uses the saved source to relative dest pairs when generating
the src:dst pairs for suites.
Bug: 69802886
Test: Build a native test with test data and ensured test data
ended up in each arch specific destination folder.
Change-Id: I52cf8771487fb52276f5e6aae5b8eecb222544d7
jacoco-report-classes.jar is found by a glob, so there is no
explicit dependency on it. Add a dependency to javalib.jar so
that it gets installed.
Bug: 70295664
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true WITH_DEXPREPOT=false
Change-Id: Ia7feaa132879539f88c08a49148e4bbb5a141eab
The oreo merge to AOSP master added a new variable that must
be set when dex preopting a java module with a profile.
Test: m checkbuild
Change-Id: Ib917761ea4fea481e32f3fb663a18b882a13f4a1
Remove 'android-vndk-snapshot' path prefix when creating VNDK
snapshot zip with soong_zip. The path prefix makes it cumbersome
to unzip and install the snapshots to prebuilts/vndk/v{version}.
Test: development/vndk/snapshot/build.sh &&
python development/vndk/snapshot/update.py
Bug: 69950927
Change-Id: I9e5a1898056627ba98a408f048b7cb710e5ef07c
This also updates mkf2fsuserimg.sh to call sload.f2fs.
Change-Id: I245f6b3dfcd966fbc6783329d781375879fcd065
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.
This revert is being prepared ahead of time in case of
any problems with original change topic,
https://r.android.com/#/q/topic:bug_69449021
Bug: 69449021
Test: Treehugger
This reverts commit 3337fbfa6114379f13a35ad3d6bf9cb5a5b8689b
Change-Id: Ibc050ad9a87dceb336e7cd961015e70a639e43db
Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.
This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.
Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.
To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false
Bug: 69449021
Test: Treehugger
Test: "make core-oj", checked that compilation now uses
OpenJDK 9 javac -target 1.8
Test: Checked that this is still compiled using OpenJDK 8.
export EXPERIMENTAL_USE_OPENJDK9=false
make core-oj
Change-Id: Iadae20d25e37d2cf0a89918a54af51fab1a4f01d
Allow BOARD_VNDK_VERSION=<version> only if the prebuilt VNDK for
the <version> is provided.
If PRODUCT_EXTRA_VNDK_VERSIONS is set, all the versions in the list
will be checked as well.
Bug: 38304393
Bug: 65377115
Bug: 68123344
Test: Set BOARD_VNDK_VERSION := current and check build
Test: Set PRODUCT_EXTRA_VNDK_VERSIONS := 27 and check if it returns
error when prebuilts/vndk/v27/Android.mk is not provided
Change-Id: I2e43d71f1ea3717ab8c45de84c926ecc43193307
BUILD_DROIDDOC allows LOCAL_SRC_FILES to refer to sources in
$(LOCAL_PATH) and LOCAL_INTERMEDIATE_SOURCES to refer to sources
in $(TARGET_OUT_COMMON_INTERMEDIATES). The droiddoc rules that
use files generated in Soong were trying to abuse LOCAL_SRC_FILES
to point to files in $(OUT_DIR)/soong using ../.. to counter
$(LOCAL_PATH), but failed if $(OUT_DIR) was absolute. Add
LOCAL_GENERATED_SOURCES that can take a path relative to the
top of the source tree or an absolute path.
Bug: 70166718
Test: m OUT_DIR=/tmp/out docs
Change-Id: Iaf0d622a3405da0bf520f7312e11e75e9328062e
Merged-In: Iaf0d622a3405da0bf520f7312e11e75e9328062e
(cherry-picked from commit 4c44a94dab)
In some non-A/B setups, recovery.img is still being used. If AVB is
enabled, we currently don't add a hash footer to recovery.img nor do
we include the hash digest in vbmeta.img. This CL fixes that.
This was tested on a build with the following settings
TARGET_NO_RECOVERY := false
BOARD_USES_RECOVERY_AS_BOOT := false
BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432
BOARD_AVB_RECOVERY_ADD_HASH_FOOTER_ARGS := --prop foo:bar
and then it was verified using 'avbtool info_image' that recovery.img
has a hash footer and a 'foo' property with the value 'bar'. This was
also checked successfully for vbmeta.img.
Test: See above.
Bug: None
Change-Id: I98124d5661ea768411416fa8d2a2ae6cc664fdc8
The test rather than the build system needs to check
the files according to the versions of the provided
device (and it does so now).
Fixes: 69864925
Test: clean revert, manual
(revert of cb5b8d2d47)
Change-Id: I1922190bfadca74d0652440fe61e29f22a846cf7
Let soong pass overlay directories that were not used because
of enforced RROs and use the make rules to convert them to
the auto generated RRO package.
Bug: 69917341
Test: m checkbuild
Change-Id: I9db37e0bf65c19cef91428477713e3d7f1941b83
Fix the build error when TARGET_BUILD_APPS is set
Bug: 67724799
Test: m -j TARGET_PRODUCT=full TARGET_BUILD_APPS=TVTestInput
Merged-In: I981b0a245d7e8f2dabbd4e51db52d17aeacc6106
Change-Id: I981b0a245d7e8f2dabbd4e51db52d17aeacc6106
(cherry picked from commit 8e7a4c413f)
The system_$(VER) can be set in LOCAL_SDK_VERSION, and the apk will use
android_system.jar at build time.
If LOCAL_SDK_VERSION is not defined and this module is installed in
vendor.img, LOCAL_SDK_VERSION is set to system_current.
Bug: 67724799
Test: 1. build && run on taimen
2. LOCAL_SDK_VERSION:=system_27 in ims.apk && build ims.apk && check
the vsdk_v27_intermediates.
Merged-In: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
Change-Id: I5b11c78b8fcd4a2f2a5e3b141527cd34dbe80018
(cherry picked from commit ef212cbe8d)
Test: m -j PRODUCT-asop_x86-userdebug
Test: Check that no *.vdex files in the image are generated by R8
Change-Id: Ifd85d485fa5b6148723378a15c5faef849381ce1
Use $(prefix)CLANG_SUPPORTED from Soong to control whether to use clang
for host builds or not. It's fairly general, but I only expect it to be
used to so that Windows builds can be switched between GCC and Clang
with a single switch.
Also separate native-host-cross from native-host so that it's easier to
build all possible windows modules.
Bug: 69933068
Test: m native-host-cross
Test: switch clang on and off, grep w64.*g++ out/build-aosp_arm.ninja
Change-Id: I205c5bc6739b72a539ece935381107ec1dd5bd48
Some robolectric rules assume that classes-pre-proguard.jar
exists. Soong doesn't support proguard yet, so copy classes.jar
to classes-pre-proguard.jar for now.
Bug: 69917341
Test: m checkbuild tests
Change-Id: I818363ec13c2e5e1c4ab5bd6389ea4687de953eb
Allow soong to pass a built app to Make as a prebuilt .apk.
Bug: 69917341
Test: m checkbuild tests docs
Change-Id: I49dbe4c51c5b9f48fb82cb05b8eed7e3fe9fd4f6
These have no references in our master trees, so can now be marked as
obsolete.
Test: grep -R "<VAR> has been" <all build_test logs>
Change-Id: I72d2371176e78f38ed56741dd8527193eec7eae3
Bug: 65683273
Test: put 'PRODUCT_SOONG_NAMESPACES := jeff-test/dir1' \
in a .mk file and observe its value copied into \
out/soong/soong.variables
Change-Id: I2b61caa46f40f35ccecf64da88918b73180e02e8
Bug: 65227202
Test: make dist, checks vbmeta.img is included in <product>-img.zip
Merged-In: I3e09f036441bcf7e98d8f76360df1e17466ae38e
Change-Id: I3e09f036441bcf7e98d8f76360df1e17466ae38e
(cherry picked from commit 6bbb11a620)
Test: m out/target/product/<lunch target>/module-info.json
And I see the following line in module-info.json:
"CtsSampleHostTestCases": { "class": ["JAVA_LIBRARIES"], "path":
["cts/hostsidetests/sample"], "tags": ["tests"], "installed":
["out/host/linux-x86/framework/CtsSampleHostTestCases.jar"],
"compatibility_suites": ["cts", "general-tests", "vts"] },
Change-Id: I67a78de4153c762977b145ed62ca8b6ecd0b7947
For the envsetup.sh variables that should not be used in makefiles
(since they're not explicitly set up, and won't be available on the
build servers), mark them as deprecated.
Rework our documentation to have a landing page, and create a "Changes"
section where we can record changes like these. At some point I may go
and backfill some recent work.
Test: build/soong/build_test.bash
Change-Id: I54b9294ddf270245afdb58d17150db8098584e8a
Use jacoco values exported from soong and copy
jacoco-report-classes.jar to where the jacoco-report-classes-all.jar
rule can find it.
Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: If05381f415fb52a575746b8be0bfcd03d55b2153
I064889c9063b642835d9f668e2568b61d0fabe35 added LOCAL_SRCJARS but
forgot to clear it in clear_vars.mk.
Test: m checkbuild
Change-Id: I7d4e6a3821db0eccb25042091aa599cab381a1b0
Add explicit arguments that will abort boot image compilation when
a class is found that fails compile-time verification.
This allows certain configurations to disable these checks.
WARNING: Disabling the checks is highly discouraged.
Bug: 69106371
Test: m
Change-Id: I63e915005fcda588b223ec60ef8c9db28d42e577
This change fixes the following warning message:
WARNING: out/target/product/$(TARGET_DEVICE)/boot.img approaching \
size limit (33554432 now; limit 33554432)
This is because AVB signing will increase boot.img to
BOARD_BOOTIMAGE_PARTITION_SIZE, in order to place the AVB metadata at
the end of the partition. We should check max image size first then use
avbtool to sign it.
The max allowed size will be (partition size - AVB_HASH_META_SIZE) when
AVB is enabled.
Note that some projects don't have BOARD_{BOOT,RECOVERY}IMAGE_PARTITION_SIZE,
we should skip assert-max-image-size for it.
Finally, this CL also fixes the build error for `make bootimage-nodeps`
when AVB is used.
Bug: 69115400
Test: build and checks there is no size limit warning message
Change-Id: I54f28c6f1c9fe9ed88c1d73e5cb72b3693593f9b
Jack supported '?' and '*' wildcards anywhere in a filter. Tighten
the restrictions to only support '*' at the end of a filter, and
to disallow '?'. This will allow jacoco support to be built on
top of the existing zip2zip tools.
Add checks that all filters meet the new requirements, and run
the checks outside the LOCAL_EMMA_INSTRUMENT==true check so that
mistakes can be caught without having to run a build with
coverage enabled.
Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true
Test: m in internal master
Test: https://android-build.googleplex.com/builds/view-workplan?viewType=Table&workplanId=L67200000122054710&nodeType=Trybot
Change-Id: Ib78bd3c8685fbc6bdcdb517df874186efd1cff33
This CL repoints static dependencies to their .cfi variants for CFI
enabled targets. It also disables CFI for host targets because the
version of ar intended for hosts does not have plugin support (which
CFI requires).
Bug: 67507323
Test: m -j40
Change-Id: Id11afd0c8765469858f406aace2a192afff6d042