* environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h,
authorJohn Gilmore <gnu@cygnus>
Fri, 21 Feb 1992 01:31:56 +0000 (01:31 +0000)
committerJohn Gilmore <gnu@cygnus>
Fri, 21 Feb 1992 01:31:56 +0000 (01:31 +0000)
inferior.h, language.h, signame.h, target.h, terminal.h,
tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h,
xm-i386v.h, xm-sparc.h: Prototypes for all external functions.
Lint.

gdb/ChangeLog
gdb/language.h
gdb/signame.h
gdb/target.h
gdb/tm-68k.h
gdb/tm-i386v.h
gdb/tm-sparc.h
gdb/tm-sun386.h
gdb/tm-symmetry.h
gdb/xm-i386v.h
gdb/xm-sparc.h

index 7a53ccfa804e6b058bb81598a12119bd9d98a9d0..059ae53a4aad466d49e37ca41ef16d9e697736bd 100644 (file)
@@ -1,4 +1,29 @@
-Thu Feb 20 09:04:18 1992  John Gilmore  (gnu at cygnus.com)
+Thu Feb 20 16:43:13 1992  Fred Fish  (fnf at cygnus.com)
+
+       * environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h,
+       inferior.h, language.h, signame.h, target.h, terminal.h, 
+       tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h,
+       xm-i386v.h, xm-sparc.h: Prototypes for all external functions.
+       Lint.
+       * core.c, exec.c, infrun.c, inftarg.c, language.c, remote.c,
+       signame.c, sparc-xdep.c: Prototypes for all static functions.
+       Lint.
+       * core.c, eval.c, exec.c, inftarg.c, remote-adapt.c, remote-eb.c,
+       remote-hms.c, remote-mm.c, remote-nindy.c, remote-vx.c, remote.c,
+       target.c, target.h, valarith.c, valops.c, value.h, xcoffexec.c:
+       Remove to_call_function and target_call_function, since it
+       always calls the same thing (call_function_by_hand).
+       * core.c, exec.c, solib.c:  Rename target_ops sections =>
+       to_sections, etc.
+       * infcmd.c, inflow.c, infptrace.c, infrun.c, main.c, target.c,
+       target.h:  target_kill takes no args.
+       * language.c (language_info):  Scaffolding to allow briefer
+       messages when the current language changes.  FIXME.
+       * xm-amix.h, xm-i386v4.h, xm-stratus.h: Define NORETURN to avoid
+       complaints about volatile functions.
+       * xm-sysv4.h (HAVE_MMAP):  Define.
+
+Thu Feb 20 09:04:18 1992  Fred Fish  (fnf at cygnus.com)
 
        * defs.h:  Include ansidecl.h and PARAMS macro.  Use PARAMS
        to make prototypes for all functions declared here.
 
        * defs.h:  Include ansidecl.h and PARAMS macro.  Use PARAMS
        to make prototypes for all functions declared here.
index 31d04df2ae84c6ff1690522e9fb4b7fd84567bba..a92497a06f2c94d361ae8c42010bc644a5e4fbde 100644 (file)
@@ -1,5 +1,5 @@
 /* Source-language-related definitions for GDB.
 /* Source-language-related definitions for GDB.
-   Copyright 1991 Free Software Foundation, Inc.
+   Copyright 1991, 1992 Free Software Foundation, Inc.
    Contributed by the Department of Computer Science at the State University
    of New York at Buffalo.
 
    Contributed by the Department of Computer Science at the State University
    of New York at Buffalo.
 
@@ -19,6 +19,14 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#if !defined (LANGUAGE_H)
+#define LANGUAGE_H 1
+
+#ifdef __STDC__                /* Forward defs for prototypes */
+struct value;
+enum exp_opcode;
+#endif
+
 /* This used to be included to configure GDB for one or more specific
    languages.  Now it is shortcutted to configure for all of them.  FIXME.  */
 /* #include "lang_def.h" */
 /* This used to be included to configure GDB for one or more specific
    languages.  Now it is shortcutted to configure for all of them.  FIXME.  */
 /* #include "lang_def.h" */
@@ -62,8 +70,8 @@ struct language_defn {
                  *la_builtin_type_vector;  /* Its builtin types */
   enum range_check la_range_check;     /* Default range checking */
   enum type_check  la_type_check;      /* Default type checking */
                  *la_builtin_type_vector;  /* Its builtin types */
   enum range_check la_range_check;     /* Default range checking */
   enum type_check  la_type_check;      /* Default type checking */
-  int           (*la_parser)();        /* Parser function */
-  void          (*la_error)();         /* Parser error function */
+  int            (*la_parser) PARAMS((void));  /* Parser function */
+  void           (*la_error) PARAMS ((char *)); /* Parser error function */
   struct type   **la_longest_int;      /* Longest signed integral type */
   struct type   **la_longest_unsigned_int; /* Longest uns integral type */
   struct type   **la_longest_float;    /* Longest floating point type */
   struct type   **la_longest_int;      /* Longest signed integral type */
   struct type   **la_longest_unsigned_int; /* Longest uns integral type */
   struct type   **la_longest_float;    /* Longest floating point type */
@@ -108,8 +116,12 @@ extern enum language_mode
 /* FIXME -- should be a setting in language_defn */
 #define CAST_IS_CONVERSION (current_language->la_language == language_c)
 
 /* FIXME -- should be a setting in language_defn */
 #define CAST_IS_CONVERSION (current_language->la_language == language_c)
 
-void language_info();
-void set_language();
+extern void
+language_info PARAMS ((int));
+
+extern void
+set_language PARAMS ((enum language));
+
 \f
 /* This page contains functions that return things that are
    specific to languages.  Each of these functions is based on
 \f
 /* This page contains functions that return things that are
    specific to languages.  Each of these functions is based on
@@ -120,7 +132,6 @@ void set_language();
 #define        longest_int()           (*current_language->la_longest_int)
 #define        longest_unsigned_int()  (*current_language->la_longest_unsigned_int)
 #define        longest_float()         (*current_language->la_longest_float)
 #define        longest_int()           (*current_language->la_longest_int)
 #define        longest_unsigned_int()  (*current_language->la_longest_unsigned_int)
 #define        longest_float()         (*current_language->la_longest_float)
-struct type *binop_result_type();
 
 /* Hexadecimal number formatting is in defs.h because it is so common
    throughout GDB.  */
 
 /* Hexadecimal number formatting is in defs.h because it is so common
    throughout GDB.  */
@@ -131,40 +142,81 @@ struct type *binop_result_type();
    options like "08" or "l" (to produce e.g. %08x or %lx).  */
 
 #define local_octal_format() (current_language->la_octal_format)
    options like "08" or "l" (to produce e.g. %08x or %lx).  */
 
 #define local_octal_format() (current_language->la_octal_format)
-char *local_octal_format_custom();
+
+extern char *
+local_octal_format_custom PARAMS ((char *));
 
 /* Type predicates */
 
 /* Type predicates */
-int simple_type();
-int ordered_type();
-int same_type();
-int integral_type();
-int numeric_type();
-int character_type();
-int boolean_type();
-int float_type();
-int pointer_type();
-int structured_type();
+
+extern int
+simple_type PARAMS ((struct type *));
+
+extern int
+ordered_type PARAMS ((struct type *));
+
+extern int
+same_type PARAMS ((struct type *, struct type *));
+
+extern int
+integral_type PARAMS ((struct type *));
+
+extern int
+numeric_type PARAMS ((struct type *));
+
+extern int
+character_type PARAMS ((struct type *));
+
+extern int
+boolean_type PARAMS ((struct type *));
+
+extern int
+float_type PARAMS ((struct type *));
+
+extern int
+pointer_type PARAMS ((struct type *));
+
+extern int
+structured_type PARAMS ((struct type *));
 
 /* Checks Binary and Unary operations for semantic type correctness */
 
 /* Checks Binary and Unary operations for semantic type correctness */
-void binop_type_check();
+/* FIXME:  Does not appear to be used */
 #define unop_type_check(v,o) binop_type_check((v),NULL,(o))
 
 #define unop_type_check(v,o) binop_type_check((v),NULL,(o))
 
+extern void
+binop_type_check PARAMS ((struct value *, struct value *, int));
+
 /* Error messages */
 /* Error messages */
-void op_error();
+
+extern void
+op_error PARAMS ((char *fmt, enum exp_opcode, int));
+
 #define type_op_error(f,o) \
    op_error((f),(o),type_check==type_check_on ? 1 : 0)
 #define range_op_error(f,o) \
    op_error((f),(o),range_check==range_check_on ? 1 : 0)
 #define type_op_error(f,o) \
    op_error((f),(o),type_check==type_check_on ? 1 : 0)
 #define range_op_error(f,o) \
    op_error((f),(o),range_check==range_check_on ? 1 : 0)
-void type_error();
-void range_error();
+
+extern void
+type_error ();
+
+void
+range_error ();
 
 /* Data:  Does this value represent "truth" to the current language?  */
 
 /* Data:  Does this value represent "truth" to the current language?  */
-int value_true();
+
+extern int
+value_true PARAMS ((struct value *));
 
 /* Misc:  The string representing a particular enum language.  */
 
 /* Misc:  The string representing a particular enum language.  */
-char *language_str();
+
+extern char *
+language_str PARAMS ((enum language));
 
 /* Add a language to the set known by GDB (at initialization time).  */
 
 /* Add a language to the set known by GDB (at initialization time).  */
-void add_language ();          /* Arg is &language_defn */
 
 
-extern enum language get_frame_language ();    /* In stack.c */
+extern void
+add_language PARAMS ((const struct language_defn *));
+
+extern enum language
+get_frame_language PARAMS ((void));            /* In stack.c */
+
+#endif /* defined (LANGUAGE_H) */
index 4b9cbf9559e891586a59b7479fac5e0ed3623a9d..caa1bba35b3a28ec8a10ec677fc58c15198391c7 100755 (executable)
@@ -1,5 +1,5 @@
 /* Convert between signal names and numbers.
 /* Convert between signal names and numbers.
-   Copyright (C) 1990 Free Software Foundation, Inc.
+   Copyright 1990, 1992 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -15,27 +15,29 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#if !defined (SIGNAME_H)
+#define SIGNAME_H 1
+
 /* Names for signals from 0 to NSIG-1.  */
 extern char *sys_siglist[];
 
 /* Names for signals from 0 to NSIG-1.  */
 extern char *sys_siglist[];
 
-#ifdef __STDC__
 /* Return the abbreviation (e.g. ABRT, FPE, etc.) for signal NUMBER.
    Do not return this as a const char *.  The caller might want to
    assign it to a char *.  */
 /* Return the abbreviation (e.g. ABRT, FPE, etc.) for signal NUMBER.
    Do not return this as a const char *.  The caller might want to
    assign it to a char *.  */
-char *sig_abbrev (int number);
+
+extern char *
+sig_abbrev PARAMS ((int));
 
 /* Return the signal number for an ABBREV, or -1 if there is no
    signal by that name.  */
 
 /* Return the signal number for an ABBREV, or -1 if there is no
    signal by that name.  */
-int sig_number (const char *abbrev);
+
+extern int
+sig_number PARAMS ((const char *));
 
 /* Print to standard error the name of SIGNAL, preceded by MESSAGE and
    a colon, and followed by a newline.  */
 
 /* Print to standard error the name of SIGNAL, preceded by MESSAGE and
    a colon, and followed by a newline.  */
-void psignal (unsigned signal, const char *message);
-
-#else
 
 
-char *sig_abbrev ();
-int sig_number ();
-void psignal ();
+extern void
+psignal PARAMS ((unsigned, const char *));
 
 
-#endif
+#endif /* !defined (SIGNAME_H) */
index 7bc64f006b61360c2942ee066cdecace2884899b..d4437ad73bd08e8af5c27c12c0aec9dc47f32963 100644 (file)
@@ -1,22 +1,25 @@
 /* Interface between GDB and target environments, including files and processes
 /* Interface between GDB and target environments, including files and processes
-   Copyright 1990, 1991 Free Software Foundation, Inc.
+   Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
    Contributed by Cygnus Support.  Written by John Gilmore.
 
 This file is part of GDB.
 
    Contributed by Cygnus Support.  Written by John Gilmore.
 
 This file is part of GDB.
 
-GDB is free software; you can redistribute it and/or modify
+This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
 
-GDB is distributed in the hope that it will be useful,
+This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GDB; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#if !defined (TARGET_H)
+#define TARGET_H
 
 /* This include file defines the interface between the main part
    of the debugger, and the part which is target-specific, or
 
 /* This include file defines the interface between the main part
    of the debugger, and the part which is target-specific, or
@@ -37,96 +40,62 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    it goes into the file stratum, which is always below the process
    stratum.  */
 
    it goes into the file stratum, which is always below the process
    stratum.  */
 
+#include "bfd.h"
+
 enum strata {
        dummy_stratum,          /* The lowest of the low */
        file_stratum,           /* Executable files, etc */
        core_stratum,           /* Core dump files */
 enum strata {
        dummy_stratum,          /* The lowest of the low */
        file_stratum,           /* Executable files, etc */
        core_stratum,           /* Core dump files */
-       process_stratum,        /* Executing processes */
+       process_stratum         /* Executing processes */
 };
 
 };
 
-struct target_ops {
-       char  *to_shortname;            /* Name this target type */
-       char  *to_longname;             /* Name for printing */
-       /* Documentation.  Does not include trailing newline, and
-          starts with a one-line description (probably similar to
-          to_longname).  */
-       char  *to_doc;
-#ifdef __STDC__
-       void (*to_open) (char *name, int from_tty);
-       void (*to_close) (int quitting);
-       void (*to_attach) (char *name, int from_tty);
-       void (*to_detach) (char *args, int from_tty);
-       void (*to_resume) (int step, int siggnal);
-       int  (*to_wait)   (int *status);
-       int  (*to_fetch_registers) (int regno);
-       int  (*to_store_registers) (int regno);
-       void (*to_prepare_to_store) ();
-       void (*to_convert_to_virtual) (int regnum, char *from, char *to);
-       void (*to_convert_from_virtual) (int regnum, char *from, char *to);
-       int  (*to_xfer_memory) (CORE_ADDR memaddr, char *myaddr, int len, int w);
-       void (*to_files_info) ();
-       int  (*to_insert_breakpoint) (CORE_ADDR addr, char *save);
-       int  (*to_remove_breakpoint) (CORE_ADDR addr, char *save);
-       void  (*to_terminal_init) ();
-       void  (*to_terminal_inferior) ();
-       void  (*to_terminal_ours_for_output) ();
-       void  (*to_terminal_ours) ();
-       void  (*to_terminal_info) (char *arg, int from_tty);
-       void  (*to_kill) (char *arg, int from_tty);
-       void  (*to_load) (char *arg, int from_tty);
-       void  (*to_add_syms) (char *arg, int from_tty);
-struct value *(*to_call_function) (struct value *function,
-                                  int nargs, struct value **args);
-       int   (*to_lookup_symbol) (char *name, CORE_ADDR *addrp);
-       void  (*to_create_inferior) (char *exec, char *args, char **env);
-       void  (*to_mourn_inferior) ();
-    enum strata to_stratum;
-struct target_ops *to_next;
-       int     to_has_all_memory;
-       int     to_has_memory;
-       int     to_has_stack;
-       int     to_has_registers;
-       int     to_has_execution;
-       int     to_magic;
-/* Need sub-structure for target machine related rather than comm related? */
-#else  /* STDC */
-       void (*to_open) ();
-       void (*to_close) ();
-       void (*to_attach) ();
-       void (*to_detach) ();
-       void (*to_resume) ();
-       int  (*to_wait)   ();
-       int  (*to_fetch_registers) ();
-       int  (*to_store_registers) ();
-       void (*to_prepare_to_store) ();
-       void (*to_convert_to_virtual) ();
-       void (*to_convert_from_virtual) ();
-       int  (*to_xfer_memory) ();
-       void (*to_files_info) ();
-       int  (*to_insert_breakpoint) ();
-       int  (*to_remove_breakpoint) ();
-       void  (*to_terminal_init) ();
-       void  (*to_terminal_inferior) ();
-       void  (*to_terminal_ours_for_output) ();
-       void  (*to_terminal_ours) ();
-       void  (*to_terminal_info) ();
-       void  (*to_kill) ();
-       void  (*to_load) ();
-       void  (*to_add_syms) ();
-struct value *(*to_call_function) ();
-       int   (*to_lookup_symbol) ();
-       void  (*to_create_inferior) ();
-       void  (*to_mourn_inferior) ();
-    enum strata to_stratum;
-struct target_ops *to_next;
-       int     to_has_all_memory;
-       int     to_has_memory;
-       int     to_has_stack;
-       int     to_has_registers;
-       int     to_has_execution;
-       int     to_magic;
-/* Need sub-structure for target machine related rather than comm related? */
-#endif
+struct target_ops
+{
+  char        *to_shortname;   /* Name this target type */
+  char        *to_longname;    /* Name for printing */
+  char                *to_doc;         /* Documentation.  Does not include trailing
+                                  newline, and starts with a one-line descrip-
+                                  tion (probably similar to to_longname). */
+  void               (*to_open) PARAMS ((char *, int));
+  void               (*to_close) PARAMS ((int));
+  void               (*to_attach) PARAMS ((char *, int));
+  void               (*to_detach) PARAMS ((char *, int));
+  void               (*to_resume) PARAMS ((int, int));
+  int                (*to_wait) PARAMS ((int *));
+  void               (*to_fetch_registers) PARAMS ((int));
+  void               (*to_store_registers) PARAMS ((int));
+  void               (*to_prepare_to_store) PARAMS ((void));
+  void               (*to_convert_to_virtual) PARAMS ((int, char *, char *));
+  void               (*to_convert_from_virtual) PARAMS ((int, char *, char *));
+  int                (*to_xfer_memory) PARAMS ((CORE_ADDR, char *, int, int,
+                                        struct target_ops *));
+  void               (*to_files_info) PARAMS ((struct target_ops *));
+  int                (*to_insert_breakpoint) PARAMS ((CORE_ADDR, char *));
+  int        (*to_remove_breakpoint) PARAMS ((CORE_ADDR, char *));
+  void               (*to_terminal_init) PARAMS ((void));
+  void               (*to_terminal_inferior) PARAMS ((void));
+  void               (*to_terminal_ours_for_output) PARAMS ((void));
+  void               (*to_terminal_ours) PARAMS ((void));
+  void               (*to_terminal_info) PARAMS ((char *, int));
+  void               (*to_kill) PARAMS ((void));
+  void               (*to_load) PARAMS ((char *, int));
+  int        (*to_lookup_symbol) PARAMS ((char *, CORE_ADDR *));
+  void               (*to_create_inferior) PARAMS ((char *, char *, char **));
+  void               (*to_mourn_inferior) PARAMS ((void));
+  enum strata   to_stratum;
+  struct target_ops
+              *to_next;
+  int          to_has_all_memory;
+  int          to_has_memory;
+  int          to_has_stack;
+  int          to_has_registers;
+  int          to_has_execution;
+  struct section_table
+              *to_sections;
+  struct section_table
+              *to_sections_end;
+  int          to_magic;
+  /* Need sub-structure for target machine related rather than comm related? */
 };
 
 /* Magic number for checking ops size.  If a struct doesn't end with this
 };
 
 /* Magic number for checking ops size.  If a struct doesn't end with this
@@ -189,8 +158,7 @@ extern struct target_ops    *current_target;
 #define        target_wait(status)             \
        (*current_target->to_wait) (status)
 
 #define        target_wait(status)             \
        (*current_target->to_wait) (status)
 
-/* Fetch register REGNO, or all regs if regno == -1.  Result is 0
-   for success, -1 for problems.  */
+/* Fetch register REGNO, or all regs if regno == -1.  No result.  */
 
 #define        target_fetch_registers(regno)   \
        (*current_target->to_fetch_registers) (regno)
 
 #define        target_fetch_registers(regno)   \
        (*current_target->to_fetch_registers) (regno)
@@ -227,22 +195,33 @@ extern struct target_ops  *current_target;
    function which iterates across the various targets.  Result is
    0 for success, or an errno value.  */
 
    function which iterates across the various targets.  Result is
    0 for success, or an errno value.  */
 
-#ifdef __STDC__
-/* Needs defs.h for CORE_ADDR */
-extern int target_read_memory(CORE_ADDR memaddr, char *myaddr, int len);
-extern int target_write_memory(CORE_ADDR memaddr, char *myaddr, int len);
-extern int target_xfer_memory(CORE_ADDR memaddr, char *myaddr, int len,
-                             int write);
-#else
-extern int target_read_memory();
-extern int target_write_memory();
-extern int target_xfer_memory();
-#endif
+extern int
+target_read_string PARAMS ((CORE_ADDR, char *, int));
+
+extern int
+target_read_memory PARAMS ((CORE_ADDR, char *, int));
+
+extern int
+target_write_memory PARAMS ((CORE_ADDR, char *, int));
+
+extern int
+xfer_memory PARAMS ((CORE_ADDR, char *, int, int, struct target_ops *));
+
+extern int
+child_xfer_memory PARAMS ((CORE_ADDR, char *, int, int, struct target_ops *));
+
+extern int
+target_xfer_memory PARAMS ((CORE_ADDR, char *, int, int));
+
+/* From exec.c */
+
+extern void
+print_section_info PARAMS ((struct target_ops *, bfd *));
 
 /* Print a line about the current target.  */
 
 #define        target_files_info()     \
 
 /* Print a line about the current target.  */
 
 #define        target_files_info()     \
-       (*current_target->to_files_info) ()
+       (*current_target->to_files_info) (current_target)
 
 /* Insert a breakpoint at address ADDR in the target machine.
    SAVE is a pointer to memory allocated for saving the
 
 /* Insert a breakpoint at address ADDR in the target machine.
    SAVE is a pointer to memory allocated for saving the
@@ -299,8 +278,8 @@ extern int target_xfer_memory();
 
 /* Kill the inferior process.   Make it go away.  */
 
 
 /* Kill the inferior process.   Make it go away.  */
 
-#define target_kill(arg, from_tty) \
-       (*current_target->to_kill) (arg, from_tty)
+#define target_kill() \
+       (*current_target->to_kill) ()
 
 /* Load an executable file into the target process.  This is expected to
    not only bring new code into the target process, but also to update
 
 /* Load an executable file into the target process.  This is expected to
    not only bring new code into the target process, but also to update
@@ -309,23 +288,6 @@ extern int target_xfer_memory();
 #define target_load(arg, from_tty) \
        (*current_target->to_load) (arg, from_tty)
 
 #define target_load(arg, from_tty) \
        (*current_target->to_load) (arg, from_tty)
 
-/* Add the symbols from an executable file into GDB's symbol table, as if
-   the file had been loaded at a particular address (or set of addresses).
-   This does not change any state in the target system, only in GDB.  */
-
-#define target_add_syms(arg, from_tty) \
-       (*current_target->to_add_syms) (arg, from_tty)
-
-/* Perform a function call in the inferior.
-   ARGS is a vector of values of arguments (NARGS of them).
-   FUNCTION is a value, the function to be called.
-   Returns a value representing what the function returned.
-   May fail to return, if a breakpoint or signal is hit
-   during the execution of the function.  */
-
-#define target_call_function(function, nargs, args)    \
-  (*current_target->to_call_function) (function, nargs, args)
-
 /* Look up a symbol in the target's symbol table.  NAME is the symbol
    name.  ADDRP is a CORE_ADDR * pointing to where the value of the symbol
    should be returned.  The result is 0 if successful, nonzero if the
 /* Look up a symbol in the target's symbol table.  NAME is the symbol
    name.  ADDRP is a CORE_ADDR * pointing to where the value of the symbol
    should be returned.  The result is 0 if successful, nonzero if the
@@ -380,7 +342,7 @@ extern int target_xfer_memory();
        (current_target->to_has_registers)
 
 /* Does the target have execution?  Can we make it jump (through hoops),
        (current_target->to_has_registers)
 
 /* Does the target have execution?  Can we make it jump (through hoops),
-   or pop its stack a few times, or set breakpoints?  */
+   or pop its stack a few times?  */
 
 #define        target_has_execution    \
        (current_target->to_has_execution)
 
 #define        target_has_execution    \
        (current_target->to_has_execution)
@@ -400,16 +362,53 @@ extern int target_xfer_memory();
 
    pop_target:  Remove the top thing on the stack of current targets.  */
 
 
    pop_target:  Remove the top thing on the stack of current targets.  */
 
-#ifdef __STDC__
-void add_target (struct target_ops *);
-int push_target (struct target_ops *);
-int unpush_target (struct target_ops *);
-void target_preopen (int);
-void pop_target (void);
-#else
-void add_target ();
-int push_target ();
-int unpush_target ();
-void target_preopen ();
-void pop_target ();
-#endif
+extern void
+add_target PARAMS ((struct target_ops *));
+
+extern int
+push_target PARAMS ((struct target_ops *));
+
+extern int
+unpush_target PARAMS ((struct target_ops *));
+
+extern void
+target_preopen PARAMS ((int));
+
+extern void
+pop_target PARAMS ((void));
+
+/* Struct section_table maps address ranges to file sections.  It is
+   mostly used with BFD files, but can be used without (e.g. for handling
+   raw disks, or files not in formats handled by BFD).  */
+
+struct section_table {
+  CORE_ADDR addr;              /* Lowest address in section */
+  CORE_ADDR endaddr;           /* 1+highest address in section */
+  sec_ptr   sec_ptr;           /* BFD section pointer */
+  bfd     *bfd;                /* BFD file pointer */
+};
+
+/* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
+   Returns 0 if OK, 1 on error.  */
+
+extern int
+build_section_table PARAMS ((bfd *, struct section_table **,
+                            struct section_table **));
+
+/* From inftarg.c */
+
+extern void
+host_convert_from_virtual PARAMS ((int, char *, char *));
+
+extern void
+host_convert_to_virtual PARAMS ((int, char *, char *));
+
+/* From mem-break.c */
+
+extern int
+memory_remove_breakpoint PARAMS ((CORE_ADDR, char *));
+
+extern int
+memory_insert_breakpoint PARAMS ((CORE_ADDR, char *));
+
+#endif /* !defined (TARGET_H) */
index 8464263f00473c8b785160e04ee1d495f0c77c8d..5c901e191add9afaebe6d083c0b7a56b4a5752b6 100644 (file)
@@ -1,5 +1,5 @@
 /* Parameters for execution on a 68000 series machine.
 /* Parameters for execution on a 68000 series machine.
-   Copyright (C) 1986, 1987, 1989, 1990 Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1990, 1992 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -37,7 +37,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #if !defined(SKIP_PROLOGUE)
 #define SKIP_PROLOGUE(ip)   {(ip) = m68k_skip_prologue(ip);}
 
 #if !defined(SKIP_PROLOGUE)
 #define SKIP_PROLOGUE(ip)   {(ip) = m68k_skip_prologue(ip);}
-extern CORE_ADDR m68k_skip_prologue ();
+extern CORE_ADDR m68k_skip_prologue PARAMS ((CORE_ADDR ip));
 #endif
 
 /* Immediately after a function call, return the saved pc.
 #endif
 
 /* Immediately after a function call, return the saved pc.
@@ -142,7 +142,7 @@ read_memory_integer (read_register (SP_REGNUM), 4)
 
 /* Put the declaration out here because if it's in the macros, PCC
    will complain.  */
 
 /* Put the declaration out here because if it's in the macros, PCC
    will complain.  */
-extern struct ext_format ext_format_68881;
+extern const struct ext_format ext_format_68881;
 
 /* Convert data from raw format for register REGNUM
    to virtual format for register REGNUM.  */
 
 /* Convert data from raw format for register REGNUM
    to virtual format for register REGNUM.  */
@@ -152,7 +152,7 @@ extern struct ext_format ext_format_68881;
   if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
     ieee_extended_to_double (&ext_format_68881, (FROM), (double *)(TO)); \
   else                                 \
   if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
     ieee_extended_to_double (&ext_format_68881, (FROM), (double *)(TO)); \
   else                                 \
-    bcopy ((FROM), (TO), 4);   \
+    memcpy ((TO), (FROM), 4);  \
 }
 
 /* Convert data from virtual format for register REGNUM
 }
 
 /* Convert data from virtual format for register REGNUM
@@ -163,7 +163,7 @@ extern struct ext_format ext_format_68881;
   if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
     double_to_ieee_extended (&ext_format_68881, (double *)(FROM), (TO)); \
   else                                 \
   if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
     double_to_ieee_extended (&ext_format_68881, (double *)(FROM), (TO)); \
   else                                 \
-    bcopy ((FROM), (TO), 4);   \
+    memcpy ((TO), (FROM), 4);  \
 }
 
 /* Return the GDB type object for the "standard" data type
 }
 
 /* Return the GDB type object for the "standard" data type
@@ -208,12 +208,12 @@ extern struct ext_format ext_format_68881;
 /* Convert data from raw format for register REGNUM
    to virtual format for register REGNUM.  */
 
 /* Convert data from raw format for register REGNUM
    to virtual format for register REGNUM.  */
 
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO)  bcopy ((FROM), (TO), 4);
+#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO)  memcpy ((TO), (FROM), 4);
 
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
 
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO)  bcopy ((FROM), (TO), 4);
+#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO)  memcpy ((TO), (FROM), 4);
 
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
@@ -264,9 +264,10 @@ extern struct ext_format ext_format_68881;
 
 #if !defined (EXTRACT_RETURN_VALUE)
 #define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
 
 #if !defined (EXTRACT_RETURN_VALUE)
 #define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
-  bcopy ((char *)(REGBUF) +                                            \
+  memcpy ((VALBUF),                                                    \
+         (char *)(REGBUF) +                                            \
                 (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)),  \
                 (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)),  \
-        VALBUF, TYPE_LENGTH(TYPE))
+         TYPE_LENGTH(TYPE))
 #endif
 
 /* Write into appropriate registers a function return value
 #endif
 
 /* Write into appropriate registers a function return value
@@ -532,7 +533,12 @@ extern struct ext_format ext_format_68881;
 
 #define PUSH_DUMMY_FRAME       { m68k_push_dummy_frame (); }
 
 
 #define PUSH_DUMMY_FRAME       { m68k_push_dummy_frame (); }
 
+extern void m68k_push_dummy_frame PARAMS ((void));
+
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME              { m68k_pop_frame (); }
 
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME              { m68k_pop_frame (); }
 
+extern void m68k_pop_frame PARAMS ((void));
+
+
index 1cee572b81594005c17afe08e1881ba2184e504b..5c654234f46ae1e37cf85f8c090b1a5934862b24 100644 (file)
@@ -1,5 +1,5 @@
 /* Macro definitions for i386, Unix System V.
 /* Macro definitions for i386, Unix System V.
-   Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -17,6 +17,9 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#if !defined (TM_I386V_H)
+#define TM_I386V_H 1
+
 /*
  * Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu)
  * July 1988
 /*
  * Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu)
  * July 1988
@@ -56,6 +59,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
+extern int
+i386_skip_prologue PARAMS ((int));
+
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
@@ -193,7 +199,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define STORE_STRUCT_RETURN(ADDR, SP) \
   { (SP) -= sizeof (ADDR);             \
 
 #define STORE_STRUCT_RETURN(ADDR, SP) \
   { (SP) -= sizeof (ADDR);             \
-    write_memory ((SP), &(ADDR), sizeof (ADDR)); }
+    write_memory ((SP), (char *) &(ADDR), sizeof (ADDR)); }
 
 /* Extract from an array REGBUF containing the (raw) register state
    a function return value of type TYPE, and copy that, in virtual format,
 
 /* Extract from an array REGBUF containing the (raw) register state
    a function return value of type TYPE, and copy that, in virtual format,
@@ -251,6 +257,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
 
 
 #define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
 
+#ifdef __STDC__                /* Forward decl's for prototypes */
+struct frame_info;
+struct frame_saved_regs;
+#endif
+
+extern int
+i386_frame_num_args PARAMS ((struct frame_info *));
+
 /* Return number of bytes at start of arglist that are not really args.  */
 
 #define FRAME_ARGS_SKIP 8
 /* Return number of bytes at start of arglist that are not really args.  */
 
 #define FRAME_ARGS_SKIP 8
@@ -264,6 +278,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
+extern void
+i386_frame_find_saved_regs PARAMS ((struct frame_info *,
+                                   struct frame_saved_regs *));
+
 \f
 /* Things needed for making the inferior call functions.  */
 
 \f
 /* Things needed for making the inferior call functions.  */
 
@@ -271,10 +289,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
 
 
 #define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
 
+extern void
+i386_push_dummy_frame PARAMS ((void));
+
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME  { i386_pop_frame (); }
 
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME  { i386_pop_frame (); }
 
+extern void
+i386_pop_frame PARAMS ((void));
+
 /* this is 
  *   call 11223344 (32 bit relative)
  *   int3
 /* this is 
  *   call 11223344 (32 bit relative)
  *   int3
@@ -301,3 +325,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
        *((char *)(dummyname) + 3) = ((delta >> 16) & 0xff); \
        *((char *)(dummyname) + 4) = ((delta >> 24) & 0xff); \
 }
        *((char *)(dummyname) + 3) = ((delta >> 16) & 0xff); \
        *((char *)(dummyname) + 4) = ((delta >> 24) & 0xff); \
 }
+
+extern void
+print_387_control_word PARAMS ((unsigned int));
+
+extern void
+print_387_status_word PARAMS ((unsigned int));
+
+#endif /* !defined (TM_I386V_H) */
index aae9f100c8d8e0f9ad3c7b9a8213631db4b29c58..29f3a11799fdef5cc5c04839aa27a38b1fcb8066 100644 (file)
@@ -1,5 +1,5 @@
-/* Parameters for target machine of Sun 4, for GDB, the GNU debugger.
-   Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+/* Parameters for SPARC target machines, for GDB, the GNU debugger.
+   Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@mcc.com)
 
 This file is part of GDB.
    Contributed by Michael Tiemann (tiemann@mcc.com)
 
 This file is part of GDB.
@@ -287,11 +287,9 @@ extern CORE_ADDR sparc_pc_adjust();
 
 #define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
   (sparc_extract_struct_value_address (REGBUF))
 
 #define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
   (sparc_extract_struct_value_address (REGBUF))
-CORE_ADDR sparc_extract_struct_value_address (
-#ifdef __STDC__
-                                             char [REGISTER_BYTES]
-#endif
-                                             );
+
+extern CORE_ADDR
+sparc_extract_struct_value_address PARAMS ((char [REGISTER_BYTES]));
 
 \f
 /* Describe the pointer in each stack frame to the previous stack frame
 
 \f
 /* Describe the pointer in each stack frame to the previous stack frame
index 5b43f5c850252add5c56f821a4b9c0a0aff16096..3c5b696bbc6e97c862d63ff286876c5a9b95ec2b 100644 (file)
@@ -1,5 +1,5 @@
-/* Parameters for execution on a Sun 386i, for GDB, the GNU debugger.
-   Copyright (C) 1986, 1987, 1991 Free Software Foundation, Inc.
+/* Parameters for a Sun 386i target machine, for GDB, the GNU debugger.
+   Copyright 1986, 1987, 1991, 1992 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -49,6 +49,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
+extern int
+i386_skip_prologue PARAMS ((int));
+
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
@@ -174,6 +177,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
   else                                                 \
     bcopy ((FROM), (TO), 4); }
 
   else                                                 \
     bcopy ((FROM), (TO), 4); }
 
+extern void
+i387_to_double PARAMS ((char *, char *));
+
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
@@ -183,6 +189,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
   else                                 \
     bcopy ((FROM), (TO), 4); }
 
   else                                 \
     bcopy ((FROM), (TO), 4); }
 
+extern void
+double_to_i387 PARAMS ((char *, char *));
+
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
@@ -251,6 +260,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
 
 
 #define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
 
+#ifdef __STDC__                /* Forward decl's for prototypes */
+struct frame_info;
+struct frame_saved_regs;
+#endif
+
+extern int
+i386_frame_num_args PARAMS ((struct frame_info *));
+
 /* Return number of bytes at start of arglist that are not really args.  */
 
 #define FRAME_ARGS_SKIP 8
 /* Return number of bytes at start of arglist that are not really args.  */
 
 #define FRAME_ARGS_SKIP 8
@@ -264,6 +281,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
+extern void
+i386_frame_find_saved_regs PARAMS ((struct frame_info *,
+                                   struct frame_saved_regs *));
+
 \f
 /* Things needed for making the inferior call functions.  */
 
 \f
 /* Things needed for making the inferior call functions.  */
 
@@ -271,10 +292,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
 
 
 #define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
 
+extern void
+i386_push_dummy_frame PARAMS ((void));
+
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME  { i386_pop_frame (); }
 
 /* Discard from the stack the innermost frame, restoring all registers.  */
 
 #define POP_FRAME  { i386_pop_frame (); }
 
+extern void
+i386_pop_frame PARAMS ((void));
+
 /* this is 
  *   call 11223344 (32 bit relative)
  *   int3
 /* this is 
  *   call 11223344 (32 bit relative)
  *   int3
index cf5af29fe2700accbe172880e1da8d5fd448c0c6..c964ca524cd0d9246c2b820dd0d956dcf6169699 100644 (file)
@@ -1,6 +1,7 @@
-/* Definitions to make GDB run on a Sequent Symmetry under dynix 3.0,
+/* Target machine definitions for GDB on a Sequent Symmetry under dynix 3.0,
    with Weitek 1167 and i387 support.
    with Weitek 1167 and i387 support.
-   Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
+   Symmetry version by Jay Vosburgh (uunet!sequent!fubar).
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -18,8 +19,6 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-/* Symmetry version by Jay Vosburgh (uunet!sequent!fubar) */
-
 /* I don't know if this will work for cross-debugging, even if you do get
    a copy of the right include file.  */
 #include <machine/reg.h>
 /* I don't know if this will work for cross-debugging, even if you do get
    a copy of the right include file.  */
 #include <machine/reg.h>
@@ -41,6 +40,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
 
 #define SKIP_PROLOGUE(frompc)   {(frompc) = i386_skip_prologue((frompc));}
 
+extern int
+i386_skip_prologue PARAMS ((int));
+
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
 /* Immediately after a function call, return the saved pc.
    Can't always go through the frames for this because on some machines
    the new frame is not set up until the new function executes
@@ -187,6 +189,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 (REGNUM < 14) ? i387_to_double((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
 (REGNUM < 14) ? i387_to_double((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
+extern void
+i387_to_double PARAMS ((char *, char *));
+
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
 /* Convert data from virtual format for register REGNUM
    to raw format for register REGNUM.  */
 
@@ -197,6 +202,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 (REGNUM < 14) ? double_to_i387((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
 (REGNUM < 14) ? double_to_i387((FROM), (TO)) : \
     bcopy ((FROM), (TO), 4))
 
+extern void
+double_to_i387 PARAMS ((char *, char *));
+
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
 /* Return the GDB type object for the "standard" data type
    of data in register N.  */
 
@@ -314,6 +322,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
 #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
 { i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
 
+#ifdef __STDC__                /* Forward decl's for prototypes */
+struct frame_info;
+struct frame_saved_regs;
+#endif
+
+extern void
+i386_frame_find_saved_regs PARAMS ((struct frame_info *,
+                                   struct frame_saved_regs *));
+
 \f
 /* Things needed for making the inferior call functions.  */
 
 \f
 /* Things needed for making the inferior call functions.  */
 
@@ -377,3 +394,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
        delta = to - from; \
        *(int *)((char *)(dummyname) + 1) = delta; \
 }
        delta = to - from; \
        *(int *)((char *)(dummyname) + 1) = delta; \
 }
+
+extern void
+print_387_control_word PARAMS ((unsigned int));
+
+extern void
+print_387_status_word PARAMS ((unsigned int));
index 2fca95304a782df764990473b3f7fdbf40599a6b..866261699b9c4efe9f913962e653cfe12d6c25af 100644 (file)
@@ -1,5 +1,6 @@
 /* Macro defintions for i386.
 /* Macro defintions for i386.
-   Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
+   Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
+   Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu), July 1988.
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -17,11 +18,6 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-/*
- * Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu)
- * July 1988
- */
-
 #define HOST_BYTE_ORDER LITTLE_ENDIAN
 
 /* I'm running gdb 3.4 under 386/ix 2.0.2, which is a derivative of AT&T's
 #define HOST_BYTE_ORDER LITTLE_ENDIAN
 
 /* I'm running gdb 3.4 under 386/ix 2.0.2, which is a derivative of AT&T's
@@ -42,10 +38,6 @@ on those where it does, it occurs quite reliably.  */
 
 #define HAVE_TERMIO
 
 
 #define HAVE_TERMIO
 
-/* Get rid of any system-imposed stack limit if possible.  */
-
-/* #define SET_STACK_LIMIT_HUGE not in sys5 */
-
 /* This is the amount to subtract from u.u_ar0
    to get the offset in the core file of the register values.  */
 
 /* This is the amount to subtract from u.u_ar0
    to get the offset in the core file of the register values.  */
 
@@ -53,3 +45,6 @@ on those where it does, it occurs quite reliably.  */
 
 #define REGISTER_U_ADDR(addr, blockend, regno) \
        (addr) = i386_register_u_addr ((blockend),(regno));
 
 #define REGISTER_U_ADDR(addr, blockend, regno) \
        (addr) = i386_register_u_addr ((blockend),(regno));
+
+extern int
+i386_register_u_addr PARAMS ((int, int));
index 0e67e93d660efa2020a1d9219148c840dcc751e6..dc85386f918a353ead243293177cfec950a5eb04 100644 (file)
@@ -1,6 +1,6 @@
 /* Parameters for execution on a Sun 4, for GDB, the GNU debugger.
 /* Parameters for execution on a Sun 4, for GDB, the GNU debugger.
-   Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
-   Contributed by Michael Tiemann (tiemann@mcc.com)
+   Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
+   Contributed by Michael Tiemann (tiemann@mcc.com).
 
 This file is part of GDB.
 
 
 This file is part of GDB.
 
@@ -53,7 +53,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    FIXME, this does not handle remote debugging cleanly.  */
 
 extern int deferred_stores;
    FIXME, this does not handle remote debugging cleanly.  */
 
 extern int deferred_stores;
-extern int store_inferior_registers ();
 #define        DO_DEFERRED_STORES      \
   if (deferred_stores)         \
     store_inferior_registers (-2);
 #define        DO_DEFERRED_STORES      \
   if (deferred_stores)         \
     store_inferior_registers (-2);