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.
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
12 After switching into the BSD environment, you can configure GCC 2.0
15 % ./configure m68k-apollo-bsd
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.
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
29 The script `patch-apollo-includes' fixes these two problems, but does
30 _not_ pretend to be a full fledged `fixincludes' for this system.
32 If you now follow the standard GCC installation instructions, building
33 GCC 2.0 (including G++ 2.0) should proceed without any problems.
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.
45 # patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
47 FILES_TO_PATCH='sys/types.h setjmp.h'
51 for i in $FILES_TO_PATCH;
53 cp /bsd4.3/usr/include/$i ./$i
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
62 typedef char * caddr_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
82 + extern int sigsetjmp (sigjmp_buf env, int savemask);
83 + extern void siglongjmp (sigjmp_buf env, int val);
85 + extern int sigsetjmp();
86 + extern void siglongjmp();
87 + #endif /* _PROTOTYPES */
88 + #else /* not __GNUC__ */
95 extern int sigsetjmp() #options(abnormal);
96 extern void siglongjmp() #options(noreturn);
97 #endif /* _PROTOTYPES */
103 extern int sigsetjmp() #options(abnormal);
104 extern void siglongjmp() #options(noreturn);
105 #endif /* _PROTOTYPES */
106 ! #endif /* not __GNUC__ */