Defer to clang for --hash-style
.
We fixed the clang driver to "do the right thing" based on target api level years ago, but these manual workarounds predate that (or were copy & pasted from places that predated that). We don't need them any more. See https://github.com/android/ndk/issues/2005 for more detail. Change-Id: I995741b8606e389e8de8272f1cc532624516245a
This commit is contained in:
@@ -49,7 +49,6 @@ var (
|
|||||||
}
|
}
|
||||||
|
|
||||||
arm64Ldflags = []string{
|
arm64Ldflags = []string{
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
"-Wl,-z,separate-code",
|
"-Wl,-z,separate-code",
|
||||||
"-Wl,-z,separate-loadable-segments",
|
"-Wl,-z,separate-loadable-segments",
|
||||||
}
|
}
|
||||||
|
@@ -42,7 +42,6 @@ var (
|
|||||||
"-Wl,-z,now",
|
"-Wl,-z,now",
|
||||||
"-Wl,--build-id=md5",
|
"-Wl,--build-id=md5",
|
||||||
"-Wl,--fatal-warnings",
|
"-Wl,--fatal-warnings",
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
"-Wl,--no-undefined-version",
|
"-Wl,--no-undefined-version",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,7 +38,6 @@ var (
|
|||||||
}
|
}
|
||||||
|
|
||||||
armLdflags = []string{
|
armLdflags = []string{
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
"-Wl,-m,armelf",
|
"-Wl,-m,armelf",
|
||||||
// Revert this after b/322359235 is fixed
|
// Revert this after b/322359235 is fixed
|
||||||
"-Wl,-mllvm", "-Wl,-enable-shrink-wrap=false",
|
"-Wl,-mllvm", "-Wl,-enable-shrink-wrap=false",
|
||||||
|
@@ -42,11 +42,6 @@ var (
|
|||||||
riscv64ArchVariantCflags = map[string][]string{}
|
riscv64ArchVariantCflags = map[string][]string{}
|
||||||
|
|
||||||
riscv64Ldflags = []string{
|
riscv64Ldflags = []string{
|
||||||
// TODO: sysv hashes are the default for other architectures because gnu
|
|
||||||
// hashes weren't supported until api level 23, but riscv64 didn't exist
|
|
||||||
// back then, and could move today...
|
|
||||||
// https://android.googlesource.com/platform/bionic/+/main/android-changes-for-ndk-developers.md#gnu-hashes-availible-in-api-level-23
|
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
// This is already the driver's Android default, but duplicated here (and
|
// This is already the driver's Android default, but duplicated here (and
|
||||||
// above) for ease of experimentation with additional extensions.
|
// above) for ease of experimentation with additional extensions.
|
||||||
"-march=rv64gcv_zba_zbb_zbs",
|
"-march=rv64gcv_zba_zbb_zbs",
|
||||||
|
@@ -30,7 +30,6 @@ var (
|
|||||||
x86_64Cppflags = []string{}
|
x86_64Cppflags = []string{}
|
||||||
|
|
||||||
x86_64Ldflags = []string{
|
x86_64Ldflags = []string{
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
"-Wl,-z,separate-loadable-segments",
|
"-Wl,-z,separate-loadable-segments",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -33,9 +33,7 @@ var (
|
|||||||
|
|
||||||
x86Cppflags = []string{}
|
x86Cppflags = []string{}
|
||||||
|
|
||||||
x86Ldflags = []string{
|
x86Ldflags = []string{}
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
}
|
|
||||||
|
|
||||||
x86ArchVariantCflags = map[string][]string{
|
x86ArchVariantCflags = map[string][]string{
|
||||||
"": []string{
|
"": []string{
|
||||||
|
@@ -46,7 +46,6 @@ var (
|
|||||||
"-Wl,-z,now",
|
"-Wl,-z,now",
|
||||||
"-Wl,--build-id=md5",
|
"-Wl,--build-id=md5",
|
||||||
"-Wl,--fatal-warnings",
|
"-Wl,--fatal-warnings",
|
||||||
"-Wl,--hash-style=gnu",
|
|
||||||
"-Wl,--no-undefined-version",
|
"-Wl,--no-undefined-version",
|
||||||
|
|
||||||
// Use the device gcc toolchain
|
// Use the device gcc toolchain
|
||||||
|
@@ -530,13 +530,6 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags {
|
|||||||
flags.Global.LdFlags = append(flags.Global.LdFlags, RpathFlags(ctx)...)
|
flags.Global.LdFlags = append(flags.Global.LdFlags, RpathFlags(ctx)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ctx.useSdk() {
|
|
||||||
// The bionic linker now has support gnu style hashes (which are much faster!), but shipping
|
|
||||||
// to older devices requires the old style hash. Fortunately, we can build with both and
|
|
||||||
// it'll work anywhere.
|
|
||||||
flags.Global.LdFlags = append(flags.Global.LdFlags, "-Wl,--hash-style=both")
|
|
||||||
}
|
|
||||||
|
|
||||||
flags.Global.LdFlags = append(flags.Global.LdFlags, toolchain.ToolchainLdflags())
|
flags.Global.LdFlags = append(flags.Global.LdFlags, toolchain.ToolchainLdflags())
|
||||||
|
|
||||||
// Version_script is not needed when linking stubs lib where the version
|
// Version_script is not needed when linking stubs lib where the version
|
||||||
|
Reference in New Issue
Block a user