Home | History | Annotate | Download | only in gas

Lines Matching defs:xlate_ctx

1073   struct sframe_xlate_ctx* xlate_ctx = XCNEW (struct sframe_xlate_ctx);
1074 return xlate_ctx;
1080 sframe_xlate_ctx_init (struct sframe_xlate_ctx *xlate_ctx)
1082 xlate_ctx->dw_fde = NULL;
1083 xlate_ctx->flex_p = false;
1084 xlate_ctx->first_fre = NULL;
1085 xlate_ctx->last_fre = NULL;
1086 xlate_ctx->cur_fre = NULL;
1087 xlate_ctx->remember_fre = NULL;
1088 xlate_ctx->num_xlate_fres = 0;
1094 sframe_xlate_ctx_cleanup (struct sframe_xlate_ctx *xlate_ctx)
1096 sframe_row_entry_free (xlate_ctx->first_fre);
1097 XDELETE (xlate_ctx->remember_fre);
1098 xlate_ctx->remember_fre = NULL;
1099 XDELETE (xlate_ctx->cur_fre);
1100 xlate_ctx->cur_fre = NULL;
1106 sframe_xlate_ctx_finalize (struct sframe_xlate_ctx *xlate_ctx,
1109 sframe_fde->dw_fde = xlate_ctx->dw_fde;
1110 sframe_fde->fde_flex_p = xlate_ctx->flex_p;
1111 sframe_fde->sframe_fres = xlate_ctx->first_fre;
1112 sframe_fde->num_fres = xlate_ctx->num_xlate_fres;
1115 XDELETE (xlate_ctx->remember_fre);
1116 xlate_ctx->remember_fre = NULL;
1123 sframe_xlate_ctx_get_cur_cfa_reg (const struct sframe_xlate_ctx *xlate_ctx)
1125 gas_assert (xlate_ctx && xlate_ctx->cur_fre);
1127 return xlate_ctx->cur_fre->cfa_base_reg;
1134 sframe_xlate_ctx_add_fre (struct sframe_xlate_ctx *xlate_ctx,
1137 gas_assert (xlate_ctx && fre);
1140 if (!xlate_ctx->first_fre)
1141 xlate_ctx->first_fre = fre;
1142 else if (xlate_ctx->last_fre)
1143 xlate_ctx->last_fre->next = fre;
1145 xlate_ctx->last_fre = fre;
1148 xlate_ctx->num_xlate_fres++;
1204 sframe_xlate_do_advance_loc (struct sframe_xlate_ctx *xlate_ctx,
1207 struct sframe_row_entry *last_fre = xlate_ctx->last_fre;
1211 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1219 sframe_xlate_ctx_add_fre (xlate_ctx, cur_fre);
1220 last_fre = xlate_ctx->last_fre;
1222 xlate_ctx->cur_fre = sframe_row_entry_new ();
1223 cur_fre = xlate_ctx->cur_fre;
1236 xlate_ctx->cur_fre = sframe_row_entry_new ();
1237 cur_fre = xlate_ctx->cur_fre;
1250 sframe_xlate_do_def_cfa (struct sframe_xlate_ctx *xlate_ctx,
1255 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1258 xlate_ctx->cur_fre = sframe_row_entry_new ();
1259 cur_fre = xlate_ctx->cur_fre;
1261 get_dw_fde_start_addrS (xlate_ctx->dw_fde));
1295 xlate_ctx->flex_p = true;
1310 sframe_xlate_do_def_cfa_register (struct sframe_xlate_ctx *xlate_ctx,
1313 const struct sframe_row_entry *last_fre = xlate_ctx->last_fre;
1315 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1333 xlate_ctx->flex_p = true;
1350 sframe_xlate_do_def_cfa_offset (struct sframe_xlate_ctx *xlate_ctx,
1356 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1357 unsigned int cur_cfa_reg = sframe_xlate_ctx_get_cur_cfa_reg (xlate_ctx);
1393 sframe_xlate_do_offset (struct sframe_xlate_ctx *xlate_ctx,
1399 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1449 xlate_ctx->flex_p = true;
1464 sframe_xlate_do_val_offset (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
1503 sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx,
1508 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1517 xlate_ctx->flex_p = true;
1527 xlate_ctx->flex_p = true;
1553 sframe_xlate_do_remember_state (struct sframe_xlate_ctx *xlate_ctx)
1555 const struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1567 if (!xlate_ctx->remember_fre)
1568 xlate_ctx->remember_fre = sframe_row_entry_new ();
1569 sframe_row_entry_initialize (xlate_ctx->remember_fre, cur_fre);
1578 sframe_xlate_do_restore_state (struct sframe_xlate_ctx *xlate_ctx)
1583 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1585 gas_assert (xlate_ctx->remember_fre);
1589 sframe_row_entry_initialize (cur_fre, xlate_ctx->remember_fre);
1600 sframe_xlate_do_restore (struct sframe_xlate_ctx *xlate_ctx,
1603 struct sframe_row_entry *cie_fre = xlate_ctx->first_fre;
1607 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1644 sframe_xlate_do_aarch64_negate_ra_state (struct sframe_xlate_ctx *xlate_ctx,
1647 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1661 sframe_xlate_do_aarch64_negate_ra_state_with_pc (struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
1681 sframe_xlate_do_gnu_window_save (struct sframe_xlate_ctx *xlate_ctx,
1689 return sframe_xlate_do_aarch64_negate_ra_state (xlate_ctx, cfi_insn);
1740 sframe_xlate_do_escape_cfa_expr (struct sframe_xlate_ctx *xlate_ctx,
1803 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1811 xlate_ctx->flex_p = true;
1840 sframe_xlate_do_escape_expr (struct sframe_xlate_ctx *xlate_ctx,
1906 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
1913 xlate_ctx->flex_p = true;
1922 || reg == sframe_xlate_ctx_get_cur_cfa_reg (xlate_ctx))
1949 sframe_xlate_do_escape_val_offset (const struct sframe_xlate_ctx *xlate_ctx,
2001 err = sframe_xlate_do_val_offset (xlate_ctx, &temp, true);
2029 sframe_xlate_do_escape_gnu_args_size (const struct sframe_xlate_ctx *xlate_ctx,
2056 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
2060 || sframe_xlate_ctx_get_cur_cfa_reg (xlate_ctx) == SFRAME_CFA_FP_REG)
2087 sframe_xlate_do_cfi_escape (struct sframe_xlate_ctx *xlate_ctx,
2124 err = sframe_xlate_do_escape_cfa_expr (xlate_ctx, cfi_insn, &warn_p);
2128 err = sframe_xlate_do_escape_expr (xlate_ctx, cfi_insn, &warn_p);
2132 err = sframe_xlate_do_escape_val_offset (xlate_ctx, cfi_insn, &warn_p);
2136 err = sframe_xlate_do_escape_gnu_args_size (xlate_ctx, cfi_insn, &warn_p);
2174 sframe_xlate_do_cfi_undefined (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
2188 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
2234 sframe_xlate_do_same_value (const struct sframe_xlate_ctx *xlate_ctx,
2237 struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
2304 sframe_do_cfi_insn (struct sframe_xlate_ctx *xlate_ctx,
2316 err = sframe_xlate_do_advance_loc (xlate_ctx, cfi_insn);
2319 err = sframe_xlate_do_def_cfa (xlate_ctx, cfi_insn);
2322 err = sframe_xlate_do_def_cfa_register (xlate_ctx, cfi_insn);
2325 err = sframe_xlate_do_def_cfa_offset (xlate_ctx, cfi_insn);
2328 err = sframe_xlate_do_offset (xlate_ctx, cfi_insn);
2331 err = sframe_xlate_do_val_offset (xlate_ctx, cfi_insn, false);
2334 err = sframe_xlate_do_remember_state (xlate_ctx);
2337 err = sframe_xlate_do_restore_state (xlate_ctx);
2340 err = sframe_xlate_do_restore (xlate_ctx, cfi_insn);
2345 err = sframe_xlate_do_gnu_window_save (xlate_ctx, cfi_insn);
2348 err = sframe_xlate_do_aarch64_negate_ra_state_with_pc (xlate_ctx, cfi_insn);
2351 err = sframe_xlate_do_register (xlate_ctx, cfi_insn);
2354 err = sframe_xlate_do_cfi_escape (xlate_ctx, cfi_insn);
2357 err = sframe_xlate_do_cfi_undefined (xlate_ctx, cfi_insn);
2360 err = sframe_xlate_do_same_value (xlate_ctx, cfi_insn);
2382 sframe_do_fde (struct sframe_xlate_ctx *xlate_ctx,
2388 xlate_ctx->dw_fde = dw_fde;
2391 if (xlate_ctx->dw_fde->return_column != DWARF2_DEFAULT_RETURN_COLUMN)
2394 xlate_ctx->dw_fde->return_column);
2402 err = sframe_do_cfi_insn (xlate_ctx, cfi_insn);
2413 if (xlate_ctx->cur_fre)
2415 sframe_xlate_ctx_add_fre (xlate_ctx, xlate_ctx->cur_fre);
2416 xlate_ctx->cur_fre = NULL;
2419 if (xlate_ctx->last_fre)
2421 xlate_ctx->last_fre->pc_end
2422 = get_dw_fde_end_addrS (xlate_ctx->dw_fde);
2433 if (xlate_ctx->num_xlate_fres > UINT16_MAX)
2446 for (fre = xlate_ctx->first_fre; fre; fre = fre->next)
2473 struct sframe_xlate_ctx *xlate_ctx = sframe_xlate_ctx_alloc ();
2479 sframe_xlate_ctx_init (xlate_ctx);
2482 int err = sframe_do_fde (xlate_ctx, dw_fde);
2485 sframe_xlate_ctx_cleanup (xlate_ctx);
2486 xlate_ctx->flex_p = false;
2492 sframe_xlate_ctx_cleanup (xlate_ctx);
2499 sframe_xlate_ctx_finalize (xlate_ctx, sframe_fde);
2505 XDELETE (xlate_ctx);