ns32k-dis.c (invalid_float): Changed to take char* argument, and test for
explicitly specified sizes, instead of using sizeof() on host CPU types. (INVALID_FLOAT): Cast first argument.
This commit is contained in:
parent
69bb683c6d
commit
60a70a7b0e
@ -2,7 +2,10 @@ Wed Jul 13 18:01:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
|
|||||||
|
|
||||||
* ns32k-dis.c: Deleted all code in "#ifdef GDB".
|
* ns32k-dis.c: Deleted all code in "#ifdef GDB".
|
||||||
(invalid_float): Enabled general version, doesn't require running
|
(invalid_float): Enabled general version, doesn't require running
|
||||||
on ns32k host.
|
on ns32k host. Changed to take char* argument, and test for
|
||||||
|
explicitly specified sizes, instead of using sizeof() on host CPU
|
||||||
|
types.
|
||||||
|
(INVALID_FLOAT): Cast first argument.
|
||||||
|
|
||||||
Sun Jul 10 00:27:47 1994 Ian Dall (dall@hfrd.dsto.gov.au)
|
Sun Jul 10 00:27:47 1994 Ian Dall (dall@hfrd.dsto.gov.au)
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ static disassemble_info *dis_info;
|
|||||||
* Hacks to get it to compile <= READ THESE AS FIXES NEEDED
|
* Hacks to get it to compile <= READ THESE AS FIXES NEEDED
|
||||||
*/
|
*/
|
||||||
#define CORE_ADDR unsigned long
|
#define CORE_ADDR unsigned long
|
||||||
#define INVALID_FLOAT(val, size) invalid_float(val, size)
|
#define INVALID_FLOAT(val, size) invalid_float((char *)val, size)
|
||||||
|
|
||||||
static long read_memory_integer(addr, nr)
|
static long read_memory_integer(addr, nr)
|
||||||
unsigned char *addr;
|
unsigned char *addr;
|
||||||
@ -801,20 +801,20 @@ get_displacement (buffer, aoffsetp)
|
|||||||
|
|
||||||
#if 1 /* a version that should work on ns32k f's&d's on any machine */
|
#if 1 /* a version that should work on ns32k f's&d's on any machine */
|
||||||
int invalid_float(p, len)
|
int invalid_float(p, len)
|
||||||
register union { double d; float f; } *p;
|
register char *p;
|
||||||
register int len;
|
register int len;
|
||||||
{
|
{
|
||||||
register val;
|
register val;
|
||||||
|
|
||||||
if ( len == sizeof (float) )
|
if ( len == 4 )
|
||||||
val = (bit_extract(&p.f, 23, 8)/*exponent*/ == 0xff
|
val = (bit_extract(p, 23, 8)/*exponent*/ == 0xff
|
||||||
|| (bit_extract(&p, 23, 8)/*exponent*/ == 0 &&
|
|| (bit_extract(p, 23, 8)/*exponent*/ == 0 &&
|
||||||
bit_extract(&p, 0, 23)/*mantisa*/ != 0));
|
bit_extract(p, 0, 23)/*mantisa*/ != 0));
|
||||||
else if ( len == sizeof (double) )
|
else if ( len == 8 )
|
||||||
val = (bit_extract(&p.d, 52, 11)/*exponent*/ == 0x7ff
|
val = (bit_extract(p, 52, 11)/*exponent*/ == 0x7ff
|
||||||
|| (bit_extract(&p, 52, 11)/*exponent*/ == 0
|
|| (bit_extract(p, 52, 11)/*exponent*/ == 0
|
||||||
&& (bit_extract(&p, 0, 32)/*low mantisa*/ != 0
|
&& (bit_extract(p, 0, 32)/*low mantisa*/ != 0
|
||||||
|| bit_extract(&p, 32, 20)/*high mantisa*/ != 0)));
|
|| bit_extract(p, 32, 20)/*high mantisa*/ != 0)));
|
||||||
else
|
else
|
||||||
val = 1;
|
val = 1;
|
||||||
return (val);
|
return (val);
|
||||||
|
Loading…
Reference in New Issue
Block a user