MIMOSA(1) USER COMMANDS MIMOSA(1)
NAME
mimosa - Cedar/Mesa compiler
SYNOPSIS
mimosa [ -options ]
←s←o←u←r←c←e←f←i←l←e ...
DESCRIPTION
←m←i←m←o←s←a is the Cedar/Mesa compiler. It translates programs
written in the Cedar/Mesa programming language into relocat-
able binary programs for subsequent loading, Cinding or
linking.
←m←i←m←o←s←a expects input files to have the extension .mesa. The
Mesa/Cedar compiler accepts two types of inputs - Defini-
tions modules and Program modules. The output of the
Mesa/Cedar compiler depends on the type of input: for Defin-
itions modules the result is a single output file with the
suffix .mob. For Program modules there are two output files
- the first has the suffix .mob, the second has the suffix
.o. See FILES, below for a complete list of mimosa-related
filename suffixes.
OPTIONS
-a Insert code to count how many times each basic
block is executed. Creates a .d file for every
.mesa file compiled. The .d file accumulates exe-
cution data for the corresponding source file.
The ←t←c←o←v(1) utility can then be run on the source
file to generate statistics about the program. [
Sun only ]
-b Don't insert code to perform bounds checking.
-c Don't compile, but produce the .c intermediate
file.
-d Show but do not execute the commands constructed
by the compilation driver.
-e Use external initialization code.
-f Generate old style signal catch code.
-g Don't produce additional symbol table information
for ←d←b←x(1) and ←d←b←x←t←o←o←l(1).
-h Display helpful information about ←m←i←m←o←s←a.
-i Print server status information.
-j Finish the mimosa compile from the .c file.
Sun Release 4.1 Last change: 5 May 1991 1
MIMOSA(1) USER COMMANDS MIMOSA(1)
-k Keep (rather than discard) the intermediate files
generated during compilation.
-l Use .c2c.c instead of .c for filename extension.
-m Don't compile, but produce the Mimosa intermediate
files.
-n Don't insert code to perform nil checking.
-o[N] Optimize the object code using level N optimiza-
tion, where N is a value [0..4]. The specifica-
tion of N is optional. The value of N defaults to
3. If the target architecture's C compiler does
not support multiple level optimization the level
is ignored.
-p Prepare the object code to collect data for pro-
filing with ←p←r←o←f(1). Invokes a run-time recording
mechanism that produces a ←m←o←n.←o←u←t file (at normal
termination).
-pw Pause if Warnings are encountered. The default is
to notify the client of the warnings but continue
to process the command line.
-q Generate position independent code with -pic. [
Sun only ]
-Q Generate position independent code with -PIC. [
Sun only ]
-r Do address arithmetic checking (warns the program-
mer of non-portable pointer arithmetic).
-s Don't assemble the program but produce an assembly
source file.
-target arch
Compile code for the arch architecture machine.
The valid options for arch are sun4, rs6000, and
dec. The default -target value is the architec-
ture of the machine upon which mimosa is being
run. This flag takes precedences over the the
TARGET←ARCH environment variable (described
below).
-t Don't report execution times for the various com-
pilation passes.
-u Don't report uninitialized variables.
Sun Release 4.1 Last change: 5 May 1991 2
MIMOSA(1) USER COMMANDS MIMOSA(1)
-v Verbose. Print the version number of the mimosa
and the name of each program it executes.
-w Do not print warnings.
-x filename
Call /usr/lib/inline with "-i filename". [ Sun
only ]
-y Yell about runtime calls.
-z Produce Mesa debugging information. dbx debugging
is only supported on the Sun. All other platforms
must use the Cirio debugger.
EXAMPLES
This simple form of the mimosa command is almost always suf-
ficient to produce even the most complicated systems:
mitty% mv FooImpl.c FooImpl.mesa
mitty% mimosa -z -k FooImpl
MCMC
mimosa: seconds: 37
mitty%
The switches -←z -←k instruct mimosa to invoke the symbol
table translator ms to enable Mesa source level debugging of
the resulting file, ←F←o←o←I←m←p←l.←o.
ENVIRONMENT
TOOLS←SHMTYPE is an environment variable that specifies
the type of shared memory the packaged tool
will use for its execution. The possible
values are ←m←m←a←p (memory mapped) and ←s←v
(SystemV). ←s←v is the default. If
TOOLS←SHMTYPE=mmap, then the packaged tools
world will be started with shmtype=mmap;
otherwise the packaged tools world will be
started with shmtype=sv. If the
shmtype=mmap is specified mimosa will check
for the existence of a /pcrswap directory
prior to starting the packaged tools world.
MIMOSA←SERVER is the name of the machine upon which to do
any cross-compilation. Mimosa does not
verify that machine $MIMOSA←SERVER is of
the architecture type specified by the
-target option. This environment variable
is only consulted if the local machine is
not of the same architecture as specified
by the -target option.
Sun Release 4.1 Last change: 5 May 1991 3
MIMOSA(1) USER COMMANDS MIMOSA(1)
TARGET←ARCH is the name of the target architecture for
which the compiling is being done. The
valid values of $TARGET←ARCH are the same
as for the -target argument. A rsh is done
to a remote machine if the local machine is
not of the $TARGET←ARCH architecture. The
user should have appropriate .rhosts
entries. Any -target argument takes pre-
cedence over the value of TARGET←ARCH.
FILES
←f←i←l←e.c C intermediate file
←f←i←l←e.cTypes intermediate symbol file output from Mimosa
←f←i←l←e.d ←t←c←o←v(1) test coverage input file
←f←i←l←e.errlog Mimosa error log
←f←i←l←e.icd Mimosa intermediate code output file
←f←i←l←e.mesa Cedar/Mesa source file
←f←i←l←e.names intermediate symbol file output from Mimosa
←f←i←l←e.o object file
←f←i←l←e.s assembler source file
←f←i←l←e.tcov output from ←t←c←o←v(1)
←C←o←m←p←i←l←e←r.←l←o←g Mimosa compiler log file
←m←o←n.←o←u←t file produced for analysis by ←p←r←o←f(1)
←g←m←o←n.←o←u←t file produced for analysis by ←g←p←r←o←f(1)
SEE ALSO
adb(1), ar(1), as(1), cinder(1), cc(1), cpp(1), dbx(1),
gprof(1), ld(1), make(1), monitor(3), prof(1), tcov(1)
←T←h←e ←M←e←s←a ←L←a←n←g←u←a←g←e ←M←a←n←u←a←l, 1985
←L←a←n←g←u←a←g←e ←C←h←a←n←g←e ←S←u←m←m←a←r←y, 1989
DIAGNOSTICS
The diagnostics produced by mimosa itself are intended to be
self-explanatory. Occasional obscure messages may be pro-
duced by the Mimosa front end, C2C back end, C preprocessor,
C compiler or the assembler.
Sun Release 4.1 Last change: 5 May 1991 4