summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/README.APOLLO
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
committerpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
commitd4691e641ba47cb86eef80f5c879e13f9d961724 (patch)
tree5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/README.APOLLO
downloadFreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.zip
FreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.tar.gz
Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed. gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost. The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
Diffstat (limited to 'contrib/gcc/README.APOLLO')
-rw-r--r--contrib/gcc/README.APOLLO112
1 files changed, 112 insertions, 0 deletions
diff --git a/contrib/gcc/README.APOLLO b/contrib/gcc/README.APOLLO
new file mode 100644
index 0000000..ca02de1
--- /dev/null
+++ b/contrib/gcc/README.APOLLO
@@ -0,0 +1,112 @@
+README.apollo
+
+Building GCC 2.0 for 680x0 based Apollo systems requires the GNU
+assembler (GAS) version 1.38.1, with John Vasta's patches applied.
+
+If you haven't done so yet, get `gas-1.38.1.tar.Z' from your favourite
+GNU distribution site. Furthermore, get `apollo-gas-1.38.1.diffs'
+from `labrea.stanford.edu:/pub/gnu', apply the patches, compile and
+install gas (under the name as). This should go through without any
+problems.
+
+After switching into the BSD environment, you can configure GCC 2.0
+with the command
+
+% ./configure m68k-apollo-bsd
+
+The Apollo's `/usr/include/setjmp.h' uses a nonstandard `#options()'
+construct. You should create a local copy of this file and remove
+these constructs from the declarations of SIGSETJMP and SIGLONGJMP.
+
+The Apollo's `/usr/include/sys/types.h' (BSD Version) doesn't allow
+to test for the definition of `size_t'. This should be fixed by
+
+ #ifndef _SIZE_T
+ #define _SIZE_T
+ typedef long size_t;
+ #endif
+
+The script `patch-apollo-includes' fixes these two problems, but does
+_not_ pretend to be a full fledged `fixincludes' for this system.
+
+If you now follow the standard GCC installation instructions, building
+GCC 2.0 (including G++ 2.0) should proceed without any problems.
+
+NB: Debugging is not yet supported for the Apollo. If someone wants
+ to do a _big_ favour to the Apollo users, he/she should consider
+ porting the Binary File Description library (BFD) to the Apollo.
+ This library can be found in the gdb-4.x distributions or in the
+ binutils-1.9x distributions.
+
+
+
+
+#!/bin/sh
+# patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
+
+FILES_TO_PATCH='sys/types.h setjmp.h'
+
+mkdir sys
+
+for i in $FILES_TO_PATCH;
+do
+ cp /bsd4.3/usr/include/$i ./$i
+done
+
+patch -b -apollo <<'EOP'
+*** /bsd4.3/usr/include/sys/types.h Fri Apr 8 20:29:06 1988
+--- sys/types.h Wed Feb 26 21:17:57 1992
+***************
+*** 38,44 ****
+--- 38,47 ----
+ typedef char * caddr_t;
+ typedef u_long ino_t;
+ typedef long swblk_t;
++ #ifndef _SIZE_T
++ #define _SIZE_T
+ typedef long size_t;
++ #endif
+ typedef long time_t;
+ typedef long dev_t;
+ typedef long off_t;
+*** /bsd4.3/usr/include/setjmp.h Fri Feb 3 21:40:21 1989
+--- setjmp.h Sun Feb 23 19:06:55 1992
+***************
+*** 24,30 ****
+--- 24,39 ----
+ #endif
+
+
++ #ifdef __GNUC__
+ #ifdef _PROTOTYPES
++ extern int sigsetjmp (sigjmp_buf env, int savemask);
++ extern void siglongjmp (sigjmp_buf env, int val);
++ #else
++ extern int sigsetjmp();
++ extern void siglongjmp();
++ #endif /* _PROTOTYPES */
++ #else /* not __GNUC__ */
++ #ifdef _PROTOTYPES
+ extern int sigsetjmp(
+ sigjmp_buf env,
+ int savemask
+***************
+*** 37,43 ****
+ extern int sigsetjmp() #options(abnormal);
+ extern void siglongjmp() #options(noreturn);
+ #endif /* _PROTOTYPES */
+!
+ #undef _PROTOTYPES
+
+ #ifdef __cplusplus
+--- 46,52 ----
+ extern int sigsetjmp() #options(abnormal);
+ extern void siglongjmp() #options(noreturn);
+ #endif /* _PROTOTYPES */
+! #endif /* not __GNUC__ */
+ #undef _PROTOTYPES
+
+ #ifdef __cplusplus
+EOP
+
+exit 0
OpenPOWER on IntegriCloud