aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/mips
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1996-07-28 21:41:09 +0000
committerFred Fish <fnf@specifix.com>1996-07-28 21:41:09 +0000
commitf2bf454e0f1bc17d01f9c2f22fe2010ee2442f3c (patch)
tree039b381a663309b670afd5f8fe43e886498317c7 /gdb/config/mips
parent3f550b594061532d7fa1f920cf7a0d2910127da9 (diff)
downloadgdb-f2bf454e0f1bc17d01f9c2f22fe2010ee2442f3c.zip
gdb-f2bf454e0f1bc17d01f9c2f22fe2010ee2442f3c.tar.gz
gdb-f2bf454e0f1bc17d01f9c2f22fe2010ee2442f3c.tar.bz2
* config/mips/tm-mips.h (struct frame_info): Forward decl.
(struct type): Ditto. (struct value): Ditto. * config/mips/tm-mips.h (sigtramp_address): Move extern decl from mips-tdep.c to here. (sigtramp_end): Ditto. (fixup_sigtramp): Ditto. * config/mips/tm-mips.h (init_extra_frame_info): Add prototype. (mips_frame_chain): Ditto. (mips_step_skips_delay): Ditto. (mips_frame_saved_pc): Ditto. (mips_find_saved_regs): Ditto. (mips_frame_num_args): Ditto. (mips_pop_frame): Ditto. (mips_extract_return_value): Ditto. (mips_store_return_value): Ditto. (mips_push_dummy_frame): Ditto. (mips_push_arguments): Ditto. (mips_do_registers_info): Ditto. (ecoff_relocate_efi): Ditto. (ecoff_relocate_efi): Ditto. * irix4-nat.c (fetch_core_registers): Add prototype. * mips-tdep.c (read_next_frame_reg): Add prototype (heuristic_proc_start): Ditto. (heuristic_proc_desc): Ditto. (mips_print_register): Ditto. * config/mips/nm-irix5.h (procfs_set_watchpoint): Add prototype. (procfs_stopped_by_watchpoint): Ditto. * config/mips/nm-irix4.h (procfs_set_watchpoint): Add prototype. (procfs_stopped_by_watchpoint): Ditto. * config/alpha/tm-alpha.h (ecoff_relocate_efi): Add prototype. (struct symbol): Add forward decl for prototype. * breakpoint.c (internal_breakpoint_number): Only needed if GET_LONGJMP_TARGET or SOLIB_ADD is defined. * objfiles.c (ecoff_relocate_efi): Remove prototype.
Diffstat (limited to 'gdb/config/mips')
-rw-r--r--gdb/config/mips/nm-irix4.h2
-rw-r--r--gdb/config/mips/tm-mips.h27
2 files changed, 29 insertions, 0 deletions
diff --git a/gdb/config/mips/nm-irix4.h b/gdb/config/mips/nm-irix4.h
index 78b88df..c4227ba 100644
--- a/gdb/config/mips/nm-irix4.h
+++ b/gdb/config/mips/nm-irix4.h
@@ -47,6 +47,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define STOPPED_BY_WATCHPOINT(W) \
procfs_stopped_by_watchpoint(inferior_pid)
+extern int procfs_stopped_by_watchpoint PARAMS ((int));
#define HAVE_NONSTEPPABLE_WATCHPOINT
@@ -54,3 +55,4 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
#define target_insert_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, len, 2)
#define target_remove_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, 0, 0)
+extern int procfs_set_watchpoint PARAMS ((int, CORE_ADDR, int, int));
diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h
index 499750f..935a277 100644
--- a/gdb/config/mips/tm-mips.h
+++ b/gdb/config/mips/tm-mips.h
@@ -20,6 +20,13 @@ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+#ifdef __STDC__
+struct frame_info;
+struct symbol;
+struct type;
+struct value;
+#endif
+
#include <bfd.h>
#include "coff/sym.h" /* Needed for PDR below. */
#include "coff/symconst.h"
@@ -72,6 +79,7 @@ extern CORE_ADDR mips_skip_prologue PARAMS ((CORE_ADDR addr, int lenient));
/* Return non-zero if PC points to an instruction which will cause a step
to execute both the instruction at PC and an instruction at PC+4. */
#define STEP_SKIPS_DELAY(pc) (mips_step_skips_delay (pc))
+extern int mips_step_skips_delay PARAMS ((CORE_ADDR));
/* Immediately after a function call, return the saved pc.
Can't always go through the frames for this because on some machines
@@ -173,6 +181,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
of register dumps. */
#define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
+extern void mips_do_registers_info PARAMS ((int, int));
/* Total amount of space needed to store our copies of the machine's
register state, the array `registers'. */
@@ -245,12 +254,15 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
mips_extract_return_value(TYPE, REGBUF, VALBUF)
+extern void
+mips_extract_return_value PARAMS ((struct type *, char [], char *));
/* Write into appropriate registers a function return value
of type TYPE, given in virtual format. */
#define STORE_RETURN_VALUE(TYPE,VALBUF) \
mips_store_return_value(TYPE, VALBUF)
+extern void mips_store_return_value PARAMS ((struct type *, char *));
/* Extract from an array REGBUF containing the (raw) register state
the address in which a function should return its structure value,
@@ -275,6 +287,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
and produces the frame's chain-pointer. */
#define FRAME_CHAIN(thisframe) (CORE_ADDR) mips_frame_chain (thisframe)
+extern CORE_ADDR mips_frame_chain PARAMS ((struct frame_info *));
/* Define other aspects of the stack frame. */
@@ -289,6 +302,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
/* Saved Pc. */
#define FRAME_SAVED_PC(FRAME) (mips_frame_saved_pc(FRAME))
+extern int mips_frame_saved_pc PARAMS ((struct frame_info *));
#define FRAME_ARGS_ADDRESS(fi) (fi)->frame
@@ -298,6 +312,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
Can return -1, meaning no way to tell. */
#define FRAME_NUM_ARGS(num, fi) (num = mips_frame_num_args(fi))
+extern int mips_frame_num_args PARAMS ((struct frame_info *));
/* Return number of bytes at start of arglist that are not really args. */
@@ -316,6 +331,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
(frame_saved_regs) = *(frame_info)->saved_regs; \
(frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame; \
} while (0)
+extern void mips_find_saved_regs PARAMS ((struct frame_info *));
/* Things needed for making the inferior call functions. */
@@ -326,14 +342,18 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
sp = mips_push_arguments(nargs, args, sp, struct_return, struct_addr)
+extern CORE_ADDR
+mips_push_arguments PARAMS ((int, struct value **, CORE_ADDR, int, CORE_ADDR));
/* Push an empty stack frame, to record the current PC, etc. */
#define PUSH_DUMMY_FRAME mips_push_dummy_frame()
+extern void mips_push_dummy_frame PARAMS ((void));
/* Discard from the stack the innermost frame, restoring all registers. */
#define POP_FRAME mips_pop_frame()
+extern void mips_pop_frame PARAMS ((void));
#define MK_OP(op,rs,rt,offset) (((op)<<26)|((rs)<<21)|((rt)<<16)|(offset))
#ifndef OP_LDFPR
@@ -448,6 +468,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
mips_extra_func_info_t's off of this. */
#define MIPS_EFI_SYMBOL_NAME "__GDB_EFI_INFO__"
+extern void ecoff_relocate_efi PARAMS ((struct symbol *, CORE_ADDR));
/* Specific information about a procedure.
This overlays the MIPS's PDR records,
@@ -464,6 +485,7 @@ typedef struct mips_extra_func_info {
struct frame_saved_regs *saved_regs;
#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci)
+extern void init_extra_frame_info PARAMS ((struct frame_info *));
#define PRINT_EXTRA_FRAME_INFO(fi) \
{ \
@@ -510,3 +532,8 @@ extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *));
probably much more common. (FIXME). */
#define COERCE_FLOAT_TO_DOUBLE (current_language -> la_language == language_c)
+
+/* These are defined in mdebugread.c and are used in mips-tdep.c */
+extern CORE_ADDR sigtramp_address, sigtramp_end;
+extern void fixup_sigtramp PARAMS ((void));
+