Merge "Revert "Revert "Move libgcc to libcrt.builtins"""

am: 38441856ca

Change-Id: If51950dbcef748b58a71cf72b8c2a8f67e7c5bc4
This commit is contained in:
Yi Kong 2018-10-10 12:33:56 -07:00 committed by android-build-merger
commit d871ae11f4
2 changed files with 35 additions and 5 deletions

View File

@ -86,6 +86,34 @@ func createTestContext(t *testing.T, config android.Config, bp string) *android.
src: "", src: "",
} }
toolchain_library {
name: "libclang_rt.builtins-arm-android",
vendor_available: true,
recovery_available: true,
src: "",
}
toolchain_library {
name: "libclang_rt.builtins-aarch64-android",
vendor_available: true,
recovery_available: true,
src: "",
}
toolchain_library {
name: "libclang_rt.builtins-i686-android",
vendor_available: true,
recovery_available: true,
src: "",
}
toolchain_library {
name: "libclang_rt.builtins-x86_64-android",
vendor_available: true,
recovery_available: true,
src: "",
}
toolchain_library { toolchain_library {
name: "libgcc", name: "libgcc",
vendor_available: true, vendor_available: true,

View File

@ -16,6 +16,7 @@ package cc
import ( import (
"android/soong/android" "android/soong/android"
"android/soong/cc/config"
"fmt" "fmt"
"github.com/google/blueprint" "github.com/google/blueprint"
@ -214,12 +215,13 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs) deps.WholeStaticLibs = removeListFromList(deps.WholeStaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs)
} }
if ctx.ModuleName() != "libcompiler_rt-extras" { if ctx.toolchain().Bionic() {
deps.LateStaticLibs = append(deps.LateStaticLibs, "libcompiler_rt-extras") // libclang_rt.builtins, libgcc and libatomic have to be last on the command line
// TODO: Also enable for libc and libm
if ctx.ModuleName() != "libc" && ctx.ModuleName() != "libm" {
deps.LateStaticLibs = append(deps.LateStaticLibs, config.BuiltinsRuntimeLibrary(ctx.toolchain()))
} }
if ctx.toolchain().Bionic() {
// libgcc and libatomic have to be last on the command line
deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic") deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")
if !Bool(linker.Properties.No_libgcc) { if !Bool(linker.Properties.No_libgcc) {
deps.LateStaticLibs = append(deps.LateStaticLibs, "libgcc") deps.LateStaticLibs = append(deps.LateStaticLibs, "libgcc")