Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎

as


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=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...


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 informa-
                            tion.


     -i                     Ignore line number  information  from
                            preprocessor.


     -K pic | PIC           Generates position-independent code.


     -L                     Saves  all  symbols,  including  tem-
                            porary  labels that are normally dis-
                            carded to save space, in the ELF sym-
                            bol 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 con-
                            catenation.  The preprocessor  output
                            is passed to the assembler.


     -Dname                 When the  -P  option  is  in  effect,
     -Dname=def             these   options  are  passed  to  the
                            cpp(1) preprocessor without interpre-
                            tation  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  pro-
                            duces  the assembler version informa-
                            tion in the comment  section  of  the
                            output  object  file.  If n is speci-
                            fied, the information is suppressed.


     -s                     Places all stabs in the  .stabs  sec-
                            tion. 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 gen-
                            erate a map file that shows an optim-
                            ized  order  for  the  functions. The
                            subsequent link to build the  execut-
                            able file can be directed to use that
                            map file by using the linker -M  map-
                            file  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  exten-
                       sions   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  exten-
                       sions  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  exten-
                       sions   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  attri-
     butes:



     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWsprot                   |
    |_____________________________|_____________________________|


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 (vari-
     ables, 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  compila-
     tion system interface program such as cc(1B).


     All undefined symbols are treated as global.










Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.
Comments