Lines Matching defs:PPC64
1 //===- PPC64.cpp ----------------------------------------------------------===//
169 class PPC64 final : public TargetInfo {
171 PPC64();
411 // Add PPC64TocOffset that will be subtracted by PPC64::relocate().
412 static_cast<const PPC64 &>(*target).relaxGot(bufLoc, rel,
581 PPC64::PPC64() {
606 // The PPC64 ELF ABI v1 spec, says:
612 // And because the lowest non-zero 256M boundary is 0x10000000, PPC64 linkers
619 int PPC64::getTlsGdRelaxSkip(RelType type) const {
641 uint32_t PPC64::calcEFlags() const {
652 void PPC64::relaxGot(uint8_t *loc, const Relocation &rel, uint64_t val) const {
716 void PPC64::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel,
779 void PPC64::relaxTlsLdToLe(uint8_t *loc, const Relocation &rel,
891 void PPC64::relaxTlsIeToLe(uint8_t *loc, const Relocation &rel,
992 RelExpr PPC64::getRelExpr(RelType type, const Symbol &s,
1106 RelType PPC64::getDynRel(RelType type) const {
1112 int64_t PPC64::getImplicitAddend(const uint8_t *buf, RelType type) const {
1135 void PPC64::writeGotHeader(uint8_t *buf) const {
1139 void PPC64::writePltHeader(uint8_t *buf) const {
1162 void PPC64::writePlt(uint8_t *buf, const Symbol &sym,
1169 void PPC64::writeIplt(uint8_t *buf, const Symbol &sym,
1259 void PPC64::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const {
1425 bool PPC64::needsThunk(RelExpr expr, RelType type, const InputFile *file,
1458 uint32_t PPC64::getThunkSectionSpacing() const {
1460 // getThunkSectionSpacing(). For PPC64 we pick the constant here based on
1466 bool PPC64::inBranchRange(RelType type, uint64_t src, uint64_t dst) const {
1475 RelExpr PPC64::adjustTlsExpr(RelType type, RelExpr expr) const {
1483 RelExpr PPC64::adjustGotPcExpr(RelType type, int64_t addend,
1512 void PPC64::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel,
1563 void PPC64::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const {
1674 bool PPC64::adjustPrologueForCrossSplitStack(uint8_t *loc, uint8_t *end,
1754 static PPC64 target;