From 7ab742b1a72ec85d749cab33faed4ae739ae71e8 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 1 Oct 1993 16:34:31 -0700 Subject: [PATCH] entered into RCS From-SVN: r5554 --- gcc/README.APOLLO | 112 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 gcc/README.APOLLO 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