unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

as(1)                            User Commands                           as(1)



NAME
       as - assembler

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=v9   |
       -xarch=v9a  | -xarch=v9b ]  [-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...

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 may be spec-
       ified 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;  oth-
           erwise, 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;  oth-
           erwise, 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;  oth-
           erwise, 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 will be interpreted as 5.x symbol names.



       -V

           Writes the version number of the assembler being run on  the  stan-
           dard error output.



       -xF

           Allows function reordering by the Performance Analyzer. If you com-
           pile 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. Note: This  option  disables  many  error
           checks.  Use  of  this option to assemble handwritten assembly lan-
           guage 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
           will  not  execute on a Solaris V8 system (a machine with a V8 pro-
           cessor). It will execute 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  will
           not execute on a Solaris V8 system (a machine with a V8 processor).
           It will execute 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  result-
           ing  object  code  is  in V8+ ELF32 format.  It executes only on an
           UltraSPARC-III processor.



       -xarch=v9

           This option limits the instruction set to  the  SPARC-V9  architec-
           ture.  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  architec-
           ture,  adding  the Visual Instruction Set (VIS) and extensions spe-
           cific 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 ker-
           nel.



       -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  UltraSPARC-III pro cessor running  a 64-bit Solaris operat-
           ing environment with the 64-bit kernel.



   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 may be specified by
                       setting the environment variable TMPDIR to  the  chosen
                       directory.   (If  TMPDIR is not a valid directory, then
                       as will use /tmp).



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

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


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).  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.



SunOS 5.10                        24 Sep 2004                            as(1)