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