Home | History | Annotate | Download | only in m_debuginfo

Lines Matching refs:cfi

91 // that Valgrind uses for CFI information.  Hence Valgrind's CFI
117 // * .. TranslateCmd, which generates the pseudo-CFI
582 rules in |cfi| will almost certainly refer to the CFA, and so
598 DiCfSI_m cfi;
600 // For generating CFI register expressions, if needed.
654 /* Set cfi.cfa_{how,off} so as to be a copy of the expression denoted
658 Bool setCFAfromCFIR( /*MOD*/DiCfSI_m* cfi, XArray*/*CfiExpr*/ cfsi_exprs,
667 cfi->cfa_how = CFIC_ARM_R7REL;
668 cfi->cfa_off = 0;
687 static Bool mentionsCFA ( DiCfSI_m* cfi )
690 if (MENTIONS_CFA(cfi->ra_how)) return True;
691 if (MENTIONS_CFA(cfi->r14_how)) return True;
692 if (MENTIONS_CFA(cfi->r13_how)) return True;
693 if (MENTIONS_CFA(cfi->r12_how)) return True;
694 if (MENTIONS_CFA(cfi->r11_how)) return True;
695 if (MENTIONS_CFA(cfi->r7_how)) return True;
707 switch (state->cfi.cfa_how) {
723 if (state->cfi.ra_how == CFIR_UNKNOWN) {
724 if (state->cfi.r14_how == CFIR_UNKNOWN) {
725 state->cfi.ra_how = CFIR_EXPR;
726 state->cfi.ra_off = gen_CfiExpr_CfiReg_ARM_GPR(state->di, 14);
727 vg_assert(state->cfi.ra_off >= 0);
729 state->cfi.ra_how = state->cfi.r14_how;
730 state->cfi.ra_off = state->cfi.r14_off;
751 maybeFindExprForRegno(&rX_howP, &rX_offP, &state->cfi, i);
755 in |state->cfi|. Hence the following assignments
756 are really updating |state->cfi|. */
769 //state->cfi.cfa_how =
770 //state->cfi.cfa_off =
782 if (mentionsCFA(&state->cfi))
789 maybeFindExprForRegno(&rX_howP, &rX_offP, &state->cfi, reg_no);
796 state->cfi.r13_how = CFIR_EXPR;
797 state->cfi.r13_off = expr_ix;
803 state->cfi.r13_how = *rX_howP;
804 state->cfi.r13_off = *rX_offP;
807 Bool ok = setCFAfromCFIR( &state->cfi, state->di->cfsi_exprs,
808 state->cfi.r13_how, state->cfi.r13_off );
868 state->cfi.cfa_how = CFIC_ARM_R13REL;
869 state->cfi.cfa_off = 0;
870 state->cfi.ra_how = CFIR_UNKNOWN;
871 state->cfi.r14_how = CFIR_UNKNOWN;
872 state->cfi.r13_how = CFIR_UNKNOWN;
873 state->cfi.r12_how = CFIR_UNKNOWN;
874 state->cfi.r11_how = CFIR_UNKNOWN;
875 state->cfi.r7_how = CFIR_UNKNOWN;
889 switch (state->cfi.cfa_how) {
894 state->cfi.r13_how = CFIR_CFAREL;
895 state->cfi.r13_off = state->vsp_off;
901 // with the CFI summariser:
905 if (state->cfi.r7_how == CFIR_UNKNOWN) {
906 state->cfi.r7_how = CFIR_SAME;
907 state->cfi.r7_off = 0;
909 if (state->cfi.r11_how == CFIR_UNKNOWN) {
910 state->cfi.r11_how = CFIR_SAME;
911 state->cfi.r11_off = 0;
913 if (state->cfi.r12_how == CFIR_UNKNOWN) {
914 state->cfi.r12_how = CFIR_SAME;
915 state->cfi.r12_off = 0;
917 if (state->cfi.r14_how == CFIR_UNKNOWN) {
918 state->cfi.r14_how = CFIR_SAME;
919 state->cfi.r14_off = 0;
923 cfi);
925 ML_(ppDiCfSI)(di->cfsi_exprs, avma, len, &state->cfi);
984 // have been given. So as to avoid junking up the CFI unwind
1065 // create CFI entries that Valgrind can use. This can also fail.
1067 // ExtabEntryDecode will write the CFI entries.