aboutsummaryrefslogtreecommitdiff
path: root/gdb/vax-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-01-29 03:08:28 +0000
committerAndrew Cagney <cagney@redhat.com>2002-01-29 03:08:28 +0000
commit75bc7ddf1b1e98d946b1b3c260c56d2d8ebd251e (patch)
tree103d7e29427306062e958d2497b01371f519fbb4 /gdb/vax-tdep.c
parent806dedcd0cd16f62daee0c726cd3be4606ad5359 (diff)
downloadgdb-75bc7ddf1b1e98d946b1b3c260c56d2d8ebd251e.zip
gdb-75bc7ddf1b1e98d946b1b3c260c56d2d8ebd251e.tar.gz
gdb-75bc7ddf1b1e98d946b1b3c260c56d2d8ebd251e.tar.bz2
* config/vax/tm-vax.h (INVALID_FLOAT): Move macro from here...
* vax-tdep.c (INVALID_FLOAT): To here. Document why it is broken. * rs6000-tdep.c (rs6000_do_registers_info): Delete code wrapped in #ifdef INVALID_FLOAT. * infcmd.c (do_registers_info): Ditto. * values.c (unpack_double): Ditto. Add comment. * config/ns32k/tm-umax.h (INVALID_FLOAT): Delete macro that was already commented out.
Diffstat (limited to 'gdb/vax-tdep.c')
-rw-r--r--gdb/vax-tdep.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
index 9a53df0..a5fbe3a 100644
--- a/gdb/vax-tdep.c
+++ b/gdb/vax-tdep.c
@@ -26,6 +26,24 @@
#include "frame.h"
#include "value.h"
+/* Return 1 if P points to an invalid floating point value.
+ LEN is the length in bytes -- not relevant on the Vax. */
+
+/* FIXME: cagney/2002-01-19: The macro below was originally defined in
+ tm-vax.h and used in values.c. Two problems. Firstly this is a
+ very non-portable and secondly it is wrong. The VAX should be
+ using floatformat and associated methods to identify and handle
+ invalid floating-point values. Adding to the poor target's woes
+ there is no floatformat_vax_{f,d} and no TARGET_FLOAT_FORMAT
+ et.al.. */
+
+/* FIXME: cagney/2002-01-19: It turns out that the only thing that
+ uses this macro is the vax disassembler code (so how old is this
+ target?). This target should instead be using the opcodes
+ disassembler. That allowing the macro to be eliminated. */
+
+#define INVALID_FLOAT(p, len) ((*(short *) p & 0xff80) == 0x8000)
+
/* Vax instructions are never longer than this. */
#define MAXLEN 62