Home | History | Annotate | Download | only in Unwind

Lines Matching refs:cieInfo

103                       CIE_Info *cieInfo);
105 FDE_Info *fdeInfo, CIE_Info *cieInfo);
107 const CIE_Info &cieInfo, pint_t upToPC,
110 static const char *parseCIE(A &addressSpace, pint_t cie, CIE_Info *cieInfo);
114 pint_t instructionsEnd, const CIE_Info &cieInfo,
123 FDE_Info *fdeInfo, CIE_Info *cieInfo) {
139 const char *err = parseCIE(addressSpace, cieStart, cieInfo);
145 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
147 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding & 0x0F);
151 if (cieInfo->fdesHaveAugmentationData) {
154 if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
157 if (addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding & 0x0F) !=
162 addressSpace.getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
179 FDE_Info *fdeInfo, CIE_Info *cieInfo) {
206 if (parseCIE(addressSpace, cieStart, cieInfo) == NULL) {
210 addressSpace.getEncodedP(p, nextCFI, cieInfo->pointerEncoding);
212 p, nextCFI, cieInfo->pointerEncoding & 0x0F);
218 if (cieInfo->fdesHaveAugmentationData) {
221 if (cieInfo->lsdaEncoding != DW_EH_PE_omit) {
225 p, nextCFI, cieInfo->lsdaEncoding & 0x0F) != 0) {
229 .getEncodedP(p, nextCFI, cieInfo->lsdaEncoding);
258 CIE_Info *cieInfo) {
259 cieInfo->pointerEncoding = 0;
260 cieInfo->lsdaEncoding = DW_EH_PE_omit;
261 cieInfo->personalityEncoding = 0;
262 cieInfo->personalityOffsetInCIE = 0;
263 cieInfo->personality = 0;
264 cieInfo->codeAlignFactor = 0;
265 cieInfo->dataAlignFactor = 0;
266 cieInfo->isSignalFrame = false;
267 cieInfo->fdesHaveAugmentationData = false;
268 cieInfo->cieStart = cie;
296 cieInfo->codeAlignFactor = (uint32_t)addressSpace.getULEB128(p, cieContentEnd);
298 cieInfo->dataAlignFactor = (int)addressSpace.getSLEB128(p, cieContentEnd);
302 cieInfo->returnAddressRegister = (uint8_t)raReg;
311 cieInfo->fdesHaveAugmentationData = true;
314 cieInfo->personalityEncoding = addressSpace.get8(p);
316 cieInfo->personalityOffsetInCIE = (uint8_t)(p - cie);
317 cieInfo->personality = addressSpace
318 .getEncodedP(p, cieContentEnd, cieInfo->personalityEncoding);
321 cieInfo->lsdaEncoding = addressSpace.get8(p);
325 cieInfo->pointerEncoding = addressSpace.get8(p);
329 cieInfo->isSignalFrame = true;
337 cieInfo->cieLength = cieContentEnd - cieInfo->cieStart;
338 cieInfo->cieInstructions = p;
347 const CIE_Info &cieInfo, pint_t upToPC,
354 return parseInstructions(addressSpace, cieInfo.cieInstructions,
355 cieInfo.cieStart + cieInfo.cieLength, cieInfo,
358 fdeInfo.fdeStart + fdeInfo.fdeLength, cieInfo,
366 const CIE_Info &cieInfo, pint_t pcoffset,
394 addressSpace.getEncodedP(p, instructionsEnd, cieInfo.pointerEncoding);
399 codeOffset += (addressSpace.get8(p) * cieInfo.codeAlignFactor);
406 codeOffset += (addressSpace.get16(p) * cieInfo.codeAlignFactor);
413 codeOffset += (addressSpace.get32(p) * cieInfo.codeAlignFactor);
422 * cieInfo.dataAlignFactor;
590 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
601 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
616 (addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor);
625 * cieInfo.dataAlignFactor;
641 addressSpace.getSLEB128(p, instructionsEnd) * cieInfo.dataAlignFactor;
679 * cieInfo.dataAlignFactor;
692 * cieInfo.dataAlignFactor;
700 codeOffset += operand * cieInfo.codeAlignFactor;