|
|
|
@ -1,6 +1,7 @@ |
|
|
|
/********** |
|
|
|
Copyright 1990 Regents of the University of California. All rights reserved. |
|
|
|
Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group |
|
|
|
$Id$ |
|
|
|
**********/ |
|
|
|
|
|
|
|
/* |
|
|
|
@ -394,18 +395,21 @@ printres(char *name) |
|
|
|
|
|
|
|
#define LOG2_PAGESIZE 8 |
|
|
|
|
|
|
|
static JMP_BUF env; |
|
|
|
static JMP_BUF env; |
|
|
|
|
|
|
|
static RETSIGTYPE |
|
|
|
fault(void) |
|
|
|
{ |
|
|
|
signal(SIGSEGV, (SIGNAL_FUNCTION) fault); /* SysV style */ |
|
|
|
LONGJMP(env, 1); |
|
|
|
LONGJMP(env, 1); |
|
|
|
} |
|
|
|
|
|
|
|
static void * |
|
|
|
baseaddr(void) |
|
|
|
{ |
|
|
|
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(HAS_WINDOWS) || defined(__APPLE__) |
|
|
|
return 0; |
|
|
|
#else |
|
|
|
char *low, *high, *at; |
|
|
|
/* char *sbrk(int); */ |
|
|
|
long x; |
|
|
|
@ -413,11 +417,7 @@ baseaddr(void) |
|
|
|
|
|
|
|
if (getenv("SPICE_NO_DATASEG_CHECK")) |
|
|
|
return 0; |
|
|
|
|
|
|
|
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(HAS_WINDOWS) || defined(__APPLE__) |
|
|
|
return 0; |
|
|
|
#else |
|
|
|
|
|
|
|
|
|
|
|
low = 0; |
|
|
|
high = (char *) ((unsigned long) sbrk(0) & ~((1 << LOG2_PAGESIZE) - 1)); |
|
|
|
|
|
|
|
@ -433,13 +433,13 @@ baseaddr(void) |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
if (SETJMP(env, 1)) { |
|
|
|
if (SETJMP(env, 1)) { |
|
|
|
low = at; |
|
|
|
continue; |
|
|
|
} else |
|
|
|
x = *at; |
|
|
|
|
|
|
|
if (SETJMP(env, 1)) { |
|
|
|
if (SETJMP(env, 1)) { |
|
|
|
low = at; |
|
|
|
continue; |
|
|
|
} else |
|
|
|
@ -451,8 +451,8 @@ baseaddr(void) |
|
|
|
|
|
|
|
(void) signal(SIGSEGV, (SIGNAL_FUNCTION) orig_signal); |
|
|
|
return (void *) high; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
# ifdef notdef |
|
|
|
|