1.TH ROMCC 1 "September 19, 2006" 2.SH NAME 3romcc \- compile C programs into binaries that don't use any RAM 4.SH SYNOPSIS 5.B romcc 6[OPTIONS] 7<source>.c 8.SH DESCRIPTION 9.B romcc 10is a C compiler which produces binaries which do not rely on RAM, but 11instead only use CPU registers. 12.PP 13It is prominently used in the coreboot project to compile C code which 14needs to run before the firmware has initialized the RAM, but can be 15used for other purposes, too. 16.SH OPTIONS 17.TP 18.B "\-o" <filename> 19Output file name. 20.TP 21.B "\-f<option>" 22Specify a generic compiler option. 23.TP 24.B "\-m<option>" 25Specify an architecture-dependent compiler option. 26.TP 27.B "\-\-" 28Specify that this is the last option. 29.SH "GENERIC COMPILER OPTIONS" 30.B "\-O" 31.TP 32.B "\-O2" 33.TP 34.B "\-E" 35.TP 36.B "\-ftrigraphs" 37.TP 38.B "\-fno-trigraphs" 39.TP 40.B "\-fpp-only" 41.TP 42.B "\-fno-pp-only" 43.TP 44.B "\-feliminate-inefectual-code" 45.TP 46.B "\-fno-eliminate-inefectual-code" 47.TP 48.B "\-fsimplify" 49.TP 50.B "\-fno-simplify" 51.TP 52.B "\-fscc-transform" 53.TP 54.B "\-fno-scc-transform" 55.TP 56.B "\-fsimplify-op" 57.TP 58.B "\-fno-simplify-op" 59.TP 60.B "\-fsimplify-phi" 61.TP 62.B "\-fno-simplify-phi" 63.TP 64.B "\-fsimplify-label" 65.TP 66.B "\-fno-simplify-label" 67.TP 68.B "\-fsimplify-branch" 69.TP 70.B "\-fno-simplify-branch" 71.TP 72.B "\-fsimplify-copy" 73.TP 74.B "\-fno-simplify-copy" 75.TP 76.B "\-fsimplify-arith" 77.TP 78.B "\-fno-simplify-arith" 79.TP 80.B "\-fsimplify-shift" 81.TP 82.B "\-fno-simplify-shift" 83.TP 84.B "\-fsimplify-bitwise" 85.TP 86.B "\-fno-simplify-bitwise" 87.TP 88.B "\-fsimplify-logical" 89.TP 90.B "\-fno-simplify-logical" 91.TP 92.B "\-fsimplify-bitfield" 93.TP 94.B "\-fno-simplify-bitfield" 95.TP 96.B "\-finline-policy=always" 97.TP 98.B "\-finline-policy=never" 99.TP 100.B "\-finline-policy=defaulton" 101.TP 102.B "\-finline-policy=defaultoff" 103.TP 104.B "\-finline-policy=nopenalty" 105.TP 106.B "\-fdebug-all" 107.TP 108.B "\-fno-debug-all" 109.TP 110.B "\-fdebug-abort-on-error" 111.TP 112.B "\-fno-debug-abort-on-error" 113.TP 114.B "\-fdebug-basic-blocks" 115.TP 116.B "\-fno-debug-basic-blocks" 117.TP 118.B "\-fdebug-fdominators" 119.TP 120.B "\-fno-debug-fdominators" 121.TP 122.B "\-fdebug-rdominators" 123.TP 124.B "\-fno-debug-rdominators" 125.TP 126.B "\-fdebug-triples" 127.TP 128.B "\-fno-debug-triples" 129.TP 130.B "\-fdebug-interference" 131.TP 132.B "\-fno-debug-interference" 133.TP 134.B "\-fdebug-scc-transform" 135.TP 136.B "\-fno-debug-scc-transform" 137.TP 138.B "\-fdebug-scc-transform2" 139.TP 140.B "\-fno-debug-scc-transform2" 141.TP 142.B "\-fdebug-rebuild-ssa-form" 143.TP 144.B "\-fno-debug-rebuild-ssa-form" 145.TP 146.B "\-fdebug-inline" 147.TP 148.B "\-fno-debug-inline" 149.TP 150.B "\-fdebug-live-range-conflicts" 151.TP 152.B "\-fno-debug-live-range-conflicts" 153.TP 154.B "\-fdebug-live-range-conflicts2" 155.TP 156.B "\-fno-debug-live-range-conflicts2" 157.TP 158.B "\-fdebug-color-graph" 159.TP 160.B "\-fno-debug-color-graph" 161.TP 162.B "\-fdebug-color-graph2" 163.TP 164.B "\-fno-debug-color-graph2" 165.TP 166.B "\-fdebug-coalescing" 167.TP 168.B "\-fno-debug-coalescing" 169.TP 170.B "\-fdebug-coalescing2" 171.TP 172.B "\-fno-debug-coalescing2" 173.TP 174.B "\-fdebug-verification" 175.TP 176.B "\-fno-debug-verification" 177.TP 178.B "\-fdebug-calls" 179.TP 180.B "\-fno-debug-calls" 181.TP 182.B "\-fdebug-calls2" 183.TP 184.B "\-fno-debug-calls2" 185.TP 186.B "\-fdebug-tokens" 187.TP 188.B "\-fno-debug-tokens" 189.TP 190.B "\-flabel-prefix=<prefix for assembly language labels>" 191.TP 192.B "\-\-label-prefix=<prefix for assembly language labels>" 193.TP 194.B "\-I<include path>" 195.TP 196.B "\-D<macro>[=defn]" 197.TP 198.B "\-U<macro>" 199.SH "ARCHITECTURE-SPECIFIC COMPILER OPTIONS" 200.B "\-mmmx" 201.TP 202.B "\-mno-mmx" 203.TP 204.B "\-msse" 205.TP 206.B "\-mno-sse" 207.TP 208.B "\-mnoop-copy" 209.TP 210.B "\-mno-noop-copy" 211.TP 212.B "\-mcpu=i386" 213.TP 214.B "\-mcpu=p2" 215.TP 216.B "\-mcpu=p3" 217.TP 218.B "\-mcpu=p4" 219.TP 220.B "\-mcpu=k7" 221.TP 222.B "\-mcpu=k8" 223.TP 224.B "\-mcpu=c3" 225.TP 226.B "\-mcpu=c3-2" 227.SH BUGS 228Please report any bugs to Eric W. Biederman <ebiederman@lnxi.com>. 229.SH LICENCE 230.B romcc 231is covered by the GNU General Public License (GPL), version 2. 232.SH SEE ALSO 233.BR flashrom (1), 234.BR abuild (1). 235.SH COPYRIGHT 2362003-2006 Eric W. Biederman 237.SH AUTHORS 238Eric W. Biederman <ebiederman@lnxi.com> 239.br 240Some contributions by others. 241.PP 242This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>. 243It is licensed under the terms of the GNU GPL (v2 or later). 244

