6m(1) 6m(1)
NAME
6m
SYNOPSIS
6m [ -?hioSG9d ] [ file ... ]
DESCRIPTION
The ?m compiler family compiles Myrddin source into object
files for the corresponding architecture. Each architecture
gets its own compler. Unless otherwise specified, if the
input file is named filename.myr then the the object file
that is generated will be named filename.o.
Any text between the first '+' in the file name and the suf-
fix are stripped. This functionality is used to specify sys-
tem tags for tools like mbld.
If the filename does not end with the suffix .myr then the
object suffix .o will simply be appended to it.
The following architectures are currently supported:
6m x86-64
The compiler options are:
-h | -?
Print a summary of the available options.
-d [flTriu]
Print debugging dumps. Additional options may be given
to give more debugging information for specific inter-
mediate states of the compilation.
-I path
Add 'path' to the search path for unquoted use stat-
ments. This option does not affect the search path for
local usefiles, which are always searched relative to
the directory containing the output file. Without any
options, the search path defaults to /usr/include/myr.
-o output-file
Specify that the generated code should be placed in
output-file instead of the default location.
-S Generate assembly code along with the object file.
-G Generate assembly in the Gnu As syntax.
-O out
Output code to output path 'out'
-T Compile in test mode. This implies that pkglocal func-
tions are available.
-9 Generate assembly in the Plan 9 syntax.
EXAMPLE
6m foo.myr
6m bar.myr
ld -o foobar foo.o bar.o
FILES
The source code for this compiler is available from
git://git.eigenstate.org/git/ori/mc.git
SEE ALSO
muse(1), 2l(1), 2a(1), ld(1), as(1)
BUGS
There are virtually no optimizations done, and the generated
source is often very poorly performing.
The current calling convention is stack-based and not
register-based, even on architectures where it should be
register-based.
The calling convention is not compatible with C.
/plan9/man/1/