(arm_gen_movstrqi): New function.
[official-gcc.git] / gcc / README.APOLLO
blobca02de142840183c9c2fb28210278c1b66c83e19
1 README.apollo
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
10 problems.
12 After switching into the BSD environment, you can configure GCC 2.0
13 with the command 
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
24   #ifndef _SIZE_T
25   #define _SIZE_T
26   typedef       long    size_t;
27   #endif
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.
44 #!/bin/sh
45 # patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
47 FILES_TO_PATCH='sys/types.h setjmp.h'
49 mkdir sys
51 for i in $FILES_TO_PATCH;
53   cp /bsd4.3/usr/include/$i ./$i
54 done
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
59 ***************
60 *** 38,44 ****
61 --- 38,47 ----
62   typedef       char *  caddr_t;
63   typedef       u_long  ino_t;
64   typedef       long    swblk_t;
65 + #ifndef _SIZE_T
66 + #define _SIZE_T
67   typedef       long    size_t;
68 + #endif
69   typedef       long    time_t;
70   typedef       long    dev_t;
71   typedef       long    off_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
74 ***************
75 *** 24,30 ****
76 --- 24,39 ----
77   #endif
78   
79   
80 + #ifdef __GNUC__
81   #ifdef _PROTOTYPES
82 + extern int sigsetjmp (sigjmp_buf env, int savemask);
83 + extern void siglongjmp (sigjmp_buf env, int val);
84 + #else
85 + extern int sigsetjmp();
86 + extern void siglongjmp();
87 + #endif /* _PROTOTYPES */
88 + #else /* not __GNUC__ */
89 + #ifdef _PROTOTYPES
90   extern int sigsetjmp(
91           sigjmp_buf env,
92           int savemask
93 ***************
94 *** 37,43 ****
95   extern int sigsetjmp() #options(abnormal);
96   extern void siglongjmp() #options(noreturn);
97   #endif /* _PROTOTYPES */
98
99   #undef _PROTOTYPES
100   
101   #ifdef __cplusplus
102 --- 46,52 ----
103   extern int sigsetjmp() #options(abnormal);
104   extern void siglongjmp() #options(noreturn);
105   #endif /* _PROTOTYPES */
106 ! #endif /* not __GNUC__ */
107   #undef _PROTOTYPES
108   
109   #ifdef __cplusplus
112 exit 0