forked from OSchip/llvm-project
[ELF2/PPC64] Invert PPC64TargetInfo::isRelRelative's default
When I initially implemented PPC64TargetInfo::isRelRelative, I included a fixed set of relative relocations, and made the default false. In retrospect, this seems unwise in two respects: First, most PPC64 relocations are relative (either to the base address, the TOC, etc.). Second, most relocation targets are not appropriate for R_PPC64_RELATIVE (which writes a 64-bit absolute address). Thus, back off, and include only those relocations for which we test (or soon will), and are obviously appropriate for R_PPC64_RELATIVE. llvm-svn: 250540
This commit is contained in:
parent
b93483dbce
commit
0091862801
|
@ -423,14 +423,10 @@ bool PPC64TargetInfo::relocNeedsPlt(uint32_t Type, const SymbolBody &S) const {
|
|||
bool PPC64TargetInfo::isRelRelative(uint32_t Type) const {
|
||||
switch (Type) {
|
||||
default:
|
||||
return false;
|
||||
case R_PPC64_REL24:
|
||||
case R_PPC64_REL14:
|
||||
case R_PPC64_REL14_BRTAKEN:
|
||||
case R_PPC64_REL14_BRNTAKEN:
|
||||
case R_PPC64_REL32:
|
||||
case R_PPC64_REL64:
|
||||
return true;
|
||||
case R_PPC64_TOC:
|
||||
case R_PPC64_ADDR64:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue