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:
Elliott Hughes 2024-03-19 20:19:23 +00:00
parent 97409cd9a2
commit b48fb83936
8 changed files with 1 additions and 20 deletions

View file

@ -49,7 +49,6 @@ var (
}
arm64Ldflags = []string{
"-Wl,--hash-style=gnu",
"-Wl,-z,separate-code",
"-Wl,-z,separate-loadable-segments",
}

View file

@ -42,7 +42,6 @@ var (
"-Wl,-z,now",
"-Wl,--build-id=md5",
"-Wl,--fatal-warnings",
"-Wl,--hash-style=gnu",
"-Wl,--no-undefined-version",
}

View file

@ -38,7 +38,6 @@ var (
}
armLdflags = []string{
"-Wl,--hash-style=gnu",
"-Wl,-m,armelf",
// Revert this after b/322359235 is fixed
"-Wl,-mllvm", "-Wl,-enable-shrink-wrap=false",

View file

@ -42,11 +42,6 @@ var (
riscv64ArchVariantCflags = map[string][]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
// above) for ease of experimentation with additional extensions.
"-march=rv64gcv_zba_zbb_zbs",

View file

@ -30,7 +30,6 @@ var (
x86_64Cppflags = []string{}
x86_64Ldflags = []string{
"-Wl,--hash-style=gnu",
"-Wl,-z,separate-loadable-segments",
}

View file

@ -33,9 +33,7 @@ var (
x86Cppflags = []string{}
x86Ldflags = []string{
"-Wl,--hash-style=gnu",
}
x86Ldflags = []string{}
x86ArchVariantCflags = map[string][]string{
"": []string{

View file

@ -46,7 +46,6 @@ var (
"-Wl,-z,now",
"-Wl,--build-id=md5",
"-Wl,--fatal-warnings",
"-Wl,--hash-style=gnu",
"-Wl,--no-undefined-version",
// Use the device gcc toolchain

View file

@ -530,13 +530,6 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags {
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())
// Version_script is not needed when linking stubs lib where the version