diff options
author | Stan Shebs <shebs@codesourcery.com> | 2008-08-11 19:00:25 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 2008-08-11 19:00:25 +0000 |
commit | 9d4fde7506bd543f837946511c7adf055148ff23 (patch) | |
tree | aadbf5e5a3f675f7d25a6ff8ac9ce7e08c9deb13 /gdb/arch-utils.c | |
parent | 90aecf7a80c1cefeb45fc10a6cd02c8338e34b4c (diff) | |
download | gdb-9d4fde7506bd543f837946511c7adf055148ff23.zip gdb-9d4fde7506bd543f837946511c7adf055148ff23.tar.gz gdb-9d4fde7506bd543f837946511c7adf055148ff23.tar.bz2 |
ARM BE8 support.
* disasm.c (gdb_disassemble_info): Set endian_code.
* gdbarch.sh (gdbarch_info): New field byte_order_for_code.
* gdbarch.h, gdbarch.c: Regenerate.
* arch-utils.c (initialize_current_architecture): Set the
default byte_order_for_code.
(gdbarch_info_init): Ditto.
(gdbarch_info_fill): Ditto.
* arm-tdep.c (SWAP_INT, SWAP_SHORT): New macros.
(thumb_analyze_prologue): Swap halfword if code endianness is
different from general endianness.
(arm_skip_prologue): Similarly.
(arm_scan_prologue): Ditto.
(thumb_get_next_pc): Ditto.
(arm_get_next_pc): Ditto.
(arm_gdbarch_init): Set byte_order_for_code from BE8 flag,
choose correct endianness for breakpoints.
Diffstat (limited to 'gdb/arch-utils.c')
-rw-r--r-- | gdb/arch-utils.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 259d1e3..a2fd7b6 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -629,6 +629,7 @@ initialize_current_architecture (void) } info.byte_order = default_byte_order; + info.byte_order_for_code = info.byte_order; if (! gdbarch_update_p (info)) internal_error (__FILE__, __LINE__, @@ -667,6 +668,7 @@ gdbarch_info_init (struct gdbarch_info *info) { memset (info, 0, sizeof (struct gdbarch_info)); info->byte_order = BFD_ENDIAN_UNKNOWN; + info->byte_order_for_code = info->byte_order; info->osabi = GDB_OSABI_UNINITIALIZED; } @@ -708,6 +710,7 @@ gdbarch_info_fill (struct gdbarch_info *info) /* From the default. */ if (info->byte_order == BFD_ENDIAN_UNKNOWN) info->byte_order = default_byte_order; + info->byte_order_for_code = info->byte_order; /* "(gdb) set osabi ...". Handled by gdbarch_lookup_osabi. */ if (info->osabi == GDB_OSABI_UNINITIALIZED) |