diff options
author | peter <peter@FreeBSD.org> | 1996-09-18 05:35:50 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1996-09-18 05:35:50 +0000 |
commit | d4691e641ba47cb86eef80f5c879e13f9d961724 (patch) | |
tree | 5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/README.APOLLO | |
download | FreeBSD-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.APOLLO | 112 |
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 |