Merge "Defer to clang for --hash-style." into main

This commit is contained in:
Elliott Hughes
2024-03-20 16:47:40 +00:00
committed by Gerrit Code Review
8 changed files with 1 additions and 20 deletions

View File

@@ -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",
} }

View File

@@ -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",
} }

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",
} }

View File

@@ -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{

View File

@@ -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

View File

@@ -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