Home | History | Annotate | Download | only in src

Lines Matching refs:cieInfo

102                       CIE_Info *cieInfo);
104 FDE_Info *fdeInfo, CIE_Info *cieInfo);
106 const CIE_Info &cieInfo, pint_t upToPC,
109 static const char *parseCIE(A &addressSpace, pint_t cie, CIE_Info *cieInfo);
113 pint_t instructionsEnd, const CIE_Info &cieInfo,
122 FDE_Info *fdeInfo, CIE_Info *cieInfo) {
138 const char *err = parseCIE(addressSpace, cieStart, cieInfo);
144 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
146 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding & 0x0F);
150 if (cieInfo->fdesHaveAugmentationData) {
153 if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
156 if (addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding & 0x0F) !=
161 addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
178 FDE_Info *fdeInfo, CIE_Info *cieInfo) {
205 if (parseCIE(addressSpace, cieStart, cieInfo) == NULL) {
209 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
211 p, nextCFI, cieInfo->pointerEncoding & 0x0F);
217 if (cieInfo->fdesHaveAugmentationData) {
220 if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
224 p, nextCFI, cieInfo->lsdaEncoding & 0x0F) != 0) {
228 .getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
257 CIE_Info *cieInfo) {
258 cieInfo->pointerEncoding = 0;
259 cieInfo->lsdaEncoding = DW_EH_PE_omit;
260 cieInfo->personalityEncoding = 0;
261 cieInfo->personalityOffsetInCIE = 0;
262 cieInfo->personality = 0;
263 cieInfo->codeAlignFactor = 0;
264 cieInfo->dataAlignFactor = 0;
265 cieInfo->isSignalFrame = false;
266 cieInfo->fdesHaveAugmentationData = false;
267 cieInfo->cieStart = cie;
295 cieInfo->codeAlignFactor = (uint32_t)addressSpace.getULEB128(p, cieContentEnd);
297 cieInfo->dataAlignFactor = (int)addressSpace.getSLEB128(p, cieContentEnd);
301 cieInfo->returnAddressRegister = (uint8_t)raReg;
310 cieInfo->fdesHaveAugmentationData = true;
313 cieInfo->personalityEncoding = addressSpace.get8(p);
315 cieInfo->personalityOffsetInCIE = (uint8_t)(p - cie);
316 cieInfo->personality = addressSpace
317 .getEncodedP(p, cieContentEnd, cieInfo->personalityEncoding);
320 cieInfo->lsdaEncoding = addressSpace.get8(p);
324 cieInfo->pointerEncoding = addressSpace.get8(p);
328 cieInfo->isSignalFrame = true;
336 cieInfo->cieLength = cieContentEnd - cieInfo->cieStart;
337 cieInfo->cieInstructions = p;
346 const CIE_Info &cieInfo, pint_t upToPC,
353 return parseInstructions(addressSpace, cieInfo.cieInstructions,
354 cieInfo.cieStart + cieInfo.cieLength, cieInfo,
357 fdeInfo.fdeStart + fdeInfo.fdeLength, cieInfo,
365 const CIE_Info &cieInfo, pint_t pcoffset,
393 addressSpace.getEncodedP(p, instructionsEnd, cieInfo.pointerEncoding);
397 codeOffset += (addressSpace.get8(p) * cieInfo.codeAlignFactor);
403 codeOffset += (addressSpace.get16(p) * cieInfo.codeAlignFactor);
409 codeOffset += (addressSpace.get32(p) * cieInfo.codeAlignFactor);
417 * cieInfo.dataAlignFactor;
577 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
587 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
601 (addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor);
609 * cieInfo.dataAlignFactor;
624 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
660 * cieInfo.dataAlignFactor;
672 * cieInfo.dataAlignFactor;
679 codeOffset += operand * cieInfo.codeAlignFactor;