as man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

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=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 spec‐
       ified in any order:

       -b		      Generates extra symbol table information.

       -i		      Ignore  line  number information from preproces‐
			      sor.

       -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 sepa‐
			      rately on each input file, not on their concate‐
			      nation.	The  preprocessor  output is passed to
			      the assembler.

       -Dname		      When the -P option is in effect,	these  options
       -Dname=def	      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 inter‐
			      pretation	 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 inter‐
			      pretation 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 spec‐
			      ified, the information is suppressed.

       -s		      Places all  stabs	 in  the  .stabs  section.  By
			      default,	stabs  are  placed  in stabs.excl sec‐
			      tions, 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 follow‐
			      ing 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 cor‐
			      responding 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  exe‐
			      cutable 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 rec‐
			 ommended.

       -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 for‐
			 mat. 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  instruc‐
			 tions	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  instruc‐
			 tions	DEFIned	 in  UltraSPARC Architecture 2009. The
			 resulting object code is in V8+ ELF32 format.

       -xarch=v8plusv	 This option enables the assembler to accept  instruc‐
			 tions	 defined   in  UltraSPARC  Architecture	 2005,
			 including the extensions dealing with the sun4v  vir‐
			 tual  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 exe‐
			 cutable 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 proces‐
			 sors. 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  instruc‐
			 tions	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 exe‐
			 cutable 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  instruc‐
			 tions	defined	 in  UltraSPARC Architecture 2009. The
			 resulting object code is in ELF64 format.

       -xarch=v9v	 This option enables the assembler to accept  instruc‐
			 tions	 defined   in  UltraSPARC  Architecture	 2005,
			 including the extensions dealing with the sun4v  vir‐
			 tual  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 for‐
				   mat.

       -xarch=amd64		   Limits the instruction set  to  AMD64.  The
				   resulting object code is in 64-bit ELF for‐
				   mat.

       -xmodel=[SMALL | KERNEL]	   For AMD64 only, generate R_X86_64_32S relo‐
				   catable  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 direc‐
		 tory /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 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  (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			  17 Mar 2008				 as(1)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net