MAN Solaris - as (1)

advertisement


NAME

as - assembler

CONTENTS

Synopsis
Description
Options
Operands
Environment Variables
Files
Attributes
See Also
Notes

SYNOPSIS

    SPARC

as [-b] [-i] [-K {pic,PIC}] [-L] [-m] [-n] [-o outfile]
    [-P] [-Dname] [-Dname=def] [-Ipath] [-Uname]... [-q]
    [-Qy | n] [-s] [-S [a | b | c | l | A | B | C | L]]
    [-T] [-V]
    [-xarch=v7 | -xarch=v8 | -xarch=v8a | -xarch=v8plus |
     -xarch=v8plusa | -xarch=v8plusb | -xarch=v8plusd |
     -xarch=v8plusv | -xarch=v9 | -xarch=v9a |
     -xarch=v9b | -xarch=v9d | -xarch=v9v]
    [-xF] [-Y dirname] filename...

    x86

as [-b] [-i] [-K PIC] [-L] [-m] [-n] [-o outfile] [-P]
    [-Dname] [-Dname=def] [-Ipath] [-Uname]... [-Qy | n]
    [-s] [-S [a | b | c | l | A | B | C | L]] [-T] [-V]
    [-xarch=generic64 | -xarch=amd64] [-Y dirname]
    [-xmodel= [ SMALL | KERNEL ]] filename...

advertisements

advertisements


DESCRIPTION

The as command creates object files from assembly language source files.

OPTIONS

    Common Options

The following flags are common to both SPARC and x86. They can be specified in any order:

-b

Generates extra symbol table information.

-i

Ignore line number information from preprocessor.

-K pic | PIC

Generates position-independent code.

-L

Saves all symbols, including temporary labels that are normally discarded to save space, in the ELF symbol table.

-m

Runs the m4(1) macro processor on the input to the assembler.

-n

Suppresses all the warnings while assembling.

-o outfile

Puts the output of the assembly in outfile. By default, the output file name is formed by removing the .s suffix, if there is one, from the input file name and appending a .o suffix.

-P

Runs cpp(1), the C preprocessor, on the files being assembled. The preprocessor is run separately on each input file, not on their concatenation. The preprocessor output is passed to the assembler.

-Dname
-Dname=def

When the -P option is in effect, these options are passed to the cpp(1) preprocessor without interpretation by the as command; otherwise, they are ignored.

-Ipath

When the -P option is in effect, this option is passed to the cpp(1) preprocessor without interpretation by the as command; otherwise, it is ignored.

-Uname

When the -P option is in effect, this option is passed to the cpp(1) preprocessor without interpretation by the as command; otherwise, it is ignored.

-Qy | n

If y is specified, this option produces the assembler version information in the comment section of the output object file. If n is specified, the information is suppressed.

-s

Places all stabs in the .stabs section. By default, stabs are placed in stabs.excl sections, which are stripped out by the static linker, ld(1), during final execution. When the -s option is used, stabs remain in the final executable because .stab sections are not stripped by the static linker.

-S[a|b|c|l|A|B|C|L]

Produces a disassembly of the emitted code to the standard output. Adding each of the following characters to the -S option produces:

a

disassembling with address

b

disassembling with ".bof"

c

disassembling with comments

l

disassembling with line numbers

Capital letters turn the switch off for the corresponding option.

-T

This is a migration option for 4.x assembly files to be assembled on 5.x systems. With this option, the symbol names in 4.x assembly files are interpreted as 5.x symbol names.

-V

Writes the version number of the assembler being run on the standard error output.

-xF

Allows function reordering by the Performance Analyzer. If you compile with the -xF option, and then run the Performance Analyzer, you can generate a map file that shows an optimized order for the functions. The subsequent link to build the executable file can be directed to use that map file by using the linker -M mapfile option. It places each function from the executable file into a separate section.

-Y dirname

Specify directory m4 and/or cm4def.

    Options for SPARC only

-q

Performs a quick assembly. When the -q option is used, many error checks are not performed. This option disables many error checks. Use of this option to assemble handwritten assembly language is not recommended.

-xarch=v7

This option instructs the assembler to accept instructions defined in the SPARC version 7 (V7) architecture. The resulting object code is in ELF format.

-xarch=v8

This option instructs the assembler to accept instructions defined in the SPARC-V8 architecture, less the quad-precision floating-point instructions. The resulting object code is in ELF format.

-xarch=v8a

This option instructs the assembler to accept instructions defined in the SPARC-V8 architecture, less the quad-precision floating-point instructions and less the fsmuld instruction. The resulting object code is in ELF format. This is the default choice of the -xarch=options.

-xarch=v8plus

This option instructs the assembler to accept instructions defined in the SPARC-V9 architecture, less the quad-precision floating-point instructions. The resulting object code is in ELF format. It does not execute on a Solaris V8 system (a machine with a V8 processor). It executes on a Solaris V8+ system. This combination is a SPARC 64-bit processor and a 32-bit OS.

-xarch=v8plusa

This option instructs the assembler to accept instructions defined in the SPARC-V9 architecture, less the quad-precision floating-point instructions, plus the instructions in the Visual Instruction Set (VIS). The resulting object code is in V8+ ELF format. It does not execute on a Solaris V8 system (a machine with a V8 processor). It executes on a Solaris V8+ system

-xarch=v8plusb

This option enables the assembler to accept instructions defined in the SPARC-V9 architecture, plus the instructions in the Visual Instruction Set (VIS), with UltraSPARC-III extensions. The resulting object code is in V8+ ELF32 format.

-xarch=v8plusd

This option enables the assembler to accept instructions DEFIned in UltraSPARC Architecture 2009. The resulting object code is in V8+ ELF32 format.

-xarch=v8plusv

This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2005, including the extensions dealing with the sun4v virtual machine model. The resulting object code is in V8+ ELF32 format.

-xarch=v9

This option limits the instruction set to the SPARC-V9 architecture. The resulting .o object files are in 64-bit ELF format and can only be linked with other object files in the same format. The resulting executable can only be run on a 64-bit SPARC processor running 64-bit Solaris with the 64-bit kernel.

-xarch=v9a

This option limits the instruction set to the SPARC-V9 architecture, adding the Visual Instruction Set (VIS) and extensions specific to UltraSPARC processors. The resulting .o object files are in 64-bit ELF format and can only be linked with other object files in the same format. The resulting executable can only be run on a 64-bit SPARC processor running 64-bit Solaris with the 64-bit kernel.

-xarch=v9b

This option enables the assembler to accept instructions defined in the SPARC-V9 architecture, plus the Visual Instruction Set (VIS), with UltraSPARC-III extensions. The resulting .o object files are in ELF64 format and can only be linked with other V9 object files in the same format. The resulting executable can only be run on a 64-bit processor running a 64-bit Solaris operating environment with the 64-bit kernel.

-xarch=v9d

This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2009. The resulting object code is in ELF64 format.

-xarch=v9v

This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2005, including the extensions dealing with the sun4v virtual machine model. The resulting object code is in ELF64 format.

    Options for x86 Only

-xarch>=generic64

Limits the instruction set to AMD64. The resulting object code is in 64-bit ELF format.

-xarch=amd64

Limits the instruction set to AMD64. The resulting object code is in 64-bit ELF format.

-xmodel=[SMALL | KERNEL]

For AMD64 only, generate R_X86_64_32S relocatable type for static data access under KERNEL. Otherwise, generate R_X86_64_32 under SMALL. SMALL is the default.

OPERANDS

The following operand is supported:

filename

Assembly language source file

ENVIRONMENT VARIABLES

TMPDIR

The as command normally creates temporary files in the directory /tmp. Another directory can be specified by setting the environment variable TMPDIR to the chosen directory. (If TMPDIR is not a valid directory, then as uses /tmp).

FILES

By default, as creates its temporary files in /tmp.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
AvailabilitySUNWsprot

SEE ALSO

cc(1B), cpp(1),ld(1), m4(1), nm(1), strip(1), tmpnam(3C), a.out(4), attributes(5)

dbx and analyzer manual pages available with Sun Studio documentation.

NOTES

If the -m option, which invokes the m4(1) macro processor, is used, keywords for m4 cannot be used as symbols (variables, functions, labels) in the input file, since m4 cannot determine which keywords are assembler symbols and which keywords are real m4 macros.

Whenever possible, access the assembler through a compilation system interface program such as cc(1B).

All undefined symbols are treated as global.

Jump to page    or go to Top of page |  Section 1 |  Main Solaris Index.


SunOS 5.11 as (1) 17 Mar 2008
Generated by Open Solaris Forum from /usr/share/man/man1/as.1 using man macros with tbl support.