nvramtool: 64bit safe CBFS handling
[coreboot.git] / util / romcc / romcc.1
1 .TH ROMCC 1 "September 19, 2006"
2 .SH NAME
3 romcc \- 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
10 is a C compiler which produces binaries which do not rely on RAM, but
11 instead only use CPU registers.
12 .PP
13 It is prominently used in the coreboot project to compile C code which
14 needs to run before the firmware has initialized the RAM, but can be
15 used for other purposes, too.
16 .SH OPTIONS
17 .TP
18 .B "\-o" <filename>
19 Output file name.
20 .TP
21 .B "\-f<option>"
22 Specify a generic compiler option.
23 .TP
24 .B "\-m<option>"
25 Specify an architecture-dependent compiler option.
26 .TP
27 .B "\-\-"
28 Specify 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
228 Please report any bugs to Eric W. Biederman <ebiederman@lnxi.com>.
229 .SH LICENCE
230 .B romcc
231 is 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
236 2003-2006 Eric W. Biederman
237 .SH AUTHORS
238 Eric W. Biederman <ebiederman@lnxi.com>
239 .br
240 Some contributions by others.
241 .PP
242 This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>.
243 It is licensed under the terms of the GNU GPL (v2 or later).