Commit Graph

3324 Commits

Author SHA1 Message Date
Dan Shi
b2cb324ce1 Force gtest to use adb unroot if required_root is false or not set
Bug: 140123924
Test: atest hello_world_test
Change-Id: I36fb31d274c179dc8510e08cdb5dc79601546299
2019-09-12 10:54:49 -07:00
Luca Stefani
2af7d882e8 Add missing cortex-a76 arm configuration
Change-Id: I55620e602b9e97fe7a6d36fa142ddfde77b6025b
2019-09-12 18:37:45 +02:00
Colin Cross
4e08ead52f Merge changes from topic "protobuf-3.9.1"
* changes:
  Add suffix and target.vendor.suffix to shared libraries
  Make javanano a plugin
2019-09-11 18:00:16 +00:00
Martin Stjernholm
279de572d7 Treat libclang_rt.hwasan-* the same way as the other Bionic bootstrap libs.
Ensure that it ends up in the bionic/ subdir in the Runtime APEX and is
symlinked from /system/lib(64). That makes it available in the default
(platform) linker namespace and no longer requires it to be accessible
through the runtime namespace. All this makes it consistent with how the
other Bionic libs are handled, and avoids the need for various special
cases in ld.config.txt files (to be cleaned up later).

With this there might no longer be a need for a linker namespace for the
Runtime APEX, and we could consider removing the kludge with the
/apex/com.android.runtime/${LIB}/bionic subdirectories and the special case
in getCopyManifestForNativeLibrary in apex.go. However, keeping it calls out
the special treatment of those libraries, and allows a namespace to be added
again if necessary.

Test: Build and boot on taimen_hwasan-userdebug
Test: adb shell /apex/com.android.art/bin/dexdump on taimen_hwasan-userdebug
Test: atest CtsCompilationTestCases on taimen_hwasan-userdebug
Bug: 140734238
Bug: 140790209
Change-Id: Ieb506bfa5d5c159db391273c7eba41d7909de286
2019-09-11 12:16:31 +01:00
Mitch Phillips
916f1e48dc Merge "Add i386 host fuzzing support w/ cc_fuzz." 2019-09-10 22:35:42 +00:00
Ivan Lozano
022a73b9ad Move splitFileExt to the android package.
Both Rust and cc use this function, so move it over to android
package's util.go and export it.

Bug: 140734195
Test: m -j

Change-Id: Ibe8b7a94592e402468a027ad6027b187f29c8e07
2019-09-09 20:29:31 -07:00
Jooyung Han
344d5439c1 Add "apex_vndk" module type
"apex_vndk" is a variant of "apex" module.

apex_vndk {
  name: "com.android.vndk",
  ..
}

This rule is used to produce a VNDK APEX per vndk version.
It supports automatic inclusion of vndk libs.

If "vndk_version" property is set, the prebuilt vndk libs of
the version will be included in the apex bundle.

apex_vndk {
  name: "com.android.vndk.v29"
  vndk_version: "29",
  ...
}

Otherwise, platform's vndk version is used.

This will replace /system/{lib}/vndk-{ver} and vndk-sp-{ver}.

Bug: 134357236
Bug: 139772411
Test: m com.android.vndk
Change-Id: Ib5c86e625839389670d13c683a7427198ef6852f
2019-09-10 11:22:59 +09:00
Treehugger Robot
f59007cf23 Merge "Do not dedupe libprotobuf-cpp variants" 2019-09-10 00:30:36 +00:00
Yi Kong
23482a55ae Merge "Remove '-Wno-return-std-move-in-c++11' flag" 2019-09-09 18:48:23 +00:00
Yi Kong
751569192c Remove '-Wno-return-std-move-in-c++11' flag
This flag is no longer needed.

Test: presubmit
Change-Id: I9718ea1d448a6f598e6da61c3b30a0c9470d9c08
2019-09-09 18:48:15 +00:00
Vic Yang
7f438b1df3 Do not dedupe libprotobuf-cpp variants
The vendor variants of libprotobuf-cpp have their version numbers
included in their names, so the SONAME field is different.  Whitelist
the 'lite' and 'full' versions to have different core and vendor
variants.

Test: Build a device with TARGET_VNDK_USE_CORE_VARIANT set.
Change-Id: I9880a5d7172a9f35f304af8e7dcababdcbc2ca23
2019-09-09 10:54:50 -07:00
Justin Yun
1282f42ed6 Skip creating vendor variants for native_bridge modules
native_bridge modules may not have vendor variants because they are
used only for native_loader.

Bug: 140702618
Bug: 137709824
Test: lunch aosp_cf_x86_phone-userdebug && make
Change-Id: Ic9f4abff22597693e66eef520cd1101b5e8c8938
2019-09-09 09:54:03 +00:00
Inseob Kim
ee854c3226 Merge "Remove coverage variants of vndk_prebuilt_shared" 2019-09-09 09:50:34 +00:00
Inseob Kim
c9fa4a3247 Remove coverage variants of vndk_prebuilt_shared
vndk_prebuilt_shared is also one of prebuilt modules, so coverage
variants shouldn't be created.

Bug: 128524141
Test: m NATIVE_COVERAGE=true COVERAGE_PATHS=*
Change-Id: I586651c6775a6ae23dc0412ec5538eefd8e92dde
2019-09-09 10:54:05 +09:00
Justin Yun
7390ea3d79 Skip native_bridge modules when listing VNDK libs
native_bridge modules cannot be VNDK modules at the same time.

Bug: 137709824
Test: build cf_x86_64_phone
      check if llndk.libraries.*.txt has libclang_rt.asan for arm

Change-Id: I974e89b9da522e26531a576015e98dc54834282d
2019-09-08 11:34:06 +09:00
Yi Kong
ee96a7956a Add back the llvm-ar P flag
The P flag is supported as of llvm r354044, add back the flag to reduce
the size of intermediate archieve files. This does not affect the final
binaries.

Test: built
Bug: 71618641
Change-Id: I017780e4dcaa31c7fbe10b5e7482db1bba83e716
2019-09-06 15:11:57 -07:00
Colin Cross
0fd6a41a6d Add suffix and target.vendor.suffix to shared libraries
And make prebuilt shared libraries suffix and stem too.

This will be used for the vendor version of the protobuf
runtime shared libraries to append the protobuf version
number to the installed file name, which will help with
updating protobuf in the future.

Bug: 117607748
Test: m checkbuild
Change-Id: I8919a4f2e1be1ced29198af758077baf56c1f7a7
Merged-In: I8919a4f2e1be1ced29198af758077baf56c1f7a7
2019-09-06 14:18:01 -07:00
Colin Cross
d7227f99eb Support boringssl hash injection on binaries and make it transitive
Move handling the inject_bssl_hash property to a helper function,
and also treat it as set if any static libraries have it set.

Bug: 137267623
Test: m checkbuild
Change-Id: Icb12cfffb20797c807b410daffbf7fcccb1b1975
2019-09-05 15:30:05 -07:00
Mitch Phillips
4de896e1ef Add i386 host fuzzing support w/ cc_fuzz.
Adds the host fuzzing support back for 32-bit x86 targets, now that the
toolchain has been updated to export this library.

Bug: 133261679
Test: `m example_fuzzer` on a 32-bit target/cross
Change-Id: I28285d531a53eebd28c9e1b733035be48696b48f
2019-09-05 13:34:44 -07:00
Yi Kong
38e5eacedc Merge "Re-enable tautological-unsigned-enum-zero-compare"
am: 47236f13fc

Change-Id: I4def4ff498f48dfff56709b1f8dd28fbe4fad408
2019-09-03 14:50:24 -07:00
Treehugger Robot
47236f13fc Merge "Re-enable tautological-unsigned-enum-zero-compare" 2019-09-03 21:29:54 +00:00
Martin Stjernholm
242d9ed1ca Update dexpreopt for the ART APEX name change.
am: cc4b0ad706

Change-Id: I925557842275381d5a8754771a39cf72821628f0
2019-09-02 03:43:53 -07:00
Yi Kong
8ca12bd837 Re-enable tautological-unsigned-enum-zero-compare
Clang is smarter at producing this new warning now, producing far
fewer false positives. Re-enable the diagnostic for Android.

Test: build
Bug: 72331526
Change-Id: Ide827791c51587bceb977ae4116894a8cd620eb1
2019-09-01 14:11:01 -07:00
Martin Stjernholm
cc4b0ad706 Update dexpreopt for the ART APEX name change.
Test: Build & boot
Bug: 135753770
Exempt-From-Owner-Approval: Approved internally
Change-Id: I3aac9112b022cce3ef8cfdf4bdbbed8bb0c8f4c7
Merged-In: I3aac9112b022cce3ef8cfdf4bdbbed8bb0c8f4c7
2019-08-30 17:47:30 +01:00
Jiyong Park
777050e48e Merge "Automatically enable abi checker for the stub libs"
am: c61c83db9a

Change-Id: I44b7eebdd0b2ac55b55c4b0f2fa1448bdf80ba9d
2019-08-29 23:10:19 -07:00
Treehugger Robot
c61c83db9a Merge "Automatically enable abi checker for the stub libs" 2019-08-30 05:29:23 +00:00
Yi Kong
09c3304fe4 Merge "Re-enable tautological-unsigned-zero-compare"
am: 73e2125894

Change-Id: I12b004231a9f19a85f8afb9d0ac1d78bf6a50cac
2019-08-29 19:05:03 -07:00
Yi Kong
73e2125894 Merge "Re-enable tautological-unsigned-zero-compare" 2019-08-30 01:44:27 +00:00
Mitch Phillips
586b8a2042 Merge "Disable FORTIFY for fuzzer builds."
am: 1e7f14b1d5

Change-Id: Ifa6d2c356181af8005e8df12801141b17e5b99ae
2019-08-29 10:10:17 -07:00
Treehugger Robot
1e7f14b1d5 Merge "Disable FORTIFY for fuzzer builds." 2019-08-29 17:00:20 +00:00
Dan Shi
f11508a94f Merge "Add option disable_framework for auto-generated test config"
am: e7eb842bbb

Change-Id: I0f78c37159c19db327560f6473de78177231f746
2019-08-28 22:28:13 -07:00
Dan Shi
e7eb842bbb Merge "Add option disable_framework for auto-generated test config" 2019-08-29 05:18:20 +00:00
Dan Willemsen
ce33a3546c Merge "Disallow __DATE__/__TIME__ on host builds"
am: 63cce39166

Change-Id: Ib04880b728ecde0cd9789077fe9d26b8a96d7229
2019-08-28 19:31:57 -07:00
Dan Willemsen
63cce39166 Merge "Disallow __DATE__/__TIME__ on host builds" 2019-08-29 02:14:27 +00:00
Jooyung Han
7e035187e9 Merge "soong: Add tests for depending on disabled module"
am: a9caf47ea2

Change-Id: I201c11b499650c96c3d52b53eda72f163364681e
2019-08-28 17:24:44 -07:00
Ivan Lozano
eb18951d4d Merge "Add Rust support to Soong."
am: c6de2d9482

Change-Id: I2fd8084c35e8c4a3a27a3e3d5a2cd8b181b1646f
2019-08-28 17:07:56 -07:00
Jooyung Han
a9caf47ea2 Merge "soong: Add tests for depending on disabled module" 2019-08-28 23:58:33 +00:00
Dan Shi
20ccd2125d Add option disable_framework for auto-generated test config
The new option will allow the auto-generated test config for cc_test to
include RunCommandTargetPreparer to disable framework before the test
run and re-enable it after the test run.

Bug: 140065309
Test: test hello_world_test with the new option.
Change-Id: If2189e9474f5b11bd0d0471e231a2cae14155389
2019-08-28 15:53:43 -07:00
Ivan Lozano
c6de2d9482 Merge "Add Rust support to Soong." 2019-08-28 22:04:56 +00:00
Ivan Lozano
ffee334706 Add Rust support to Soong.
Adds support to Soong for building rust modules. This currently only
supports x86_64 device and x86 linux host targets. The functionality
is sufficient to build crosvm.

Bug: 136189233
Test: Test module builds.
Test: crosvm builds.
Change-Id: I6ea04615834a6d673578ab10ea1a2eb04259fe09
2019-08-28 14:11:07 -07:00
Dan Willemsen
ba23aa723b Merge "Save deps when asflags contains -xassembler-with-cpp"
am: 7eedfe00e7

Change-Id: Iecedb5679553bdf39c393c76e218da277b6bb8a1
2019-08-28 13:12:01 -07:00
Mitch Phillips
b9b3e79096 Disable FORTIFY for fuzzer builds.
Disables FORTIFY for fuzz target builds. We generally build with a
sanitizer and want the sanitizer to handle the bugs and provide us with
a nice stack trace.

Bug: 140187921
Test: m example_fuzzer && $ANDROID_HOST_OUT/fuzz/example_fuzzer (note
that you get a proper ASan report instead of a fortify crash)

Change-Id: I15a117b26c401a03785fb44c0f796588f366bc55
2019-08-28 12:41:07 -07:00
Jiyong Park
a034b83988 Automatically enable abi checker for the stub libs
The header ABI checker is enabled by default for the libs that are used
across APEXes.

Bug: 138219814
Test: m
Change-Id: Ic0e9c5fdfa1259f500d990abc504c452436f3bd7
2019-08-28 22:58:11 +09:00
Yi Kong
30a3c7faca Re-enable tautological-unsigned-zero-compare
Clang is smarter at producing this new warning now, producing far
fewer false positives. Re-enable the diagnostic for Android.

Test: build
Bug: 72331526
Change-Id: I2020b887fbeb3cd833462e50df835a6cd104920d
2019-08-28 09:48:30 +00:00
Dan Willemsen
98ab311767 Save deps when asflags contains -xassembler-with-cpp
Usually, ".S" files are processes with the c preprocessor, and ".s"
files are not, so they don't have any dependency information, since it
is generated by the preprocessor.

But with the -xassembler-with-cpp flag, ".s" files are processed with
the preprocessor, so we should ask for dependency information from them.

Test: NINJA_ARGS="-t deps out/soong/.intermediates/external/sonivox/arm-wt-22k/libsonivox/android_arm_armv7-a-neon_core_static/obj/external/sonivox/arm-wt-22k/lib_src/ARM-E_filter_gnu.o" m
Test: treehugger
Change-Id: Iee7baeebc2b205b5a2f33e7c1705ea4a5b4fc95a
2019-08-27 21:20:40 -07:00
Dan Willemsen
5d980c878d Disallow __DATE__/__TIME__ on host builds
Instead of just making this an error when building for the device, also
turn on this error for host builds. This is more important as we begin
to use remote caches during the build.

Test: treehugger
Change-Id: I6fcc945464032d951729aead540ea77850c88c41
2019-08-27 19:37:10 -07:00
Tom Cherry
792234ac98 Merge "Remove setting _USING_LIBCXX"
am: e12019c434

Change-Id: I106eb72e2b93543547c3c6beb7b5644d3b94b4c2
2019-08-27 08:18:27 -07:00
Tom Cherry
e12019c434 Merge "Remove setting _USING_LIBCXX" 2019-08-27 15:10:27 +00:00
Treehugger Robot
309b9c02a5 Merge "Implement sysprop_library API stability check" 2019-08-27 00:44:34 +00:00
Jooyung Han
d48f3c3885 soong: Add tests for depending on disabled module
This will check if direct deps of android.Module type is "Enabled()".
Previously, this is checked only if a module calls VisitDeps*()
functions in GenerateAndroidBuildActions().

Most modules call VisitDeps*() in GenerateAndroidBuildActions(),
but some modules don't. For example, "apex" module calls
WalkDepsBlueprint() or VisitDirectDepsBlueprint() since it
exceptionally depends on non-android.Module modules.

Therefore, when an apex module depends on disabled(enabled:false) module,
build fails with panic, which is fixed by this change.

Test: m # runs soong tests
Change-Id: I81c5c148bbd51a253d2904690eb76ae7b6df1a0f
2019-08-26 13:19:42 +00:00