.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "VMIPSTOOL 1" .TH VMIPSTOOL 1 "2004-11-27" "vmips 1.3" "VMIPS Programmer's Manual" .SH "NAME" vmipstool \- VMIPS front end for common programming tasks .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 14 \& 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 .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBvmipstool\fR is intended to be a friendly front-end to the process of compiling, linking, and assembling code for \s-1VMIPS\s0 using the \s-1GNU\s0 Compiler Collection (\s-1GCC\s0) and \s-1GNU\s0 Binutils. .PP Note that you do not need to use \fBvmipstool\fR, or even \s-1GCC\s0, to compile programs for \s-1VMIPS\s0; you can use any \s-1MIPS\s0 compiler and assembler you have handy. .SH "OPTIONS" .IX Header "OPTIONS" This is what the different command line options mean: .IP "\fB\-\-help\fR" 4 .IX Item "--help" Display this help message and exit. .IP "\fB\-\-version\fR" 4 .IX Item "--version" Display the version of vmipstool and exit. .IP "\fB\-\-verbose\fR" 4 .IX Item "--verbose" Echo commands as they are run. .IP "\fB\-\-dry\-run\fR" 4 .IX Item "--dry-run" Don't actually run anything; use with \-\-verbose. .IP "\fB\-\-ld\-script=T\fR" 4 .IX Item "--ld-script=T" Use T as the linker script (instead of default script); use with \-\-link. .IP "\fB\-\-compile\fR" 4 .IX Item "--compile" Compile C code. The remainder of the command line must consist of arguments to the \s-1GNU\s0 C compiler. .IP "\fB\-\-preprocess\fR" 4 .IX Item "--preprocess" Preprocess C source code or assembly code. The remainder of the command line must consist of arguments to the \s-1GNU\s0 C preprocessor. .IP "\fB\-\-assemble\fR" 4 .IX Item "--assemble" Translate assembly code to object files. The remainder of the command line must consist of arguments to the \s-1GNU\s0 assembler. .IP "\fB\-\-link\fR" 4 .IX Item "--link" Link objects together to create an executable. The remainder of the command line must consist of arguments to the \s-1GNU\s0 linker. .IP "\fB\-\-make\-rom\fR" 4 .IX Item "--make-rom" Write a program into a \s-1ROM\s0 file. The next 2 arguments are the executable and the \s-1ROM\s0 file, respectively. .IP "\fB\-\-disassemble\fR" 4 .IX Item "--disassemble" Disassemble a relocatable object file (*.o file) or an executable. .IP "\fB\-\-disassemble\-rom\fR" 4 .IX Item "--disassemble-rom" Disassemble arbitrary data, possibly including \s-1ROM\s0 files. (More information is available with \-\-disassemble, but it only works on programs which have not been written into ROMs.) .IP "\fB\-\-disassemble\-word\fR" 4 .IX Item "--disassemble-word" Disassemble an instruction whose binary encoding is passed as a command-line argument. Because instructions can have PC-relative immediate arguments, the \&\s-1PC\s0 must also be specified. .IP "\fB\-\-swap\-words\fR" 4 .IX Item "--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. .SH "FILES" .IX Header "FILES" Note that \fBvmipstool\fR consults your \fI/etc/vmipsrc\fR and \&\fI~/.vmipsrc\fR to determine where the \s-1MIPS\s0 cross compiler, assembler, and \fBobjdump\fR and \fBobjcopy\fR tools are. If you install new cross\-tools, you should edit these configuration files to reflect the new location of the \s-1MIPS\s0 tools, and to reflect their default endianness, by changing the settings of \fBmipstoolprefix\fR and \fBbigendian\fR. .SH "BUGS" .IX Header "BUGS" For instructions on reporting bugs, see the \*(L"Reporting Bugs\*(R" appendix of the Info manual. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIvmips\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), and the Info entries for \fIgcc\fR, \fIas\fR, \&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. .SH "AUTHOR" .IX Header "AUTHOR" vmipstool was written by Brian Gaeke. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2001, 2002, 2004 Brian R. Gaeke. .PP Permission is hereby granted, free of charge, to any person obtaining a copy of this document (the \*(L"Document\*(R"), 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: .PP The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Document. .PP \&\s-1THE\s0 \s-1DOCUMENT\s0 \s-1IS\s0 \s-1PROVIDED\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R", \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EXPRESS\s0 \s-1OR\s0 \&\s-1IMPLIED\s0, \s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1THE\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0, \&\s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0 \s-1AND\s0 \s-1NONINFRINGEMENT\s0. \s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1SHALL\s0 \s-1THE\s0 \&\s-1AUTHORS\s0 \s-1OR\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1BE\s0 \s-1LIABLE\s0 \s-1FOR\s0 \s-1ANY\s0 \s-1CLAIM\s0, \s-1DAMAGES\s0 \s-1OR\s0 \s-1OTHER\s0 \&\s-1LIABILITY\s0, \s-1WHETHER\s0 \s-1IN\s0 \s-1AN\s0 \s-1ACTION\s0 \s-1OF\s0 \s-1CONTRACT\s0, \s-1TORT\s0 \s-1OR\s0 \s-1OTHERWISE\s0, \s-1ARISING\s0 \s-1FROM\s0, \&\s-1OUT\s0 \s-1OF\s0 \s-1OR\s0 \s-1IN\s0 \s-1CONNECTION\s0 \s-1WITH\s0 \s-1THE\s0 \s-1DOCUMENT\s0 \s-1OR\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1DEALINGS\s0 \s-1IN\s0 \s-1THE\s0 \&\s-1DOCUMENT\s0.