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