Merge "Move libgcc to libcrt.builtins"

This commit is contained in:
Yi Kong
2018-10-04 22:09:55 +00:00
committed by Gerrit Code Review
2 changed files with 31 additions and 5 deletions

View File

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

View File

@@ -16,6 +16,7 @@ package cc
import (
"android/soong/android"
"android/soong/cc/config"
"fmt"
"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)
}
if ctx.ModuleName() != "libcompiler_rt-extras" {
deps.LateStaticLibs = append(deps.LateStaticLibs, "libcompiler_rt-extras")
}
if ctx.toolchain().Bionic() {
// libgcc and libatomic have to be last on the command line
// 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()))
}
deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")
if !Bool(linker.Properties.No_libgcc) {
deps.LateStaticLibs = append(deps.LateStaticLibs, "libgcc")