aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1993-07-09 16:50:43 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1993-07-09 16:50:43 +0000
commit2fcdae93aafbc5de1a370169ed673cc75e17d022 (patch)
tree8a40bc57c5ecf24cb7c44b1f17255da846862781
parenta40fe908ce5d4366286cebcff3317b59c3ce5e25 (diff)
downloadgdb-2fcdae93aafbc5de1a370169ed673cc75e17d022.zip
gdb-2fcdae93aafbc5de1a370169ed673cc75e17d022.tar.gz
gdb-2fcdae93aafbc5de1a370169ed673cc75e17d022.tar.bz2
* defs.h, remote-eb.c (TM_FILE_OVERRIDE): Remove it.
* mips-tdep.c (init_extra_frame_info): Set proper fci->frame if pc is at the start of the dummy code.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/defs.h30
-rw-r--r--gdb/mips-tdep.c32
-rw-r--r--gdb/remote-eb.c2
4 files changed, 26 insertions, 44 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 086d7cd..138d5fe 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+Fri Jul 9 09:47:02 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * defs.h, remote-eb.c (TM_FILE_OVERRIDE): Remove it.
+ * mips-tdep.c (init_extra_frame_info): Set proper fci->frame if pc
+ is at the start of the dummy code.
+
Thu Jul 8 14:48:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* sparc-tdep.c (sparc_push_dummy_frame): Skip all the do_save_insn
diff --git a/gdb/defs.h b/gdb/defs.h
index 9dae5e7..203ffe0 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -295,9 +295,6 @@ batch_mode PARAMS ((void));
extern int
input_from_terminal_p PARAMS ((void));
-extern int
-catch_errors PARAMS ((int (*) (char *), char *, char *));
-
/* From printcmd.c */
extern void
@@ -626,8 +623,25 @@ exit PARAMS ((int)); /* 4.10.4.3 */
extern NORETURN void /* Does not return to the caller. */
nomem PARAMS ((long));
+/* Reasons for calling return_to_top_level. */
+enum return_reason {
+ /* User interrupt. */
+ RETURN_QUIT,
+
+ /* Any other error. */
+ RETURN_ERROR
+};
+
+#define RETURN_MASK_QUIT (1 << (int)RETURN_QUIT)
+#define RETURN_MASK_ERROR (1 << (int)RETURN_ERROR)
+#define RETURN_MASK_ALL (RETURN_MASK_QUIT | RETURN_MASK_ERROR)
+typedef int return_mask;
+
extern NORETURN void /* Does not return to the caller. */
-return_to_top_level PARAMS ((void));
+return_to_top_level PARAMS ((enum return_reason));
+
+extern int catch_errors PARAMS ((int (*) (char *), void *, char *,
+ return_mask));
extern void
warning_setup PARAMS ((void));
@@ -776,18 +790,12 @@ strerror PARAMS ((int)); /* 4.11.6.2 */
#define LITTLE_ENDIAN 1234
#endif
-/* Target-system-dependent parameters for GDB.
-
- The standard thing is to include defs.h. However, files that are
- specific to a particular target can define TM_FILE_OVERRIDE before
- including defs.h, then can include any particular tm-file they desire. */
+/* Target-system-dependent parameters for GDB. */
/* Target machine definition. This will be a symlink to one of the
tm-*.h files, built by the `configure' script. */
-#ifndef TM_FILE_OVERRIDE
#include "tm.h"
-#endif
/* The bit byte-order has to do just with numbering of bits in
debugging symbols and such. Conceptually, it's quite separate
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index b86fea9..8da1f8a 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -331,7 +331,7 @@ init_extra_frame_info(fci)
/* Fixup frame-pointer - only needed for top frame */
/* This may not be quite right, if proc has a real frame register */
- if (fci->pc == PROC_LOW_ADDR(proc_desc))
+ if (fci->pc == PROC_LOW_ADDR(proc_desc) && !PROC_DESC_IS_DUMMY(proc_desc))
fci->frame = read_register (SP_REGNUM);
else
fci->frame = READ_FRAME_REG(fci, PROC_FRAME_REG(proc_desc))
@@ -688,36 +688,6 @@ mips_frame_num_args(fip)
#endif
return -1;
}
-
-
-/* Bad floats: Returns 0 if P points to a valid IEEE floating point number,
- 1 if P points to a denormalized number or a NaN. LEN says whether this is
- a single-precision or double-precision float */
-#define SINGLE_EXP_BITS 8
-#define DOUBLE_EXP_BITS 11
-int
-isa_NAN(p, len)
- int *p, len;
-{
- int exponent;
- if (len == 4)
- {
- exponent = *p;
- exponent = exponent << 1 >> (32 - SINGLE_EXP_BITS - 1);
- return ((exponent == -1) || (exponent == 0 && ((*p << 1) != 0)));
- }
- else if (len == 8)
- {
-#if TARGET_BYTE_ORDER == BIG_ENDIAN
- exponent = *p;
-#else
- exponent = *(p+1);
-#endif
- exponent = exponent << 1 >> (32 - DOUBLE_EXP_BITS - 1);
- return ((exponent == -1) || (! exponent && *p * *(p+1)));
- }
- else return 1;
-}
/* To skip prologues, I use this predicate. Returns either PC
itself if the code at PC does not look like a function prologue;
diff --git a/gdb/remote-eb.c b/gdb/remote-eb.c
index cdf12df..6e36b7e 100644
--- a/gdb/remote-eb.c
+++ b/gdb/remote-eb.c
@@ -25,10 +25,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
has PC/NFS, so it can access the same executables that gdb can,
over the net in real time. */
-#define TM_FILE_OVERRIDE
#include "defs.h"
#include <string.h>
-#include "a29k/tm-a29k.h"
#include "inferior.h"
#include "bfd.h"