Ported to SCO's 3.2v2 system.

This commit is contained in:
Sean Eric Fagan 1991-11-13 04:13:38 +00:00
parent cd56d31436
commit 127850e739
3 changed files with 19 additions and 13 deletions

View File

@ -1093,17 +1093,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdlib.h> #include <stdlib.h>
#endif /* __ONEFILE */ #endif /* __ONEFILE */
#if 0 #if defined(M_UNIX)
/*
* M_UNIX is defined by the SCO compilers, including the port of gcc.
*/
/* On SunOS 4.1.1, <sys/param.h> typedefs size_t, which is bad since /* On SunOS 4.1.1, <sys/param.h> typedefs size_t, which is bad since
we typedef it above. Maybe it's better just to have people compile we typedef it above. Maybe it's better just to have people compile
-Dgetpagesize()=4096. */ -Dgetpagesize()=4096. */
/* Deal with page size. */ /* Deal with page size. */
#ifdef BSD
#ifndef BSD4_1
#define HAVE_GETPAGESIZE
#endif
#endif
#ifndef HAVE_GETPAGESIZE #ifndef HAVE_GETPAGESIZE
#include <sys/param.h> #include <sys/param.h>
@ -1129,7 +1127,7 @@ DEFUN_VOID(__getpagesize)
return PAGESIZE; return PAGESIZE;
} }
#endif /* not HAVE_GETPAGESIZE */ #endif /* not HAVE_GETPAGESIZE */
#endif /* 0 */ #endif /* M_UNIX */
extern size_t EXFUN(__getpagesize, (NOARGS)); extern size_t EXFUN(__getpagesize, (NOARGS));

View File

@ -42,6 +42,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <sys/reg.h> #include <sys/reg.h>
#include "ieee-float.h" #include "ieee-float.h"
#include "target.h"
extern void print_387_control_word (); /* i387-tdep.h */ extern void print_387_control_word (); /* i387-tdep.h */
extern void print_387_status_word (); extern void print_387_status_word ();
@ -180,14 +182,14 @@ i386_float_info ()
struct fpstate *fpstatep; struct fpstate *fpstatep;
char buf[sizeof (struct fpstate) + 2 * sizeof (int)]; char buf[sizeof (struct fpstate) + 2 * sizeof (int)];
unsigned int uaddr; unsigned int uaddr;
char fpvalid; char fpvalid = 0;
unsigned int rounded_addr; unsigned int rounded_addr;
unsigned int rounded_size; unsigned int rounded_size;
extern int corechan; extern int corechan;
int skip; int skip;
uaddr = (char *)&u.u_fpvalid - (char *)&u; uaddr = (char *)&u.u_fpvalid - (char *)&u;
if (have_inferior_p()) if (target_has_execution)
{ {
unsigned int data; unsigned int data;
unsigned int mask; unsigned int mask;
@ -198,6 +200,7 @@ i386_float_info ()
fpvalid = ((data & mask) != 0); fpvalid = ((data & mask) != 0);
} }
#if 0
else else
{ {
if (lseek (corechan, uaddr, 0) < 0) if (lseek (corechan, uaddr, 0) < 0)
@ -206,6 +209,7 @@ i386_float_info ()
perror ("read on core file"); perror ("read on core file");
} }
#endif /* no core support yet */
if (fpvalid == 0) if (fpvalid == 0)
{ {
@ -214,7 +218,7 @@ i386_float_info ()
} }
uaddr = (char *)&U_FPSTATE(u) - (char *)&u; uaddr = (char *)&U_FPSTATE(u) - (char *)&u;
if (have_inferior_p ()) if (target_has_execution)
{ {
int *ip; int *ip;
@ -230,6 +234,7 @@ i386_float_info ()
rounded_addr += sizeof (int); rounded_addr += sizeof (int);
} }
} }
#if 0
else else
{ {
if (lseek (corechan, uaddr, 0) < 0) if (lseek (corechan, uaddr, 0) < 0)
@ -238,7 +243,8 @@ i386_float_info ()
perror_with_name ("read from core file"); perror_with_name ("read from core file");
skip = 0; skip = 0;
} }
#endif /* 0 */
fpstatep = (struct fpstate *)(buf + skip); fpstatep = (struct fpstate *)(buf + skip);
print_387_status (fpstatep->status, (struct env387 *)fpstatep->state); print_387_status (fpstatep->status, (struct env387 *)fpstatep->state);
} }

View File

@ -29,9 +29,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* All the job control definitions exist in SCO Unix, but the standard /* All the job control definitions exist in SCO Unix, but the standard
shells don't use them. So we must disable job control. */ shells don't use them. So we must disable job control. */
#define NO_JOB_CONTROL /* This is no longer true with 3.2v2 and later */
/* #define NO_JOB_CONTROL */
/* SCO's assembler doesn't grok dollar signs in identifiers. /* SCO's assembler doesn't grok dollar signs in identifiers.
So we use dots instead. This item must be coordinated with G++. */ So we use dots instead. This item must be coordinated with G++. */
#undef CPLUS_MARKER #undef CPLUS_MARKER
#define CPLUS_MARKER '.' #define CPLUS_MARKER '.'
#define HAVE_STRSTR