Use no_libcrt property instead of hard coding projects to exclude

Test: m checkbuild
Change-Id: Id4d3605a5cd45dd43b752a9d270df0a20024dbd0
This commit is contained in:
Yi Kong
2019-02-12 09:41:18 -08:00
parent 02f3e09450
commit 19408a3aaa

View File

@@ -225,14 +225,9 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
}
if ctx.toolchain().Bionic() {
// Allow individual projects to opt out of libcrt,builtins
// b/117565638
// libclang_rt.builtins, libgcc and libatomic have to be last on the command line
if !Bool(linker.Properties.No_libcrt) {
// 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, config.BuiltinsRuntimeLibrary(ctx.toolchain()))
}
deps.LateStaticLibs = append(deps.LateStaticLibs, "libatomic")