aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2002-09-15 13:53:36 +0000
committerMark Kettenis <kettenis@gnu.org>2002-09-15 13:53:36 +0000
commit5e3397bbf777d0e16f464c38ec11d96496232be1 (patch)
tree3fe8447ca76ac896b4ab94b278df58f3459ec2e2 /gdb/i386-tdep.c
parentf9a38f5388c61a520aabec49abb54d51f970911d (diff)
downloadfsf-binutils-gdb-5e3397bbf777d0e16f464c38ec11d96496232be1.zip
fsf-binutils-gdb-5e3397bbf777d0e16f464c38ec11d96496232be1.tar.gz
fsf-binutils-gdb-5e3397bbf777d0e16f464c38ec11d96496232be1.tar.bz2
* i386-tdep.c (gdb_print_insn_i386): Removed.
(i386_print_insn): New function. (i386_gdbarch_init): Set print_insn to i386_print_insns. (_initialize_i386_tdep): Don't initialize tm_print_insn and tm_print_insn_info.
Diffstat (limited to 'gdb/i386-tdep.c')
-rw-r--r--gdb/i386-tdep.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 5b34417..3a90bc0 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1288,15 +1288,17 @@ i386_pc_in_sigtramp (CORE_ADDR pc, char *name)
deals with switching between those. */
static int
-gdb_print_insn_i386 (bfd_vma memaddr, disassemble_info *info)
+i386_print_insn (bfd_vma pc, disassemble_info *info)
{
- if (disassembly_flavor == att_flavor)
- return print_insn_i386_att (memaddr, info);
- else if (disassembly_flavor == intel_flavor)
- return print_insn_i386_intel (memaddr, info);
- /* Never reached -- disassembly_flavour is always either att_flavor
- or intel_flavor. */
- internal_error (__FILE__, __LINE__, "failed internal consistency check");
+ gdb_assert (disassembly_flavor == att_flavor
+ || disassembly_flavor == intel_flavor);
+
+ /* FIXME: kettenis/20020915: Until disassembler_options is properly
+ constified, cast to prevent a compiler warning. */
+ info->disassembler_options = (char *) disassembly_flavor;
+ info->mach = gdbarch_bfd_arch_info (current_gdbarch)->mach;
+
+ return print_insn_i386 (pc, info);
}
@@ -1569,6 +1571,8 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_pseudo_register_read (gdbarch, i386_pseudo_register_read);
set_gdbarch_pseudo_register_write (gdbarch, i386_pseudo_register_write);
+ set_gdbarch_print_insn (gdbarch, i386_print_insn);
+
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch, osabi);
@@ -1600,9 +1604,6 @@ _initialize_i386_tdep (void)
{
register_gdbarch_init (bfd_arch_i386, i386_gdbarch_init);
- tm_print_insn = gdb_print_insn_i386;
- tm_print_insn_info.mach = bfd_lookup_arch (bfd_arch_i386, 0)->mach;
-
/* Add the variable that controls the disassembly flavor. */
{
struct cmd_list_element *new_cmd;
@@ -1623,7 +1624,7 @@ and the default value is \"att\".",
struct cmd_list_element *new_cmd;
new_cmd = add_set_enum_cmd ("struct-convention", no_class,
- valid_conventions,
+ valid_conventions,
&struct_convention, "\
Set the convention for returning small structs, valid values \
are \"default\", \"pcc\" and \"reg\", and the default value is \"default\".",