vmipstool - VMIPS front end for common programming tasks
vmipstool [ --verbose ] [ --dry-run ] --compile [ FLAGS ]
FILE.c -o FILE.o
vmipstool [ --verbose ] [ --dry-run ] --preprocess [ FLAGS ] FILE
vmipstool [ --verbose ] [ --dry-run ] --assemble [ FLAGS ]
FILE.s -o FILE.o
vmipstool [ --verbose ] [ --dry-run ] [ --ld-script=T ] --link
[ FLAGS ] FILE1.o ... FILEn.o -o PROG
vmipstool [ --verbose ] [ --dry-run ] --make-rom PROG PROG.rom
vmipstool [ --verbose ] [ --dry-run ] --disassemble-rom PROG.rom
vmipstool [ --verbose ] [ --dry-run ] --disassemble-word PC INSTR
vmipstool [ --verbose ] [ --dry-run ] --disassemble PROG (or FILE.o)
vmipstool [ --verbose ] [ --dry-run ] --swap-words INPUT OUTPUT
vmipstool --help
vmipstool --version
vmipstool is intended to be a friendly front-end to the process of
compiling, linking, and assembling code for VMIPS using the GNU Compiler
Collection (GCC) and GNU Binutils.
Note that you do not need to use
vmipstool, or even GCC, to compile
programs for VMIPS; you can use any MIPS compiler and assembler you have
handy.
This is what the different command line options mean:
- --help
- Display this help message and exit.
- --version
- Display the version of vmipstool and exit.
- --verbose
- Echo commands as they are run.
- --dry-run
- Don't actually run anything; use with --verbose.
- --ld-script=T
- Use T as the linker script (instead of default script); use with
--link.
- --compile
- Compile C code. The remainder of the command line must consist of
arguments to the GNU C compiler.
- --preprocess
- Preprocess C source code or assembly code. The remainder of the command
line must consist of arguments to the GNU C preprocessor.
- --assemble
- Translate assembly code to object files. The remainder of the command line
must consist of arguments to the GNU assembler.
- --link
- Link objects together to create an executable. The remainder of the
command line must consist of arguments to the GNU linker.
- --make-rom
- Write a program into a ROM file. The next 2 arguments are the executable
and the ROM file, respectively.
- --disassemble
- Disassemble a relocatable object file (*.o file) or an executable.
- --disassemble-rom
- Disassemble arbitrary data, possibly including ROM files. (More
information is available with --disassemble, but it only works on programs
which have not been written into ROMs.)
- --disassemble-word
- Disassemble an instruction whose binary encoding is passed as a
command-line argument. Because instructions can have PC-relative immediate
arguments, the PC must also be specified.
- --swap-words
- Copy the input file to the output file, reversing the byte-order of each
32-bit word in the process. This can be used to translate chunks of data
from big-endian to little-endian, or vice-versa.
Note that
vmipstool consults your
/etc/vmipsrc and
~/.vmipsrc to determine where the MIPS cross compiler, assembler, and
objdump and
objcopy tools are. If you install new cross-tools,
you should edit these configuration files to reflect the new location of the
MIPS tools, and to reflect their default endianness, by changing the settings
of
mipstoolprefix and
bigendian.
For instructions on reporting bugs, see the "Reporting Bugs" appendix
of the Info manual.
vmips(1),
as(1),
ld(1),
gdb(1), and the Info entries
for
gcc,
as,
ld,
binutils and
gdb.
vmipstool was written by Brian Gaeke.
Copyright (c) 2001, 2002, 2004, 2009, 2014 Brian R. Gaeke.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this document (the "Document"), to deal in the Document without
restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Document,
and to permit persons to whom the Document is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Document.
THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER
DEALINGS IN THE DOCUMENT.