1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
#define SGI
#include "att.h"
#include "mips.h"
#define HAVE_SIGACTION
#define SV_ONSTACK SA_ONSTACK
#define ADDITIONAL_FEATURES \
ADD_FEATURE("SGI"); \
ADD_FEATURE("MIPS"); ADD_FEATURE("IRIX5") ; \
ADD_FEATURE("IGNORE-UNRESOLVED")
/* #define mips 1
The system defines this
*/
#define IEEEFLOAT
#undef FILECPY_HEADER
#define FILECPY_HEADER \
filecpy(save, original, header.a_text);
/* text relocated; data is page-aligned after the text */
#define DATA_BEGIN (char *)((TXTRELOC+header.a_text+(PAGSIZ-1)) & ~(PAGSIZ-1))
#define PAGSIZ 4096
#define TXTRELOC 4096
#undef SET_REAL_MAXPAGE
#define SET_REAL_MAXPAGE real_maxpage = MAXPAGE
#define RELOC_FILE "rel_mips.c"
#undef SFASL
#undef NEED_GETWD
#define EXTRA_BUFSIZE 8
#define NULL_OR_ON_C_STACK(x) ((((int)x) << 1) <=0)
/* for irix 5.xx */
#define HAVE_ELF
#define OUR_MAX(a,b) (a > b ? a : b)
#define SEEK_TO_END_OFILE(fp)\
do{ int m; \
Elf32_Ehdr eheader; \
Elf32_Shdr shdr; \
fseek(fp,0,SEEK_SET); \
fread(&eheader,sizeof(eheader),1,fp); \
fseek(fp,eheader.e_shoff+(eheader.e_shnum -1) \
*eheader.e_shentsize,0); \
fread(&shdr,eheader.e_shentsize,1,fp); \
fseek(fp,OUR_MAX(shdr.sh_offset+ shdr.sh_size, \
eheader.e_shoff+(eheader.e_shnum) \
*eheader.e_shentsize) \
, SEEK_SET);\
}while(0)
#ifdef IN_UNIXFSYS
#undef ATT
#define BSD
#endif
/* #define DBEGIN 0x600000 */
/* #define UNIXSAVE "save_sgi4.c" */
/* for irix 5... */
#undef UNIXSAVE
/* #define UNIXSAVE "unexelf.c" */
#define UNIXSAVE "unexelfsgi.c"
#ifdef IN_UNIXSAVE
#define round_up round_up1
#define bss_end core_end
#endif
#define INIT_CORE_END brk(core_end);
#ifdef IN_UNIXFASL
#include <filehdr.h>
#endif
#define UNIXFASL "fasldlsym.c"
#define USE_DLOPEN
#define IS_NOT_SHARED_OBJECT(fhdr,faslstream) \
(fhdr.f_nscns < 6)
#define LD_SHARED(filename,buf) \
sprintf(com,"ld -shared %s -ignore_unresolved -o %s -lc",filename, buf)
#define DO_BEFORE_SAVE \
{ extern int did_a_dynamic_load; if (did_a_dynamic_load) \
FEerror("Sorry, Cant save an image with dynamically loaded .o files",0);}
#define HAVE_GETDTABLESIZE
/* Begin for cmpinclude */
/* End for cmpinclude */
|