1ROMCC(1)                    General Commands Manual                   ROMCC(1)
2
3
4

NAME

6       romcc - compile C programs into binaries that don't use any RAM
7

SYNOPSIS

9       romcc [OPTIONS] <source>.c
10

DESCRIPTION

12       romcc is a C compiler which produces binaries which do not rely on RAM,
13       but instead only use CPU registers.
14
15       It is prominently used in the coreboot project to compile C code  which
16       needs  to  run  before the firmware has initialized the RAM, but can be
17       used for other purposes, too.
18

OPTIONS

20       -o <filename>
21              Output file name.
22
23       -f<option>
24              Specify a generic compiler option.
25
26       -m<option>
27              Specify an architecture-dependent compiler option.
28
29       --     Specify that this is the last option.
30

GENERIC COMPILER OPTIONS

32       -O
33
34       -O2
35
36       -E
37
38       -ftrigraphs
39
40       -fno-trigraphs
41
42       -fpp-only
43
44       -fno-pp-only
45
46       -feliminate-inefectual-code
47
48       -fno-eliminate-inefectual-code
49
50       -fsimplify
51
52       -fno-simplify
53
54       -fscc-transform
55
56       -fno-scc-transform
57
58       -fsimplify-op
59
60       -fno-simplify-op
61
62       -fsimplify-phi
63
64       -fno-simplify-phi
65
66       -fsimplify-label
67
68       -fno-simplify-label
69
70       -fsimplify-branch
71
72       -fno-simplify-branch
73
74       -fsimplify-copy
75
76       -fno-simplify-copy
77
78       -fsimplify-arith
79
80       -fno-simplify-arith
81
82       -fsimplify-shift
83
84       -fno-simplify-shift
85
86       -fsimplify-bitwise
87
88       -fno-simplify-bitwise
89
90       -fsimplify-logical
91
92       -fno-simplify-logical
93
94       -fsimplify-bitfield
95
96       -fno-simplify-bitfield
97
98       -finline-policy=always
99
100       -finline-policy=never
101
102       -finline-policy=defaulton
103
104       -finline-policy=defaultoff
105
106       -finline-policy=nopenalty
107
108       -fdebug-all
109
110       -fno-debug-all
111
112       -fdebug-abort-on-error
113
114       -fno-debug-abort-on-error
115
116       -fdebug-basic-blocks
117
118       -fno-debug-basic-blocks
119
120       -fdebug-fdominators
121
122       -fno-debug-fdominators
123
124       -fdebug-rdominators
125
126       -fno-debug-rdominators
127
128       -fdebug-triples
129
130       -fno-debug-triples
131
132       -fdebug-interference
133
134       -fno-debug-interference
135
136       -fdebug-scc-transform
137
138       -fno-debug-scc-transform
139
140       -fdebug-scc-transform2
141
142       -fno-debug-scc-transform2
143
144       -fdebug-rebuild-ssa-form
145
146       -fno-debug-rebuild-ssa-form
147
148       -fdebug-inline
149
150       -fno-debug-inline
151
152       -fdebug-live-range-conflicts
153
154       -fno-debug-live-range-conflicts
155
156       -fdebug-live-range-conflicts2
157
158       -fno-debug-live-range-conflicts2
159
160       -fdebug-color-graph
161
162       -fno-debug-color-graph
163
164       -fdebug-color-graph2
165
166       -fno-debug-color-graph2
167
168       -fdebug-coalescing
169
170       -fno-debug-coalescing
171
172       -fdebug-coalescing2
173
174       -fno-debug-coalescing2
175
176       -fdebug-verification
177
178       -fno-debug-verification
179
180       -fdebug-calls
181
182       -fno-debug-calls
183
184       -fdebug-calls2
185
186       -fno-debug-calls2
187
188       -fdebug-tokens
189
190       -fno-debug-tokens
191
192       -flabel-prefix=<prefix for assembly language labels>
193
194       --label-prefix=<prefix for assembly language labels>
195
196       -I<include path>
197
198       -D<macro>[=defn]
199
200       -U<macro>
201

ARCHITECTURE-SPECIFIC COMPILER OPTIONS

203       -mmmx
204
205       -mno-mmx
206
207       -msse
208
209       -mno-sse
210
211       -mnoop-copy
212
213       -mno-noop-copy
214
215       -mcpu=i386
216
217       -mcpu=p2
218
219       -mcpu=p3
220
221       -mcpu=p4
222
223       -mcpu=k7
224
225       -mcpu=k8
226
227       -mcpu=c3
228
229       -mcpu=c3-2
230

BUGS

232       Please report any bugs to https://ticket.coreboot.org/projects/coreboot
233       or the coreboot mailing list at <coreboot@coreboot.org>.
234

LICENCE

236       romcc is covered by the GNU General Public License (GPL), version 2.
237

SEE ALSO

239       flashrom(1), abuild(1).
240
242       2003-2006 Eric W. Biederman
243

AUTHORS

245       Eric W. Biederman <ebiederman@lnxi.com>
246       Some contributions by others.
247
248       This  manual  page was written by Uwe Hermann <uwe@hermann-uwe.de>.  It
249       is licensed under the terms of the GNU GPL (v2 or later).
250
251
252
253                              September 19, 2006                      ROMCC(1)
Impressum