Home | History | Annotate | Download | only in m_debuginfo

Lines Matching refs:CIE

274    applies for initial lengths for CIE/FDEs and probably in zillions
1720 > If a CIE does not have an "augmentation string" (typically "zR") then
1723 > is specified by the CIE itself, which works fine with GCC compiled code
2016 /* Read-only fields (set by the CIE) */
3648 /* This gives the CIE an identity to which FDEs will refer. */
3663 CIE;
3665 static void init_CIE ( CIE* cie )
3667 cie->offset = 0;
3668 cie->code_a_f = 0;
3669 cie->data_a_f = 0;
3670 cie->ra_reg = 0;
3671 cie->address_encoding = 0;
3672 cie->instrs = NULL;
3673 cie->ilen = 0;
3674 cie->saw_z_augmentation = False;
3678 static CIE the_CIEs[N_CIEs];
3736 of which is either a FDE (usually) or a CIE (occasionally).
3737 Each FDE has a field indicating which CIE is the one pertaining
3744 previously-seen CIE.
3762 /* Ok, we must be looking at the start of a new CIE or FDE.
3773 VG_(printf)("cie/fde.length = %lld\n", ciefde_len);
3795 /* Now get the CIE ID, whose size depends on the DWARF 32 vs
3806 VG_(printf)("cie.pointer = %lld\n", cie_pointer);
3809 we've got a CIE; else it's an FDE. */
3817 /* --------- CIE --------- */
3819 VG_(printf)("------ new CIE (#%d of 0 .. %d) ------\n",
3822 /* Allocate a new CIE record. */
3838 VG_(printf)("%08lx %08lx %08lx CIE\n",
3845 VG_(printf)("cie.version = %d\n", (Int)cie_version);
3849 how = "unexpected CIE version (not 1 nor 3 nor 4)";
3856 VG_(printf)("cie.augment = \"%s\"\n", cie_augmentation);
3881 VG_(printf)("cie.code_af = %d\n",
3890 VG_(printf)("cie.data_af = %d\n",
3904 VG_(printf)("cie.ra_reg = %d\n",
3912 how = "cie.ra_reg has implausible value";
3957 how = "unhandled cie.augmentation";
3968 VG_(printf)("cie.encoding = 0x%x\n",
3975 VG_(printf)("cie.instrs = %p\n", the_CIEs[this_CIE].instrs);
3976 VG_(printf)("cie.ilen = %d\n", the_CIEs[this_CIE].ilen);
3981 how = "implausible # cie initial insns";
3987 /* Show the CIE's instructions (the preamble for each FDE
3988 that uses this CIE). */
4011 Int cie;
4021 /* Find the relevant CIE. The CIE we want is located
4032 for (cie = 0; cie < n_CIEs; cie++) {
4034 look_for, the_CIEs[cie].offset );
4035 if (the_CIEs[cie].offset == look_for)
4038 vg_assert(cie >= 0 && cie <= n_CIEs);
4039 if (cie == n_CIEs) {
4040 how = "FDE refers to not-findable CIE";
4044 adi.encoding = the_CIEs[cie].address_encoding;
4053 adi.encoding = the_CIEs[cie].address_encoding & 0xf;
4080 VG_(printf)("%08lx %08lx %08lx FDE cie=%08lx pc=%08lx..%08lx\n",
4088 if (the_CIEs[cie].saw_z_augmentation) {
4145 adi.encoding = the_CIEs[cie].address_encoding;
4152 the_CIEs[cie].code_a_f,
4153 the_CIEs[cie].data_a_f );
4156 ctx.code_a_f = the_CIEs[cie].code_a_f;
4157 ctx.data_a_f = the_CIEs[cie].data_a_f;
4159 ctx.ra_reg = the_CIEs[cie].ra_reg;
4165 /* Run the CIE's instructions. Ugly hack: if
4168 at the time the CIE was first encountered. Note, not
4175 di, False, &ctx, the_CIEs[cie].instrs,
4176 the_CIEs[cie].ilen, 0, NULL, &adi
4181 the state created by running the CIE preamble