Merge "Use SHT_RELR relocations where possible." am: 4dac3874f1 am: 41f7037e90

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1673945

Change-Id: I5b8926380a07cfc3c41ebb8e7a94eb83c16d10b6
This commit is contained in:
Elliott Hughes 2021-05-11 22:17:24 +00:00 committed by Automerger Merge Worker
commit 52fc6ab060
1 changed files with 7 additions and 3 deletions

View File

@ -421,9 +421,13 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags {
if !BoolDefault(linker.Properties.Pack_relocations, true) {
flags.Global.LdFlags = append(flags.Global.LdFlags, "-Wl,--pack-dyn-relocs=none")
} else if ctx.Device() {
// The SHT_RELR relocations is only supported by API level >= 28.
// Do not turn this on if older version NDK is used.
if !ctx.useSdk() || CheckSdkVersionAtLeast(ctx, 28) {
// SHT_RELR relocations are only supported at API level >= 30.
// ANDROID_RELR relocations were supported at API level >= 28.
// Relocation packer was supported at API level >= 23.
// Do the best we can...
if !ctx.useSdk() || CheckSdkVersionAtLeast(ctx, 30) {
flags.Global.LdFlags = append(flags.Global.LdFlags, "-Wl,--pack-dyn-relocs=android+relr")
} else if CheckSdkVersionAtLeast(ctx, 28) {
flags.Global.LdFlags = append(flags.Global.LdFlags,
"-Wl,--pack-dyn-relocs=android+relr",
"-Wl,--use-android-relr-tags")