summaryrefslogtreecommitdiffstats
path: root/gcc/README.APOLLO
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-10-01 23:34:31 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-10-01 23:34:31 +0000
commit663abbcfcf2f5e6d87cee1e0ce4defd6462d4ffd (patch)
tree2ee380b39d6dbba7cfdfb183d85bc2f69de1ea9b /gcc/README.APOLLO
parente68424cd9c20f36a2e19bb094f99ffc83547caf8 (diff)
downloadppe42-gcc-663abbcfcf2f5e6d87cee1e0ce4defd6462d4ffd.tar.gz
ppe42-gcc-663abbcfcf2f5e6d87cee1e0ce4defd6462d4ffd.zip
entered into RCS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5554 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/README.APOLLO')
-rw-r--r--gcc/README.APOLLO112
1 files changed, 112 insertions, 0 deletions
diff --git a/gcc/README.APOLLO b/gcc/README.APOLLO
new file mode 100644
index 00000000000..ca02de14284
--- /dev/null
+++ b/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