diff options
Diffstat (limited to 'gdb/bfin-tdep.c')
-rw-r--r-- | gdb/bfin-tdep.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index d381f92..355f9f4 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -766,7 +766,8 @@ bfin_frame_align (struct gdbarch *gdbarch, CORE_ADDR address) enum bfin_abi bfin_abi (struct gdbarch *gdbarch) { - return gdbarch_tdep (gdbarch)->bfin_abi; + bfin_gdbarch_tdep *tdep = (bfin_gdbarch_tdep *) gdbarch_tdep (gdbarch); + return tdep->bfin_abi; } /* Initialize the current architecture based on INFO. If possible, @@ -779,7 +780,6 @@ bfin_abi (struct gdbarch *gdbarch) static struct gdbarch * bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { - struct gdbarch_tdep *tdep; struct gdbarch *gdbarch; enum bfin_abi abi; @@ -791,12 +791,16 @@ bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) arches != NULL; arches = gdbarch_list_lookup_by_info (arches->next, &info)) { - if (gdbarch_tdep (arches->gdbarch)->bfin_abi != abi) + bfin_gdbarch_tdep *tdep + = (bfin_gdbarch_tdep *) gdbarch_tdep (arches->gdbarch); + + if (tdep->bfin_abi != abi) continue; + return arches->gdbarch; } - tdep = XCNEW (struct gdbarch_tdep); + bfin_gdbarch_tdep *tdep = new bfin_gdbarch_tdep; gdbarch = gdbarch_alloc (&info, tdep); tdep->bfin_abi = abi; |