~ubuntu-branches/ubuntu/vivid/gcl/vivid

« back to all changes in this revision

Viewing changes to h/hp300.h

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2002-03-04 14:29:59 UTC
  • Revision ID: james.westby@ubuntu.com-20020304142959-dey14w08kr7lldu3
Tags: upstream-2.5.0.cvs20020219
ImportĀ upstreamĀ versionĀ 2.5.0.cvs20020219

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define HPUX
 
2
#define HP
 
3
  
 
4
#include "bsd.h"
 
5
#undef RUN_PROCESS
 
6
#undef WANT_VALLOC
 
7
  /* uses sigvector instead of sigvec.   Could alternately
 
8
     link with -lbsd */
 
9
#define sigvec sigvector  
 
10
/* does not have getpagesize() */
 
11
#include "mc68k.h"
 
12
 
 
13
/*
 
14
#define SBRK(n) \
 
15
  (printf("sbrk(%x)=%x",n,FIXtemp=sbrk(n)),fflush(stdout),FIXtemp)
 
16
 
 
17
#define BRK(n) \
 
18
  (printf("brk(%x)=%x",n,FIXtemp=brk(n)),fflush(stdout),FIXtemp)
 
19
*/
 
20
  
 
21
/* #undef SFASL */
 
22
 
 
23
  /* since we do brk of the whole thing we use a smaller number */
 
24
 
 
25
 
 
26
#define ADDITIONAL_FEATURES \
 
27
                     ADD_FEATURE("HP9000-300"); \
 
28
                      ADD_FEATURE("MC68020"); \
 
29
    ADD_FEATURE("HP-UX");
 
30
 
 
31
 
 
32
/*
 
33
#define USE_C_EXTENDED_MUL
 
34
#define USE_C_EXTENDED_DIV
 
35
*/
 
36
 
 
37
#define DATA_BEGIN (char *)N_DATADDR(header)
 
38
 
 
39
#define RELOC_FILE "rel_hp300.c"
 
40
 
 
41
#define IEEEFLOAT
 
42
 
 
43
#define reloc r_info
 
44
 
 
45
#define N_RELOFF(hdr) RTEXT_OFFSET(hdr)
 
46
#define N_SYMOFF(hdr) LESYM_OFFSET(hdr)
 
47
#define N_TXTOFF(hdr) TEXT_OFFSET(hdr)
 
48
 
 
49
/* #undef cs_check */
 
50
 
 
51
#undef SET_REAL_MAXPAGE
 
52
#define SET_REAL_MAXPAGE real_maxpage = MAXPAGE
 
53
 
 
54
 
 
55
/*
 
56
#undef INIT_ALLOC
 
57
#define INIT_ALLOC      if (BRK(pagetochar(MAXPAGE)) < 0) \
 
58
                error("Can't allocate.  Good-bye!.");
 
59
*/
 
60
 
 
61
#define SEEK_TO_END_OFILE(fp) \
 
62
  do{struct exec header; \
 
63
     fseek(fp,0,0); \
 
64
     fread(&header, sizeof(header), 1, fp); \
 
65
     fseek(fp,RDATA_OFFSET(header)+header.a_drsize,0); \
 
66
     }while(0)
 
67
 
 
68
/* have the getcwd command */
 
69
 
 
70
#define GETCWD
 
71
 
 
72
/* note gabor used the att ldirectory... maybe bsd is ok?? */
 
73
 
 
74
#undef LD_COMMAND
 
75
 
 
76
/*   This is for pre 6.01 hpux, you need to create .stb file
 
77
#define LD_COMMAND(command,main,start,input,ldarg,output) \
 
78
  sprintf(command,"ld -o %s -N -x -R %x %s %s.stb %s",  \
 
79
           output,start,input, main,ldarg)
 
80
 
 
81
*/
 
82
  
 
83
#define LD_COMMAND(command,main,start,input,ldarg,output) \
 
84
  sprintf(command, "ld -d -N -x -A %s -R %x %s %s -o %s", \
 
85
       main,start,input,ldarg,output)
 
86
 
 
87
 
 
88
 
 
89
 
 
90
/*
 
91
#define SIGNED_CHAR  
 
92
#define REGISTER_VAR
 
93
#define BYTE_ADDRESS
 
94
#define CORE_STARTS_NEAR_0
 
95
#undef  DOWN_STACK
 
96
#undef  REVERSE_PARAMETER_ORDER
 
97
#undef  CC_OPTIMIZES_TEST  
 
98
#define UNIX
 
99
#undef  BSD
 
100
#define HPUX
 
101
#undef  ATT
 
102
#define ALLOCATE_INCREMENTALLY
 
103
#define ALLOW_FORK
 
104
 
 
105
*/
 
106
 
 
107
#undef DATA_BEGIN
 
108
#define DATA_BEGIN \
 
109
  ((char *) (header.a_magic.file_type == SHARE_MAGIC || \
 
110
                    header.a_magic.file_type == DEMAND_MAGIC) ? \
 
111
                    EXEC_ALIGN(header.a_text) : \
 
112
                    header.a_text)
 
113
 
 
114
#undef   FILECPY_HEADER
 
115
#define FILECPY_HEADER \
 
116
        if (header.a_magic.file_type == DEMAND_MAGIC) \
 
117
                {filecpy(save, original, EXEC_PAGESIZE - sizeof(header)); \
 
118
                   filecpy(save, original, EXEC_ALIGN(header.a_text));} \
 
119
        else \
 
120
        filecpy(save, original, header.a_text);
 
121
 
 
122
#undef COPY_TO_SAVE
 
123
#define  COPY_TO_SAVE \
 
124
        fseek(save, MODCAL_OFFSET(header), 0); \
 
125
        header.a_data = original_data; \
 
126
        fseek(original, MODCAL_OFFSET(header), 0); \
 
127
        filecpy(save, original,  \
 
128
                header.a_pasint+ \
 
129
                header.a_lesyms+ \
 
130
                header.a_dnttsize+header.a_sltsize+header.a_vtsize+ \
 
131
                header.a_trsize+header.a_drsize)
 
132
 
 
133
/* use #include <fcntl.h> */
 
134
 
 
135
#define HAVE_FCNTL
 
136
 
 
137
#define RSYM_AUX "../c/rel_hp300.c"
 
138
 
 
139
 
 
140
#define FIX_BSS     sym->n_type = N_BSS; \
 
141
               val = (val + 3) & ~3;
 
142
 
 
143
#define PRIVATE_FASLINK
 
144
 
 
145
/* Begin for cmpinclude */
 
146
 
 
147
 
 
148
/* End for cmpinclude */