Revert "Split the x86 host toolchain into glibc and musl variants"
This reverts commit 4fb4ef22424162d73bb0473ff53dc557b3fec79f.
Reason for revert: crossed with aosp/1775072
Change-Id: Ied922850b810d82627ba4f9ee42f672cfe286c91
diff --git a/cc/binary.go b/cc/binary.go
index 763d2b9..c6d61ab 100644
--- a/cc/binary.go
+++ b/cc/binary.go
@@ -335,7 +335,7 @@
if flags.DynamicLinker != "" {
flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-dynamic-linker,"+flags.DynamicLinker)
- } else if (ctx.toolchain().Bionic() || ctx.toolchain().Musl()) && !binary.static() {
+ } else if ctx.toolchain().Bionic() && !binary.static() {
flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--no-dynamic-linker")
}
diff --git a/cc/config/toolchain.go b/cc/config/toolchain.go
index 20384a8..ff556f1 100644
--- a/cc/config/toolchain.go
+++ b/cc/config/toolchain.go
@@ -118,8 +118,6 @@
DefaultSharedLibraries() []string
Bionic() bool
- Glibc() bool
- Musl() bool
}
type toolchainBase struct {
@@ -196,14 +194,6 @@
return false
}
-func (toolchainBase) Glibc() bool {
- return false
-}
-
-func (toolchainBase) Musl() bool {
- return false
-}
-
func (t toolchainBase) ToolPath() string {
return ""
}
diff --git a/cc/config/x86_linux_host.go b/cc/config/x86_linux_host.go
index 1d66cb7..85d95d8 100644
--- a/cc/config/x86_linux_host.go
+++ b/cc/config/x86_linux_host.go
@@ -36,16 +36,8 @@
"-D__STDC_CONSTANT_MACROS",
"--gcc-toolchain=${LinuxGccRoot}",
- "-fstack-protector-strong",
- }
-
- linuxGlibcCflags = []string{
"--sysroot ${LinuxGccRoot}/sysroot",
- }
-
- linuxMuslCflags = []string{
- "-D_LIBCPP_HAS_MUSL_LIBC",
- "-nostdlibinc",
+ "-fstack-protector-strong",
}
linuxLdflags = []string{
@@ -55,17 +47,9 @@
"-Wl,--no-undefined-version",
"--gcc-toolchain=${LinuxGccRoot}",
- }
-
- linuxGlibcLdflags = []string{
"--sysroot ${LinuxGccRoot}/sysroot",
}
- linuxMuslLdflags = []string{
- "-nostdlib",
- "-lgcc", "-lgcc_eh",
- }
-
// Extended cflags
linuxX86Cflags = []string{
"-msse3",
@@ -105,12 +89,6 @@
"rt",
"util",
}, "-l")
-
- muslCrtBeginStaticBinary, muslCrtEndStaticBinary = []string{"libc_musl_crtbegin_static"}, []string{"crtend_android"}
- muslCrtBeginSharedBinary, muslCrtEndSharedBinary = []string{"libc_musl_crtbegin_dynamic", "musl_linker_script"}, []string{"libc_musl_crtend"}
- muslCrtBeginSharedLibrary, muslCrtEndSharedLibrary = []string{"libc_musl_crtbegin_so"}, []string{"libc_musl_crtend_so"}
-
- muslDefaultSharedLibraries = []string{"libjemalloc5", "libc_musl"}
)
const (
@@ -146,13 +124,6 @@
// Yasm flags
pctx.StaticVariable("LinuxX86YasmFlags", "-f elf32 -m x86")
pctx.StaticVariable("LinuxX8664YasmFlags", "-f elf64 -m amd64")
-
- pctx.StaticVariable("LinuxGlibcCflags", strings.Join(linuxGlibcCflags, " "))
- pctx.StaticVariable("LinuxGlibcLdflags", strings.Join(linuxGlibcLdflags, " "))
- pctx.StaticVariable("LinuxGlibcLldflags", strings.Join(linuxGlibcLdflags, " "))
- pctx.StaticVariable("LinuxMuslCflags", strings.Join(linuxMuslCflags, " "))
- pctx.StaticVariable("LinuxMuslLdflags", strings.Join(linuxMuslLdflags, " "))
- pctx.StaticVariable("LinuxMuslLldflags", strings.Join(linuxMuslLdflags, " "))
}
type toolchainLinux struct {
@@ -253,146 +224,18 @@
return linuxAvailableLibraries
}
-// glibc specialization of the linux toolchain
+var toolchainLinuxX86Singleton Toolchain = &toolchainLinuxX86{}
+var toolchainLinuxX8664Singleton Toolchain = &toolchainLinuxX8664{}
-type toolchainGlibc struct {
+func linuxX86ToolchainFactory(arch android.Arch) Toolchain {
+ return toolchainLinuxX86Singleton
}
-func (toolchainGlibc) Glibc() bool { return true }
-
-func (toolchainGlibc) Cflags() string {
- return "${config.LinuxGlibcCflags}"
-}
-
-func (toolchainGlibc) Ldflags() string {
- return "${config.LinuxGlibcLdflags}"
-}
-
-func (toolchainGlibc) Lldflags() string {
- return "${config.LinuxGlibcLldflags}"
-}
-
-type toolchainLinuxGlibcX86 struct {
- toolchainLinuxX86
- toolchainGlibc
-}
-
-type toolchainLinuxGlibcX8664 struct {
- toolchainLinuxX8664
- toolchainGlibc
-}
-
-func (t *toolchainLinuxGlibcX86) Cflags() string {
- return t.toolchainLinuxX86.Cflags() + " " + t.toolchainGlibc.Cflags()
-}
-
-func (t *toolchainLinuxGlibcX86) Ldflags() string {
- return t.toolchainLinuxX86.Ldflags() + " " + t.toolchainGlibc.Ldflags()
-}
-
-func (t *toolchainLinuxGlibcX86) Lldflags() string {
- return t.toolchainLinuxX86.Lldflags() + " " + t.toolchainGlibc.Lldflags()
-}
-
-func (t *toolchainLinuxGlibcX8664) Cflags() string {
- return t.toolchainLinuxX8664.Cflags() + " " + t.toolchainGlibc.Cflags()
-}
-
-func (t *toolchainLinuxGlibcX8664) Ldflags() string {
- return t.toolchainLinuxX8664.Ldflags() + " " + t.toolchainGlibc.Ldflags()
-}
-
-func (t *toolchainLinuxGlibcX8664) Lldflags() string {
- return t.toolchainLinuxX8664.Lldflags() + " " + t.toolchainGlibc.Lldflags()
-}
-
-var toolchainLinuxGlibcX86Singleton Toolchain = &toolchainLinuxGlibcX86{}
-var toolchainLinuxGlibcX8664Singleton Toolchain = &toolchainLinuxGlibcX8664{}
-
-func linuxGlibcX86ToolchainFactory(arch android.Arch) Toolchain {
- return toolchainLinuxGlibcX86Singleton
-}
-
-func linuxGlibcX8664ToolchainFactory(arch android.Arch) Toolchain {
- return toolchainLinuxGlibcX8664Singleton
-}
-
-// musl specialization of the linux toolchain
-
-type toolchainMusl struct {
-}
-
-func (toolchainMusl) Musl() bool { return true }
-
-func (toolchainMusl) CrtBeginStaticBinary() []string { return muslCrtBeginStaticBinary }
-func (toolchainMusl) CrtBeginSharedBinary() []string { return muslCrtBeginSharedBinary }
-func (toolchainMusl) CrtBeginSharedLibrary() []string { return muslCrtBeginSharedLibrary }
-func (toolchainMusl) CrtEndStaticBinary() []string { return muslCrtEndStaticBinary }
-func (toolchainMusl) CrtEndSharedBinary() []string { return muslCrtEndSharedBinary }
-func (toolchainMusl) CrtEndSharedLibrary() []string { return muslCrtEndSharedLibrary }
-
-func (toolchainMusl) DefaultSharedLibraries() []string { return muslDefaultSharedLibraries }
-
-func (toolchainMusl) Cflags() string {
- return "${config.LinuxMuslCflags}"
-}
-
-func (toolchainMusl) Ldflags() string {
- return "${config.LinuxMuslLdflags}"
-}
-
-func (toolchainMusl) Lldflags() string {
- return "${config.LinuxMuslLldflags}"
-}
-
-type toolchainLinuxMuslX86 struct {
- toolchainLinuxX86
- toolchainMusl
-}
-
-type toolchainLinuxMuslX8664 struct {
- toolchainLinuxX8664
- toolchainMusl
-}
-
-func (t *toolchainLinuxMuslX86) Cflags() string {
- return t.toolchainLinuxX86.Cflags() + " " + t.toolchainMusl.Cflags()
-}
-
-func (t *toolchainLinuxMuslX86) Ldflags() string {
- return t.toolchainLinuxX86.Ldflags() + " " + t.toolchainMusl.Ldflags()
-}
-
-func (t *toolchainLinuxMuslX86) Lldflags() string {
- return t.toolchainLinuxX86.Lldflags() + " " + t.toolchainMusl.Lldflags()
-}
-
-func (t *toolchainLinuxMuslX8664) Cflags() string {
- return t.toolchainLinuxX8664.Cflags() + " " + t.toolchainMusl.Cflags()
-}
-
-func (t *toolchainLinuxMuslX8664) Ldflags() string {
- return t.toolchainLinuxX8664.Ldflags() + " " + t.toolchainMusl.Ldflags()
-}
-
-func (t *toolchainLinuxMuslX8664) Lldflags() string {
- return t.toolchainLinuxX8664.Lldflags() + " " + t.toolchainMusl.Lldflags()
-}
-
-var toolchainLinuxMuslX86Singleton Toolchain = &toolchainLinuxMuslX86{}
-var toolchainLinuxMuslX8664Singleton Toolchain = &toolchainLinuxMuslX8664{}
-
-func linuxMuslX86ToolchainFactory(arch android.Arch) Toolchain {
- return toolchainLinuxMuslX86Singleton
-}
-
-func linuxMuslX8664ToolchainFactory(arch android.Arch) Toolchain {
- return toolchainLinuxMuslX8664Singleton
+func linuxX8664ToolchainFactory(arch android.Arch) Toolchain {
+ return toolchainLinuxX8664Singleton
}
func init() {
- registerToolchainFactory(android.Linux, android.X86, linuxGlibcX86ToolchainFactory)
- registerToolchainFactory(android.Linux, android.X86_64, linuxGlibcX8664ToolchainFactory)
- registerToolchainFactory(android.LinuxMusl, android.X86, linuxMuslX86ToolchainFactory)
- registerToolchainFactory(android.LinuxMusl, android.X86_64, linuxMuslX8664ToolchainFactory)
+ registerToolchainFactory(android.Linux, android.X86, linuxX86ToolchainFactory)
+ registerToolchainFactory(android.Linux, android.X86_64, linuxX8664ToolchainFactory)
}
diff --git a/cc/linker.go b/cc/linker.go
index c8fc431..82449a6 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -385,10 +385,6 @@
indexList("libdl", deps.SystemSharedLibs) < indexList("libc", deps.SystemSharedLibs) {
ctx.PropertyErrorf("system_shared_libs", "libdl must be after libc")
}
- } else if ctx.toolchain().Musl() {
- if !Bool(linker.Properties.No_libcrt) && !ctx.header() {
- deps.LateStaticLibs = append(deps.LateStaticLibs, config.BuiltinsRuntimeLibrary(ctx.toolchain()))
- }
}
deps.LateSharedLibs = append(deps.LateSharedLibs, deps.SystemSharedLibs...)
@@ -476,7 +472,7 @@
flags.Global.LdFlags = append(flags.Global.LdFlags, toolchain.Ldflags())
}
- if !ctx.toolchain().Bionic() && ctx.Os() != android.LinuxMusl {
+ if !ctx.toolchain().Bionic() {
CheckBadHostLdlibs(ctx, "host_ldlibs", linker.Properties.Host_ldlibs)
flags.Local.LdFlags = append(flags.Local.LdFlags, linker.Properties.Host_ldlibs...)
diff --git a/cc/sanitize.go b/cc/sanitize.go
index b244394..3911f48 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -472,8 +472,8 @@
s.Diag.Cfi = nil
}
- // Disable sanitizers that depend on the UBSan runtime for windows/darwin/musl builds.
- if !ctx.Os().Linux() || ctx.Os() == android.LinuxMusl {
+ // Disable sanitizers that depend on the UBSan runtime for windows/darwin builds.
+ if !ctx.Os().Linux() {
s.Cfi = nil
s.Diag.Cfi = nil
s.Misc_undefined = nil
diff --git a/cc/testing.go b/cc/testing.go
index 1795d63..19513e3 100644
--- a/cc/testing.go
+++ b/cc/testing.go
@@ -450,25 +450,6 @@
cc_library_static {
name: "note_memtag_heap_sync",
}
-
-
- cc_library {
- name: "libjemalloc5",
- host_supported: true,
- no_libcrt: true,
- nocrt: true,
- default_shared_libs: [],
- stl: "none",
- }
-
- cc_library {
- name: "libc_musl",
- host_supported: true,
- no_libcrt: true,
- nocrt: true,
- default_shared_libs: [],
- stl: "none",
- }
`
}