romcc man page

romcc — compile C programs into binaries that don't use any RAM

Synopsis

romcc [Options] <source>.c

Description

romcc is a C compiler which produces binaries which do not rely on RAM, but instead only use CPU registers.

It is prominently used in the coreboot project to compile C code which needs to run before the firmware has initialized the RAM, but can be used for other purposes, too.

Options

-o <filename>
Output file name.
-f<option>
Specify a generic compiler option.
-m<option>
Specify an architecture-dependent compiler option.
--
Specify that this is the last option.

Generic Compiler Options

-O

-O2

-E

-ftrigraphs

-fno-trigraphs

-fpp-only

-fno-pp-only

-feliminate-inefectual-code

-fno-eliminate-inefectual-code

-fsimplify

-fno-simplify

-fscc-transform

-fno-scc-transform

-fsimplify-op

-fno-simplify-op

-fsimplify-phi

-fno-simplify-phi

-fsimplify-label

-fno-simplify-label

-fsimplify-branch

-fno-simplify-branch

-fsimplify-copy

-fno-simplify-copy

-fsimplify-arith

-fno-simplify-arith

-fsimplify-shift

-fno-simplify-shift

-fsimplify-bitwise

-fno-simplify-bitwise

-fsimplify-logical

-fno-simplify-logical

-fsimplify-bitfield

-fno-simplify-bitfield

-finline-policy=always

-finline-policy=never

-finline-policy=defaulton

-finline-policy=defaultoff

-finline-policy=nopenalty

-fdebug-all

-fno-debug-all

-fdebug-abort-on-error

-fno-debug-abort-on-error

-fdebug-basic-blocks

-fno-debug-basic-blocks

-fdebug-fdominators

-fno-debug-fdominators

-fdebug-rdominators

-fno-debug-rdominators

-fdebug-triples

-fno-debug-triples

-fdebug-interference

-fno-debug-interference

-fdebug-scc-transform

-fno-debug-scc-transform

-fdebug-scc-transform2

-fno-debug-scc-transform2

-fdebug-rebuild-ssa-form

-fno-debug-rebuild-ssa-form

-fdebug-inline

-fno-debug-inline

-fdebug-live-range-conflicts

-fno-debug-live-range-conflicts

-fdebug-live-range-conflicts2

-fno-debug-live-range-conflicts2

-fdebug-color-graph

-fno-debug-color-graph

-fdebug-color-graph2

-fno-debug-color-graph2

-fdebug-coalescing

-fno-debug-coalescing

-fdebug-coalescing2

-fno-debug-coalescing2

-fdebug-verification

-fno-debug-verification

-fdebug-calls

-fno-debug-calls

-fdebug-calls2

-fno-debug-calls2

-fdebug-tokens

-fno-debug-tokens

-flabel-prefix=<prefix for assembly language labels>

--label-prefix=<prefix for assembly language labels>

-I<include path>

-D<macro>[=defn]

-U<macro>

Architecture-Specific Compiler Options

-mmmx

-mno-mmx

-msse

-mno-sse

-mnoop-copy

-mno-noop-copy

-mcpu=i386

-mcpu=p2

-mcpu=p3

-mcpu=p4

-mcpu=k7

-mcpu=k8

-mcpu=c3

-mcpu=c3-2

Bugs

Please report any bugs to Eric W. Biederman <ebiederman@lnxi.com>.

Licence

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

See Also

flashrom(1), abuild(1).

Authors

Eric W. Biederman <ebiederman@lnxi.com>
Some contributions by others.

This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>. It is licensed under the terms of the GNU GPL (v2 or later).

Info

September 19, 2006