* gdb.base/corefile.exp: Recognize the message saying that GDB
[deliverable/binutils-gdb.git] / gdb / sparc-tdep.c
index 2bb951115a049737b5c11ee028886f4968a4aa75..1910b1b182e51e2b35508c355f649caa2a813455 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for the SPARC for GDB, the GNU debugger.
-   Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997
-   Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
+   1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -30,6 +30,7 @@
 #include "value.h"
 #include "bfd.h"
 #include "gdb_string.h"
+#include "regcache.h"
 
 #ifdef USE_PROC_FS
 #include <sys/procfs.h>
@@ -526,7 +527,8 @@ setup_arbitrary_frame (int argc, CORE_ADDR *argv)
   frame = create_new_frame (argv[0], 0);
 
   if (!frame)
-    internal_error ("create_new_frame returned invalid frame");
+    internal_error (__FILE__, __LINE__,
+                   "create_new_frame returned invalid frame");
 
   frame->extra_info->bottom = argv[1];
   frame->pc = FRAME_SAVED_PC (frame);
@@ -1053,7 +1055,8 @@ sparc_frame_find_saved_regs (struct frame_info *fi, CORE_ADDR *saved_regs_addr)
   CORE_ADDR frame_addr = FRAME_FP (fi);
 
   if (!fi)
-    internal_error ("Bad frame info struct in FRAME_FIND_SAVED_REGS");
+    internal_error (__FILE__, __LINE__,
+                   "Bad frame info struct in FRAME_FIND_SAVED_REGS");
 
   memset (saved_regs_addr, 0, NUM_REGS * sizeof (CORE_ADDR));
 
@@ -1980,7 +1983,7 @@ gdb_print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
    args are also passed in registers o0 - o5.  */
 
 CORE_ADDR
-sparc32_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
+sparc32_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
                        int struct_return, CORE_ADDR struct_addr)
 {
   int i, j, oregnum;
@@ -1999,7 +2002,7 @@ sparc32_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
      and sizes. */
   for (i = 0, m_arg = sparc_args; i < nargs; i++, m_arg++)
     {
-      value_ptr arg = args[i];
+      struct value *arg = args[i];
       struct type *arg_type = check_typedef (VALUE_TYPE (arg));
       /* Cast argument to long if necessary as the compiler does it too.  */
       switch (TYPE_CODE (arg_type))
@@ -2060,7 +2063,7 @@ sparc32_extract_return_value (struct type *type, char *regbuf, char *valbuf)
     memcpy (valbuf,
            &regbuf[O0_REGNUM * regsize +
                    (typelen >= regsize
-                    || TARGET_BYTE_ORDER == LITTLE_ENDIAN ? 0
+                    || TARGET_BYTE_ORDER == BFD_ENDIAN_LITTLE ? 0
                     : regsize - typelen)],
            typelen);
 }
@@ -2199,7 +2202,7 @@ sparc_target_architecture_hook (const bfd_arch_info_type *ap)
     {
       if (TARGET_BYTE_ORDER_SELECTABLE_P)
        {
-         target_byte_order = LITTLE_ENDIAN;
+         target_byte_order = BFD_ENDIAN_LITTLE;
          bi_endian = 1;
        }
       else
@@ -2289,7 +2292,7 @@ sparc64_write_fp (CORE_ADDR val)
    int and float, we will waste every other register of both types.  */
 
 CORE_ADDR
-sparc64_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
+sparc64_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
                        int struct_return, CORE_ADDR struct_retaddr)
 {
   int i, j, register_counter = 0;
@@ -2304,7 +2307,7 @@ sparc64_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
   for (i = nargs - 1; i >= 0; i--)
     {
       int len = TYPE_LENGTH (check_typedef (VALUE_TYPE (args[i])));
-      value_ptr copyarg = args[i];
+      struct value *copyarg = args[i];
       int copylen = len;
 
       if (copylen < SPARC_INTREG_SIZE)
@@ -2330,7 +2333,7 @@ sparc64_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
   for (i = 0; i < nargs; i++)
     {
       int len = TYPE_LENGTH (check_typedef (VALUE_TYPE (args[i])));
-      value_ptr copyarg = args[i];
+      struct value *copyarg = args[i];
       enum type_code typecode = TYPE_CODE (VALUE_TYPE (args[i]));
       int copylen = len;
 
@@ -2378,6 +2381,8 @@ sparc64_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
                fpreg = FP0_REGNUM + 2 * register_counter;
                register_counter += 2;
                break;
+             default:
+               internal_error (__FILE__, __LINE__, "bad switch");
              }
              write_register_bytes (REGISTER_BYTE (fpreg),
                                    VALUE_CONTENTS (args[i]),
@@ -2926,7 +2931,7 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
     return arches->gdbarch;
 
   /* None found: is the request for a sparc architecture? */
-  if (info.bfd_architecture != bfd_arch_sparc)
+  if (info.bfd_arch_info->arch != bfd_arch_sparc)
     return NULL;       /* No; then it's not for us.  */
 
   /* Yes: create a new gdbarch for the specified machine type.  */
This page took 0.028503 seconds and 4 git commands to generate.