Lines Matching refs:rel

323 bool elf::tryRelaxPPC64TocIndirection(const Relocation &rel, uint8_t *bufLoc) {  in tryRelaxPPC64TocIndirection()  argument
325 if (rel.addend < 0) in tryRelaxPPC64TocIndirection()
329 Defined *defSym = dyn_cast<Defined>(rel.sym); in tryRelaxPPC64TocIndirection()
337 config->isLE ? getRelaTocSymAndAddend<ELF64LE>(tocISB, rel.addend) in tryRelaxPPC64TocIndirection()
338 : getRelaTocSymAndAddend<ELF64BE>(tocISB, rel.addend); in tryRelaxPPC64TocIndirection()
354 target->relaxGot(bufLoc, rel, tocRelative + ppc64TocOffset); in tryRelaxPPC64TocIndirection()
373 void relocate(uint8_t *loc, const Relocation &rel,
384 void relaxGot(uint8_t *loc, const Relocation &rel,
386 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel,
388 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel,
390 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel,
392 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel,
635 void PPC64::relaxGot(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relaxGot() argument
636 switch (rel.type) { in relaxGot()
639 relocate(loc, rel, val); in relaxGot()
662 relocate(loc, rel, val); in relaxGot()
670 uint32_t accessInsn = read32(loc + rel.addend); in relaxGot()
691 write32(loc + rel.addend, NOP); // nop accessInsn. in relaxGot()
699 void PPC64::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToLe() argument
716 switch (rel.type) { in relaxTlsGdToLe()
762 void PPC64::relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsLdToLe() argument
779 switch (rel.type) { in relaxTlsLdToLe()
820 relocate(loc, rel, val); in relaxTlsLdToLe()
852 void PPC64::relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, in relaxTlsIeToLe() argument
874 switch (rel.type) { in relaxTlsIeToLe()
1204 void PPC64::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument
1205 RelType type = rel.type; in relocate()
1213 checkAlignment(loc, val, 4, rel); in relocate()
1220 checkIntUInt(loc, val, 16, rel); in relocate()
1224 checkIntUInt(loc, val, 32, rel); in relocate()
1229 checkInt(loc, val, 16, rel); in relocate()
1233 checkAlignment(loc, lo(val), mask + 1, rel); in relocate()
1242 checkInt(loc, val + 0x8000, 32, rel); in relocate()
1249 checkInt(loc, val, 32, rel); in relocate()
1294 checkAlignment(loc, lo(val), mask + 1, rel); in relocate()
1310 checkInt(loc, val, 16, rel); in relocate()
1314 checkInt(loc, val, 32, rel); in relocate()
1324 checkInt(loc, val, 16, rel); in relocate()
1325 checkAlignment(loc, val, 4, rel); in relocate()
1332 checkInt(loc, val, 26, rel); in relocate()
1333 checkAlignment(loc, val, 4, rel); in relocate()
1355 checkInt(loc, val, 34, rel); in relocate()
1457 void PPC64::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToIe() argument
1459 switch (rel.type) { in relaxTlsGdToIe()