Lines Matching full:off

21 uint64_t EhReader::readLength(size_t *off) const {  in readLength()
22 const size_t errOff = *off; in readLength()
23 if (*off + 4 > data.size()) in readLength()
25 uint64_t len = read32le(data.data() + *off); in readLength()
26 *off += 4; in readLength()
29 if (*off + 8 > data.size()) in readLength()
31 len = read64le(data.data() + *off); in readLength()
32 *off += 8; in readLength()
34 if (*off + len > data.size()) in readLength()
39 void EhReader::skipValidLength(size_t *off) const { in skipValidLength()
40 uint32_t len = read32le(data.data() + *off); in skipValidLength()
41 *off += 4; in skipValidLength()
43 *off += 8; in skipValidLength()
46 // Read a byte and advance off by one byte.
47 uint8_t EhReader::readByte(size_t *off) const { in readByte()
48 if (*off + 1 > data.size()) in readByte()
49 failOn(*off, "unexpected end of CIE/FDE"); in readByte()
50 return data[(*off)++]; in readByte()
53 uint32_t EhReader::readU32(size_t *off) const { in readU32()
54 if (*off + 4 > data.size()) in readU32()
55 failOn(*off, "unexpected end of CIE/FDE"); in readU32()
56 uint32_t v = read32le(data.data() + *off); in readU32()
57 *off += 4; in readU32()
61 uint64_t EhReader::readPointer(size_t *off, uint8_t size) const { in readPointer() argument
62 if (*off + size > data.size()) in readPointer()
63 failOn(*off, "unexpected end of CIE/FDE"); in readPointer()
66 v = read64le(data.data() + *off); in readPointer()
69 v = read32le(data.data() + *off); in readPointer()
71 *off += size; in readPointer()
76 StringRef EhReader::readString(size_t *off) const { in readString()
77 if (*off > data.size()) in readString()
78 failOn(*off, "corrupted CIE (failed to read string)"); in readString()
79 const size_t maxlen = data.size() - *off; in readString()
80 auto *c = reinterpret_cast<const char *>(data.data() + *off); in readString()
83 failOn(*off, "corrupted CIE (failed to read string)"); in readString()
84 *off += len + 1; // skip the null byte too in readString()
88 void EhReader::skipLeb128(size_t *off) const { in skipLeb128()
89 const size_t errOff = *off; in skipLeb128()
90 while (*off < data.size()) { in skipLeb128()
91 uint8_t val = data[(*off)++]; in skipLeb128()
111 uint64_t off, uint8_t length, in createSubtraction() argument
119 off, /*addend=*/0, subtrahend); in createSubtraction()
120 Reloc minuendReloc(target->unsignedRelocType, /*pcrel=*/false, length, off, in createSubtraction()
121 (Invert ? 1 : -1) * off, minuend); in createSubtraction()
126 void EhRelocator::makePcRel(uint64_t off, in makePcRel() argument
129 createSubtraction(isec->symbols[0], target, off, length, &newRelocs); in makePcRel()
133 uint64_t off, PointerUnion<Symbol *, InputSection *> target, in makeNegativePcRel() argument
135 createSubtraction</*Invert=*/true>(isec, target, off, length, &newRelocs); in makeNegativePcRel()