[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Command-Line Options

This chapter describes command-line options available in all versions of the GNU assembler; see section 8. MIPS Dependent Features, for options specific to the MIPS.

If you are invoking sde-as via the GNU C compiler (version 2), you can use the `-Wa' option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the `-Wa') by commas. For example:

 
gcc -c -g -O -Wa,-alh,-L file.c

This passes two options to the assembler: `-alh' (emit a listing to standard output with with high-level and assembly source) and `-L' (retain local symbols in the symbol table).

Usually you do not need to use this `-Wa' mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the `-v' option to see precisely what options it passes to each compilation pass, including the assembler.)

2.1 Enable Listings: -a[cdhlns]  -a[cdhlns] enable listings
2.2 -D  -D for compatibility
2.3 Work Faster: -f  -f to work faster
2.4 .include search path: -I path  -I for .include search path
2.5 Difference Tables: -K  -K for compatibility
2.6 Include Local Labels: -L  -L to retain local labels
2.7 Assemble in MRI Compatibility Mode: -M  -M or --mri to assemble in MRI compatibility mode
2.8 Dependency tracking: --MD  --MD for dependency tracking
2.9 Name the Object File: -o  -o to name the object file
2.10 Join Data and Text Sections: -R  -R to join data and text sections
2.11 Display Assembly Statistics: --statistics  --statistics to see statistics about assembly
2.12 Compatible output: --traditional-format  --traditional-format for compatible output
2.13 Announce Version: -v  -v to announce version
2.14 Control Warnings: -W, --warn, --no-warn  -W, --no-warn, --warn to control warnings
2.15 Make Warnings Fatal: -X, --fatal-warnings  -X, --fatal-warnings to make warnings fatal
2.16 Generate Object File in Spite of Errors: -Z  -Z to make object file even after errors


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Enable Listings: -a[cdhlns]

These options enable listing output from the assembler. By itself, `-a' requests high-level, assembly, and symbols listing. You can use other letters to select specific options for the list: `-ah' requests a high-level language listing, `-al' requests an output-program assembly listing, and `-as' requests a symbol table listing. High-level listings require that a compiler debugging option like `-g' be used, and that assembly listings (`-al') be requested also.

Use the `-ac' option to omit false conditionals from a listing. Any lines which are not assembled because of a false .if (or .ifdef, or any other conditional), or a true .if followed by an .else, will be omitted from the listing.

Use the `-ad' option to omit debugging directives from the listing.

Once you have specified one of these options, you can further control listing output and its appearance using the directives .list, .nolist, .psize, .eject, .title, and .sbttl. The `-an' option turns off all forms processing. If you do not request listing output with one of the `-a' options, the listing-control directives have no effect.

The letters after `-a' may be combined into one option, e.g., `-aln'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 -D

This option has no effect whatsoever, but it is accepted to make it more likely that scripts written for other assemblers also work with sde-as.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Work Faster: -f

`-f' should only be used when assembling programs written by a (trusted) compiler. `-f' stops the assembler from doing whitespace and comment preprocessing on the input file(s) before assembling them. See section Preprocessing.

Warning: if you use `-f' when the files actually need to be preprocessed (if they contain comments, for example), sde-as does not work correctly.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 .include search path: -I path

Use this option to add a path to the list of directories sde-as searches for files specified in .include directives (see section .include). You may use -I as many times as necessary to include a variety of paths. The current working directory is always searched first; after that, sde-as searches any `-I' directories in the same order as they were specified (left to right) on the command line.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 Difference Tables: -K

On the MIPS family, this option is allowed, but has no effect. It is permitted for compatibility with the GNU assembler on other platforms, where it can be used to warn when the assembler alters the machine code generated for `.word' directives in difference tables. The MIPS family does not have the addressing limitations that sometimes lead to this alteration on other platforms.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.6 Include Local Labels: -L

Labels beginning with `L' (upper case only) are called local labels. See section 5.3 Symbol Names. Normally you do not see such labels when debugging, because they are intended for the use of programs (like compilers) that compose assembler programs, not for your notice. Normally both sde-as and sde-ld discard such labels, so you do not normally debug with them.

This option tells sde-as to retain those `L...' symbols in the object file. Usually if you do this you also tell the linker sde-ld to preserve symbols whose names begin with `L'.

By default, a local label is any label beginning with `L', but each target is allowed to redefine the local label prefix.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7 Assemble in MRI Compatibility Mode: -M

The -M or --mri option selects MRI compatibility mode. This changes the syntax and pseudo-op handling of sde-as to make it compatible with the ASM68K or the ASM960 (depending upon the configured target) assembler from Microtec Research. The exact nature of the MRI syntax will not be documented here; see the MRI manuals for more information. Note in particular that the handling of macros and macro arguments is somewhat different. The purpose of this option is to permit assembling existing MRI assembler code using sde-as.

The MRI compatibility is not complete. Certain operations of the MRI assembler depend upon its object file format, and can not be supported using other object file formats. Supporting these would require enhancing each object file format individually. These are:

There are some other features of the MRI assembler which are not supported by sde-as, typically either because they are difficult or because they seem of little consequence. Some of these may be supported in future releases.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.8 Dependency tracking: --MD

sde-as can generate a dependency file for the file it creates. This file consists of a single rule suitable for make describing the dependencies of the main source file.

The rule is written to the file named in its argument.

This feature is used in the automatic updating of makefiles.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.9 Name the Object File: -o

There is always one object file output when you run sde-as. By default it has the name `a.out'. You use this option (which takes exactly one filename) to give the object file a different name.

Whatever the object file is called, sde-as overwrites any existing file of the same name.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.10 Join Data and Text Sections: -R

-R tells sde-as to write the object file as if all data-section data lives in the text section. This is only done at the very last moment: your binary data are the same, but data section parts are relocated differently. The data section part of your object file is zero bytes long because all its bytes are appended to the text section. (See section Sections and Relocation.)

When you specify -R it would be possible to generate shorter address displacements (because we do not have to cross between text and data section). We refrain from doing this simply for compatibility with older versions of sde-as. In future, -R may work this way.

When sde-as is generating an object format which supports named sections, this option is only useful if you use sections named `.text' and `.data'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.11 Display Assembly Statistics: --statistics

Use `--statistics' to display two statistics about the resources used by sde-as: the maximum amount of space allocated during the assembly (in bytes), and the total execution time taken for the assembly (in CPU seconds).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.12 Compatible output: --traditional-format

For some targets, the output of sde-as is different in some ways from the output of some existing assembler. This switch requests sde-as to use the traditional format instead.

For example, it disables the exception frame optimizations which sde-as normally does by default on sde-gcc output.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.13 Announce Version: -v

You can find out what version of as is running by including the option `-v' (which you can also spell as `-version') on the command line.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.14 Control Warnings: -W, --warn, --no-warn

sde-as should never give a warning or error message when assembling compiler output. But programs written by people often cause sde-as to give a warning that a particular assumption was made. All such warnings are directed to the standard error file.

If you use the `-W' and `--no-warn' options, no warnings are issued. This only affects the warning messages: it does not change any particular of how sde-as assembles your file. Errors, which stop the assembly, are still reported.

You can switch these options off again by specifying `--warn', which causes warnings to be output as usual.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.15 Make Warnings Fatal: -X, --fatal-warnings

If you use the `-X' or `--fatal-warnings' option, sde-as considers files that generate warnings to be in error.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.16 Generate Object File in Spite of Errors: -Z

After an error message, sde-as normally produces no output. If for some reason you are interested in object file output even after sde-as gives an error message on your program, use the `-Z' option. If there are any errors, sde-as continues anyways, and writes an object file after a final warning message of the form `n errors, m warnings, generating bad object file.'


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by MIPS Technologies, Inc. on September, 12 2003 using texi2html