forked from OSchip/llvm-project
[ELF] Loosen the condition that changes absolute relocation types to relative relocations for ARM and PPC64
Try fixing build bots after D63121 llvm-svn: 363236
This commit is contained in:
parent
179e0fa881
commit
a78e025558
|
@ -930,7 +930,13 @@ static void processRelocAux(InputSectionBase &Sec, RelExpr Expr, RelType Type,
|
|||
}
|
||||
bool CanWrite = (Sec.Flags & SHF_WRITE) || !Config->ZText;
|
||||
if (CanWrite) {
|
||||
if ((!Sym.IsPreemptible && Type == Target->SymbolicRel) || Expr == R_GOT) {
|
||||
// FIXME Improve the way we handle absolute relocation types that will
|
||||
// change to relative relocations. ARM has a relocation type R_ARM_TARGET1
|
||||
// that is similar to SymbolicRel. PPC64 may have similar relocation types.
|
||||
if ((!Sym.IsPreemptible &&
|
||||
(Config->EMachine == EM_ARM || Config->EMachine == EM_PPC64 ||
|
||||
Type == Target->SymbolicRel)) ||
|
||||
Expr == R_GOT) {
|
||||
// If this is a symbolic relocation to a non-preemptable symbol, or an
|
||||
// R_GOT, its address is its link-time value plus load address. Represent
|
||||
// it with a relative relocation.
|
||||
|
|
Loading…
Reference in New Issue