X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Farc-tdep.c;h=825e55bd4fc2a507dcb4166972b66007f7a3afe8;hb=b6849f55b93759fa93a28c749cee6b799000067e;hp=8b69770edbe016fb746c5f1d75f6fc0063542776;hpb=a14ed312fd86dd2c862847230931451da2e49942;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index 8b69770edb..825e55bd4f 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -1,5 +1,5 @@ /* ARC target-dependent stuff. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. + Copyright 1995, 1996, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GDB. @@ -26,6 +26,7 @@ #include "floatformat.h" #include "symtab.h" #include "gdbcmd.h" +#include "regcache.h" /* Local functions */ @@ -44,13 +45,11 @@ struct } arc_cpu_type_table[] = { - { - "base", bfd_mach_arc_base - } - , - { - NULL, 0 - } + { "arc5", bfd_mach_arc_5 }, + { "arc6", bfd_mach_arc_6 }, + { "arc7", bfd_mach_arc_7 }, + { "arc8", bfd_mach_arc_8 }, + { NULL, 0 } }; /* Used by simulator. */ @@ -114,8 +113,7 @@ static int codestream_cnt; : codestream_buf[codestream_off++]) static unsigned int -codestream_fill (peek_flag) - int peek_flag; +codestream_fill (int peek_flag) { codestream_addr = codestream_next_addr; codestream_next_addr += CODESTREAM_BUFSIZ * sizeof (codestream_buf[0]); @@ -142,8 +140,7 @@ codestream_fill (peek_flag) } static void -codestream_seek (place) - CORE_ADDR place; +codestream_seek (CORE_ADDR place) { codestream_next_addr = place / CODESTREAM_BUFSIZ; codestream_next_addr *= CODESTREAM_BUFSIZ; @@ -156,9 +153,7 @@ codestream_seek (place) /* This function is currently unused but leave in for now. */ static void -codestream_read (buf, count) - unsigned int *buf; - int count; +codestream_read (unsigned int *buf, int count) { unsigned int *p; int i; @@ -170,8 +165,7 @@ codestream_read (buf, count) /* Set up prologue scanning and return the first insn. */ static unsigned int -setup_prologue_scan (pc) - CORE_ADDR pc; +setup_prologue_scan (CORE_ADDR pc) { unsigned int insn; @@ -189,8 +183,7 @@ setup_prologue_scan (pc) */ static long -arc_get_frame_setup (pc) - CORE_ADDR pc; +arc_get_frame_setup (CORE_ADDR pc) { unsigned int insn; /* Size of frame or -1 if unrecognizable prologue. */ @@ -277,9 +270,7 @@ arc_get_frame_setup (pc) This allows a quicker answer. */ CORE_ADDR -arc_skip_prologue (pc, frameless_p) - CORE_ADDR pc; - int frameless_p; +arc_skip_prologue (CORE_ADDR pc, int frameless_p) { unsigned int insn; int i, frame_size; @@ -310,8 +301,7 @@ arc_skip_prologue (pc, frameless_p) This is taken from frameless_look_for_prologue. */ CORE_ADDR -arc_frame_saved_pc (frame) - struct frame_info *frame; +arc_frame_saved_pc (struct frame_info *frame) { CORE_ADDR func_start; unsigned int insn; @@ -357,9 +347,7 @@ arc_frame_saved_pc (frame) */ void -frame_find_saved_regs (fip, fsrp) - struct frame_info *fip; - struct frame_saved_regs *fsrp; +frame_find_saved_regs (struct frame_info *fip, struct frame_saved_regs *fsrp) { long locals; unsigned int insn; @@ -472,9 +460,7 @@ insn_type; /* ??? Need to verify all cases are properly handled. */ static insn_type -get_insn_type (insn, pc, target) - unsigned long insn; - CORE_ADDR pc, *target; +get_insn_type (unsigned long insn, CORE_ADDR pc, CORE_ADDR *target) { unsigned long limm; @@ -535,9 +521,8 @@ get_insn_type (insn, pc, target) set up a simulated single-step, we undo our damage. */ void -arc_software_single_step (ignore, insert_breakpoints_p) - enum target_signal ignore; /* sig but we don't need it */ - int insert_breakpoints_p; +arc_software_single_step (enum target_signal ignore, /* sig but we don't need it */ + int insert_breakpoints_p) { static CORE_ADDR next_pc, target; static int brktrg_p; @@ -593,8 +578,7 @@ arc_software_single_step (ignore, insert_breakpoints_p) This routine returns true on success. */ int -get_longjmp_target (pc) - CORE_ADDR *pc; +get_longjmp_target (CORE_ADDR *pc) { char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; CORE_ADDR sp, jb_addr; @@ -621,9 +605,7 @@ get_longjmp_target (pc) /* Disassemble one instruction. */ static int -arc_print_insn (vma, info) - bfd_vma vma; - disassemble_info *info; +arc_print_insn (bfd_vma vma, disassemble_info *info) { static int current_mach; static int current_endian; @@ -635,8 +617,7 @@ arc_print_insn (vma, info) { current_mach = arc_bfd_mach_type; current_endian = TARGET_BYTE_ORDER; - current_disasm = arc_get_disassembler (current_mach, - current_endian == BIG_ENDIAN); + current_disasm = arc_get_disassembler (NULL); } return (*current_disasm) (vma, info); @@ -656,7 +637,7 @@ arc_set_cpu_type_command (char *args, int from_tty) printf_unfiltered ("%s\n", arc_cpu_type_table[i].name); /* Restore the value. */ - tmp_arc_cpu_type = strsave (arc_cpu_type); + tmp_arc_cpu_type = xstrdup (arc_cpu_type); return; } @@ -665,14 +646,12 @@ arc_set_cpu_type_command (char *args, int from_tty) { error ("Unknown cpu type `%s'.", tmp_arc_cpu_type); /* Restore its value. */ - tmp_arc_cpu_type = strsave (arc_cpu_type); + tmp_arc_cpu_type = xstrdup (arc_cpu_type); } } static void -arc_show_cpu_type_command (args, from_tty) - char *args; - int from_tty; +arc_show_cpu_type_command (char *args, int from_tty) { } @@ -680,8 +659,7 @@ arc_show_cpu_type_command (args, from_tty) Result is a boolean indicating success. */ static int -arc_set_cpu_type (str) - char *str; +arc_set_cpu_type (char *str) { int i, j; @@ -702,7 +680,7 @@ arc_set_cpu_type (str) } void -_initialize_arc_tdep () +_initialize_arc_tdep (void) { struct cmd_list_element *c; @@ -718,9 +696,9 @@ cpu-type-specific registers and recognize cpu-type-specific instructions.\ c = add_show_from_set (c, &showlist); c->function.cfunc = arc_show_cpu_type_command; - /* We have to use strsave here because the `set' command frees it before - setting a new value. */ - tmp_arc_cpu_type = strsave (DEFAULT_ARC_CPU_TYPE); + /* We have to use xstrdup() here because the `set' command frees it + before setting a new value. */ + tmp_arc_cpu_type = xstrdup (DEFAULT_ARC_CPU_TYPE); arc_set_cpu_type (tmp_arc_cpu_type); c = add_set_cmd ("displaypipeline", class_support, var_zinteger,