|
|
1.1 root 1: README.apollo
2:
3: Building GCC 2.0 for 680x0 based Apollo systems requires the GNU
4: assembler (GAS) version 1.38.1, with John Vasta's patches applied.
5:
6: If you haven't done so yet, get `gas-1.38.1.tar.Z' from your favourite
7: GNU distribution site. Furthermore, get `apollo-gas-1.38.1.diffs'
8: from `labrea.stanford.edu:/pub/gnu', apply the patches, compile and
9: install gas (under the name as). This should go through without any
10: problems.
11:
12: After switching into the BSD environment, you can configure GCC 2.0
13: with the command
14:
15: % ./configure m68k-apollo-bsd
16:
17: The Apollo's `/usr/include/setjmp.h' uses a nonstandard `#options()'
18: construct. You should create a local copy of this file and remove
19: these constructs from the declarations of SIGSETJMP and SIGLONGJMP.
20:
21: The Apollo's `/usr/include/sys/types.h' (BSD Version) doesn't allow
22: to test for the definition of `size_t'. This should be fixed by
23:
24: #ifndef _SIZE_T
25: #define _SIZE_T
26: typedef long size_t;
27: #endif
28:
29: The script `patch-apollo-includes' fixes these two problems, but does
30: _not_ pretend to be a full fledged `fixincludes' for this system.
31:
32: If you now follow the standard GCC installation instructions, building
33: GCC 2.0 (including G++ 2.0) should proceed without any problems.
34:
35: NB: Debugging is not yet supported for the Apollo. If someone wants
36: to do a _big_ favour to the Apollo users, he/she should consider
37: porting the Binary File Description library (BFD) to the Apollo.
38: This library can be found in the gdb-4.x distributions or in the
39: binutils-1.9x distributions.
40:
41:
42:
43:
44: #!/bin/sh
45: # patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
46:
47: FILES_TO_PATCH='sys/types.h setjmp.h'
48:
49: mkdir sys
50:
51: for i in $FILES_TO_PATCH;
52: do
53: cp /bsd4.3/usr/include/$i ./$i
54: done
55:
56: patch -b -apollo <<'EOP'
57: *** /bsd4.3/usr/include/sys/types.h Fri Apr 8 20:29:06 1988
58: --- sys/types.h Wed Feb 26 21:17:57 1992
59: ***************
60: *** 38,44 ****
61: --- 38,47 ----
62: typedef char * caddr_t;
63: typedef u_long ino_t;
64: typedef long swblk_t;
65: + #ifndef _SIZE_T
66: + #define _SIZE_T
67: typedef long size_t;
68: + #endif
69: typedef long time_t;
70: typedef long dev_t;
71: typedef long off_t;
72: *** /bsd4.3/usr/include/setjmp.h Fri Feb 3 21:40:21 1989
73: --- setjmp.h Sun Feb 23 19:06:55 1992
74: ***************
75: *** 24,30 ****
76: --- 24,39 ----
77: #endif
78:
79:
80: + #ifdef __GNUC__
81: #ifdef _PROTOTYPES
82: + extern int sigsetjmp (sigjmp_buf env, int savemask);
83: + extern void siglongjmp (sigjmp_buf env, int val);
84: + #else
85: + extern int sigsetjmp();
86: + extern void siglongjmp();
87: + #endif /* _PROTOTYPES */
88: + #else /* not __GNUC__ */
89: + #ifdef _PROTOTYPES
90: extern int sigsetjmp(
91: sigjmp_buf env,
92: int savemask
93: ***************
94: *** 37,43 ****
95: extern int sigsetjmp() #options(abnormal);
96: extern void siglongjmp() #options(noreturn);
97: #endif /* _PROTOTYPES */
98: !
99: #undef _PROTOTYPES
100:
101: #ifdef __cplusplus
102: --- 46,52 ----
103: extern int sigsetjmp() #options(abnormal);
104: extern void siglongjmp() #options(noreturn);
105: #endif /* _PROTOTYPES */
106: ! #endif /* not __GNUC__ */
107: #undef _PROTOTYPES
108:
109: #ifdef __cplusplus
110: EOP
111:
112: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.