Lines Matching defs:rel

50   void relocate(uint8_t *loc, const Relocation &rel,
56 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const;
57 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const;
58 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const;
449 void AArch64::relocate(uint8_t *loc, const Relocation &rel,
451 switch (rel.type) {
454 checkIntUInt(loc, val, 16, rel);
459 checkIntUInt(loc, val, 32, rel);
464 checkInt(loc, val, 32, rel);
475 if (rel.sym && rel.sym->isTagged() &&
476 (rel.addend < 0 ||
477 rel.addend >= static_cast<int64_t>(rel.sym->getSize())))
478 write64(loc, -rel.addend);
505 checkInt(loc, val, 33, rel);
511 checkInt(loc, val, 21, rel);
525 checkInt(loc, val, 28, rel);
531 checkAlignment(loc, val, 4, rel);
532 checkInt(loc, val, 21, rel);
541 checkAlignment(loc, val, 2, rel);
546 checkAlignment(loc, val, 4, rel);
554 checkAlignment(loc, val, 8, rel);
559 checkAlignment(loc, val, 16, rel);
563 checkAlignment(loc, val, 8, rel);
567 checkUInt(loc, val, 16, rel);
573 checkUInt(loc, val, 32, rel);
579 checkUInt(loc, val, 48, rel);
592 checkInt(loc, val, 17, rel);
601 checkInt(loc, val, 33, rel);
610 checkInt(loc, val, 49, rel);
619 checkInt(loc, val, 16, rel);
623 checkUInt(loc, val, 24, rel);
639 void AArch64::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel,
652 checkUInt(loc, val, 32, rel);
654 switch (rel.type) {
670 void AArch64::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel,
684 switch (rel.type) {
702 void AArch64::relaxTlsIeToLe(uint8_t *loc, const Relocation &rel,
704 checkUInt(loc, val, 32, rel);
706 if (rel.type == R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21) {
712 if (rel.type == R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC) {
868 static bool needsGotForMemtag(const Relocation &rel) {
869 return rel.sym->isTagged() && needsGot(rel.expr);
880 const Relocation &rel = sec.relocs()[i];
881 uint8_t *loc = buf + rel.offset;
883 sec.getRelocTargetVA(sec.file, rel.type, rel.addend,
884 secAddr + rel.offset, *rel.sym, rel.expr);
886 if (needsGotForMemtag(rel)) {
887 relocate(loc, rel, val);
891 switch (rel.expr) {
894 relaxer.tryRelaxAdrpLdr(rel, sec.relocs()[i + 1], secAddr, buf)) {
901 relaxer.tryRelaxAdrpAdd(rel, sec.relocs()[i + 1], secAddr, buf)) {
908 relaxTlsGdToIe(loc, rel, val);
911 relaxTlsGdToLe(loc, rel, val);
914 relaxTlsIeToLe(loc, rel, val);
919 relocate(loc, rel, val);
1096 for (const typename ELFT::Rela &rel : rels.relas) {
1097 Symbol &sym = sec.file->getRelocTargetSym(rel);