[ELF][PPC64] Use the regular placement for .branch_lt

The currently rule places .branch_lt after .data, which does not make
sense. The original contributor probably wanted to place .branch_lt
before .got/.toc, but failed to notice that .got/.toc are RELRO and
placed earlier.

Remove the special case so that .branch_lt is actually closer to .toc,
alleviating the distance issue.
This commit is contained in:
Fangrui Song
2023-09-13 19:15:42 -07:00
parent a700ed6909
commit e057d8973c

View File

@@ -941,12 +941,10 @@ static unsigned getSectionRank(const OutputSection &osec) {
// their coverage by a single signed 16-bit offset from the TOC base
// pointer.
StringRef name = osec.name;
if (name == ".branch_lt")
if (name == ".got")
rank |= 1;
else if (name == ".got")
rank |= 2;
else if (name == ".toc")
rank |= 4;
rank |= 2;
}
if (config->emachine == EM_MIPS) {