|
|
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.