This change fixes a bug that rust module in APEX has access to private
symbols of a native library even when the native library is outside of
the APEX.
To fix this, the stub selection logic in the cc package is exctacted as
a function ChooseStubOrImpl and is used also in the rust package.
Bug: 190767845
Test: m
Merged-In: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
Change-Id: I5c4cbdd5d27f257ab329d9dadbcd87d41a87f46a
(cherry picked from commit 3b5f88e091)
This is a workaround for a compiler bug that makes this combination
extremely slow to build.
Bug: 191808836
Test: m net_test_btm_iso with SANITIZE_TARGET=hwaddress
Merged-In: Ide7436bbc564413cb2f29355ada5286976607205
Change-Id: Ide7436bbc564413cb2f29355ada5286976607205
(cherry picked from commit b15a564869)
This is a workaround for a compiler bug that makes this combination
extremely slow to build.
Bug: 191808836
Test: m net_test_btm_iso with SANITIZE_TARGET=hwaddress
Change-Id: Ide7436bbc564413cb2f29355ada5286976607205
In legacy VNDK mode (DeviceVndkVesion=""), the check was missing. We
don't want VNDK-Ext in VNDK APEX in any case.
Bug: 191770320
Test: m nothing
Change-Id: I08f36a4c1696bf82d25d629841e172d2716a366d
Building against a locally-built libc besides bionic requires setting
system_shared_libs to avoid circular dependencies, but modules all
over the tree assume that system_shared_libs only affects modules
building against bionic. Add a new default_shared_libs property
that applies to all modules, which will generally be set in
arch-specific clauses to only affect the desired set of modules.
Bug: 190084016
Test: m checkbuild
Change-Id: Ia2349d84c70e503916f90a5d2702e135248f73df
Move the crt objects spread around cc/library.go and cc/binary.go
into the Toolchain. This will simplify adding new toolchains that
have custom crt objects.
Test: m checkbuild
Test: go test ./cc/...
Change-Id: I7fdc1f53769799cb9c10e3e5816dabee0f918768
Move the default value for system_shared_libs out of linker.go and into
a new DefaultSharedLibraries method in Toolchain. This will simplify
adding system_shared_libs to cc_object, and adding new toolchains with
different default system_shared_libs.
Test: m checkbuild
Test: go test ./cc/...
Change-Id: I422315f090be20719c08a4d33bd39b0b26a93d6c
Host bionic and each of the device bionic architectures will share some
new toolchain functionality in common, create a toolchainBionic and embed
it into the toolchains. Use it to implement Bionic() once and change
the default implementation from true to false.
Test: go test ./cc/...
Test: m checkbuild
Change-Id: Ia34b80d9691edc4ab1cbdbd005d1ffc950d0881c
Bug: http://b/189438896
This allows disabling sampling PGO for some arches.
Test: Build this topic.
Change-Id: Ib6ddca6685c2e53092afd440ad95ec42d3a9538b
Merged-In: Ib6ddca6685c2e53092afd440ad95ec42d3a9538b
(cherry picked from commit 19a5aae35e)
To support init_first_stage, install_in_root property is added to
cc_binary. The output is installed to {partition}, rather than
{partition}/{mount_point}/bin.
Bug: 187196593
Test: build init_first_stage
Change-Id: Ibc351645308676ed188f748972eb6312c9cbd64f
Before, the IsSdkVariant() method also checked AlwaysSdk(). Instead,
sdkMutator now sets the IsSdkVariant field to True even for the single
variation it creates when AlwaysSdk is true.
Test: Presubmits.
Change-Id: Ied8b42a3441a30484ef8c5dff5aade5fe92574bb
Bug: http://b/189438896
This allows disabling sampling PGO for some arches.
Test: Build this topic.
Change-Id: Ib6ddca6685c2e53092afd440ad95ec42d3a9538b
* changes:
Use LateStaticLibs for ndk_libandroid_support
Move LateStaticLibs after SharedLibs in the dependency include order
Test include directory ordering
This makes bp2build generate these attrs into a Starlark dictionary,
passed into the cc_library macro directly. This makes the BUILD target
representation more similar to the Android.bp one, and also makes
it more legible.
Test: TH
Change-Id: I42b427cc4b22c6376d3d24e40b9af1692bb0c692
Bug: http://b/189438896
This allows setting a different version script for vendor and
platform variants.
Test: The following blueprint snippet builds:
target: { android_arm64: {
target: vendor: {
version_script: "..." } } }
(cherry picked from commit 250c5217a2)
Change-Id: Id0df2e89f87fb2b19e71d529cf00727e6b80b1c7
Merged-In: I47e7afeaee3c9124f4231bf0eece7b6844b5313d
We care that these run, but they don't need to complete before we use
the sysroot.
Test: mm in CTS, saw ABI dump run
Bug: None
Change-Id: Iff1961d1ff03430d808caa83b3ca1fc1eceecfcd
Bug: http://b/189438896
This allows setting a different version script for vendor and
platform variants.
Test: The following blueprint snippet builds:
target: { android_arm64: {
target: vendor: {
version_script: "..." } } }
Change-Id: I47e7afeaee3c9124f4231bf0eece7b6844b5313d