|
|
1.1 root 1: .TH CC68 1 MC68000
2: .SU
3: .SH NAME
4: cc68 \- C compiler for the MC68000
5: .SH SYNOPSIS
6: .B cc68
7: [ option ] ... file ...
8: .SH DESCRIPTION
9: .I Cc68
10: is the UNIX C compiler modified for the MC68000.
11: .I Cc68
12: is a flexible program for translating between various types of files. The
13: types catered for in order of appearance during translation are `.c' (C source
14: files), `.s' (assembly language files), `.b' (relocatable binary files),
15: `b.out' (absolute binary files), `.r' (byte-reversed files, cf.
16: .I rev68(1)
17: ).
18: and `.dl' (Macsbug download format, cf.
19: .I dl68(1)
20: ).
21: .PP
22: Arguments to cc68 are either flags or input files.
23: The type of an input file is normally determined by its suffix. When an
24: argument to cc68 is not a flag and has a suffix different from any
25: of the above suffixes, it is
26: assumed to be of one of the types `.c', `.b', or `b.out', namely the latest of
27: these three consistent with the type of the output (e.g. if the output type
28: were `.s' or `.b' then the input would have to be `.c'). If it has no
29: suffix it is assumed to be of type `b.out'.
30: .PP
31: Translation proceeds as follows. Each
32: `.c' and `.s' program is translated to a `.b' relocatable using cpp, ccom68,
33: and as68 as necessary. Then all .b files including those produced by
34: translation are link edited into the one file, called `b.out'. If the only
35: input file was a single `.c' program then the `.b' file is deleted, otherwise
36: all `.b' files are preserved.
37: .PP
38: The amount of processing performed by cc68 may be decreased or increased with
39: some of the options. The -S option takes translation no further than `.s'
40: files, i.e. only cpp and ccom68 are applied. The -c option takes translation
41: up to `.b' files, omitting the link editing and not deleting any `.b' files.
42: The -d option goes beyond `b.out' to produce a `.dl' file (using dl68) that
43: may be downloaded by the Motorola MACSBUG monitor and the Sun1 monitor. The
44: -r option similarly goes beyond `b.out' to produce a `.r' file (using rev68)
45: that may be loaded directly by 68000 code based on ld68. Both -d and -r may
46: be used together.
47: .PP
48: The output may be named explicitly with the -o option; the output file's name
49: should follow -o. Otherwise the name is `b.out' in the normal case, or
50: `filename.dl' for the -d option, or `filename.r' for the -r option, where
51: `filename' is the first `.c', `.s', or `.b' file named as an input. If the
52: input is not in any of those three categories, the names `d.out' and `r.out'
53: are used respectively for -d and -r.
54: .PP
55: The version of the target machine may be given as the flag
56: .BI \-v n
57: where
58: .I n
59: is the version. The only recognized version at present is -vm, "Version
60: Macsbug." The effect of giving the -vm flag is to add /usr/sun/dm/include to
61: the include directories for cpp, to add /usr/sun/dm/lib as a library in which
62: to look for -lx libraries, and to load the symbol table if any into the region
63: starting at 0x6BA.
64: .PP
65: The file /usr/sun/lib/crt0.b is passed to ld68, ahead of all other .b files.
66: This has the effect of defining the symbol _start to be at the text origin and
67: having a routine that performs necessary initialization, enters main, and
68: exits cleanly to the monitor.
69: .PP
70: The following options are interpreted by
71: .IR cc .
72: See
73: .IR ld68 (1)
74: for load-time options.
75: .TP 8
76: .B \-d
77: Produce a .dl file suitable for downloading with the MACSBUG monitor of the
78: Motorola Design Module, cf.
79: .IR dl68 (1).
80: .TP
81: .B \-r
82: Produce a .r file suitable for direct loading by the 68000, cf.
83: .IR rev68 (1).
84: .TP
85: .B \-c
86: Suppress the loading phase of the compilation, and force
87: an object file to be produced even if only one program is compiled.
88: .TP
89: .B \-w
90: Suppress warning diagnostics. \fb[Note: may not work.]\fr
91: .TP
92: .SM
93: .B \-O
94: Invoke an
95: object-code improver.
96: .TP
97: .SM
98: .B \-S
99: Compile the named C programs, and leave the
100: assembler-language output on corresponding files suffixed `.s'.
101: .TP
102: .SM
103: .B \-E
104: Run only the macro preprocessor
105: on the named C programs, and send the result to the
106: standard output.
107: .TP
108: .B \-L
109: Produce an assembly listing for each source file, with the
110: suffixes changed to ``.ls''.
111: .TP
112: .B \-R
113: Preserve relocation commands in b.out.
114: .TP
115: .SM
116: .B \-C
117: prevent the macro preprocessor from eliding comments.
118: .TP
119: .SM
120: .B \-V
121: Link for a V kernel environment.
122: This is equivalent to specifying
123: .BI \-i/usr/sun/lib/teamroot.b
124: .B \-T 10000
125: and
126: .B \-lV
127: at the end.
128: .TP
129: .SM
130: .B \-m
131: Link for a Macintosh environment.
132: This is equivalent to specifying
133: .BI \-i/usr/sun/lib/crtmac.b
134: .B \-T 0
135: .B \-e _start
136: .B \-r
137: .B \-d
138: and
139: .B \-lmac
140: .B \-lc
141: at the end.
142: .BI
143: .TP
144: .BI \-o " output"
145: Name the final output file
146: .IR output .
147: If this option is used and the file `b.out' already exists it will be left
148: undisturbed.
149: .TP
150: .BI \-l x
151: Include libx.a as a library ld68 should search in for undefined functions.
152: .B x
153: may be more than one letter, as in -lpup.
154: .TP
155: .BI \-T " org"
156: Org specifies in hexadecimal where to begin loading the program.
157: .TP
158: .BI \-e " entrypoint"
159: Entrypoint specifies where to begin execution.
160: .TP
161: .SM
162: .BI \-D name=def
163: .br
164: .ns
165: .TP
166: .SM
167: .BI \-D \*Sname
168: Define the
169: .I name
170: to the preprocessor,
171: as if by
172: `#define'.
173: If no definition is given, the name is defined as "1".
174: .TP
175: .SM
176: .BI \-U \*Sname
177: Remove any initial definition of
178: .IR name .
179: .TP
180: .SM
181: .BI \-I \*Sdir
182: `#include' files
183: whose names do not begin with `/' are always
184: sought first in the directory
185: of the
186: .I file
187: argument,
188: then in directories named in
189: .B \-I
190: options,
191: then in directories on a standard list. The standard list
192: is (in order of search)
193: .I /usr/sun/include
194: and
195: .IR /usr/include .
196: .TP
197: .SM
198: .BI \-B \*Sstring
199: Find substitute compiler passes in the files named
200: .I string
201: with the suffixes cpp, ccom and c2.
202: If
203: .I string
204: is empty, use a standard backup version. \fb[Which doesn't work!]\fr
205: .TP
206: .BR \-t [ p012 ]
207: Find only the designated compiler passes in the
208: files whose names are constructed by a
209: .B \-B
210: option.
211: In the absence of a
212: .B \-B
213: option, the
214: .I string
215: is taken to be `/usr/c/'.
216: .TP
217: .B \-\-x
218: By default,
219: .I cc68
220: passes a
221: .B \-x
222: flag to
223: .IR ld68 ,
224: in order to suppress local symbols from the final symbol table. The
225: .B \-\-x
226: flag inhibits this default.
227: .PP
228: Other arguments
229: are taken
230: to be either loader option arguments, or C-compatible
231: object programs, typically produced by an earlier
232: .I cc68
233: run,
234: or perhaps libraries of C-compatible routines.
235: These programs, together with the results of any
236: compilations specified, are loaded (in the order
237: given) to produce an executable program with name
238: .B b.out.
239: .SH FILES
240: .ta \w'/usr/sun/lib/libc.a 'u
241: file.c input file
242: .br
243: file.b object file
244: .br
245: b.out loaded output
246: .br
247: /tmp/ctm? temporary
248: .br
249: /lib/cpp preprocessor
250: .br
251: /usr/sun/c68/comp compiler
252: .br
253: /usr/sun/c68/o68 optional optimizer
254: .br
255: /usr/sun/lib/crt0.b runtime startoff
256: .br
257: /usr/sun/lib/libc.a standard library, see (3)
258: .br
259: /usr/sun/include
260: .br
261: /usr/include standard directories for `#include' files
262: .SH "SEE ALSO"
263: B. W. Kernighan and D. M. Ritchie,
264: .I The C Programming Language,
265: Prentice-Hall,
266: 1978
267: .br
268: B. W. Kernighan,
269: .I
270: Programming in C\(ema tutorial
271: .br
272: D. M. Ritchie,
273: .I
274: C Reference Manual
275: .br
276: ld68(1)
277: .SH DIAGNOSTICS
278: The diagnostics produced by C itself are intended to be
279: self-explanatory.
280: Occasional messages may be produced by the assembler
281: or loader.
282: .SH BUGS
283: This is hacked up from
284: .IR cc (1),
285: and probably could be improved.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.