Man Page fbe.1




NAME

     fbe - assembler


SPARC SYNOPSIS

     fbe [ -b ]	[ -K PIC ] [ -L	] [ -m ] [ -m32	] [ -m64 ] [ -n	]
     [ -o outfile ] [ -P ] [ -Dname ] [	-Dname=def ] [ -Ipath ]
     [ -Uname....  ] [ -q ] [ -Q{y|n ] [ -s ] [	-S[a|C]	] [ -T	]
     [ -V ] [ -xarch=v ] [ -xF ] filename...


x86 SYNOPSIS

     fbe [ -m ]	[ -m32 ] [ -m64	] [ -n ] [ -nH ] [ -o outfile ]
     [ -P ] [ -Dname ] [ -Dname=def ] [	-Ipath ] [ -Uname...]
     [ -Qy|n ] [ -s ] [	-V ] [ -xmodel=[a] ] filename...


AVAILABILITY

     SUNWsprot


DESCRIPTION

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


COMMON OPTIONS

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

     -b		 Generates extra symbol	table information for the
		 SourceBrowser.

     -Dname

     -Dname=def	 When the -P option is in effect,  these  options
		 are  passed  to  the cpp(1) preprocessor without
		 interpretation	by the	fbe  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 fbe command; otherwise, it
		 is ignored.

     -i		 Instructs fbe to ignore line-number  information
		 from the preprocessor.

     -m		 Run the m4(1) macro processor on  the	input  to
		 the assembler.

     -m32|-m64	 Generate 32-bit  or  64-bit  ELF  format  object
		 code.

     -n		 Suppress all the warnings while assembling.

     -o	outfile	 Put 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		 Run 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.

     -Qy|n	 If the	n option is specified,	it  produces  the
		 "assembler  version"  information in the comment
		 section of the	output	object	file.  If  the	y
		 option	  is   specified,   the	  information  is
		 suppressed.

     -s		 Place	all  stabs  in	the  .stabs  section.  By
		 default,  stabs  ares	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.

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

     -V		 Write the version number of the assembler  being
		 run on	the standard error output.

     -Y		 Specify directory for m4 and/or cm4def

  SPARC	Options
     -b		  Generate extra symbol	table information for the
		  Sun SourceBrowser.

     -K	PIC	  Generate position-independent	 code.	 The  x86
		  assembler does not support the -K PIC	flag.

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

     -q		  Perform a quick assembly. When the -q	option is
		  used,	many error checks are not performed.
		  Note:	This option disables many  error  checks.
		  It  is  recommended  that  you  do not use this
		  option   to	assemble   handwritten	 assembly
		  language.

     -S[a|C]	  Produce a disassembly	of the	emitted	 code  to
		  the standard output.
		  o Adding the character a to the option  appends
		  a  comment  line  to	each  assembly code which
		  indicates its	relative address in its	own  sec-
		  tion.
		  o Adding the character C to the option prevents
		  comment lines	from appearing in the output.

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

     -xarch=v8a	  Enables the assembler	 to  accept  instructions
		  defined  in the SPARC-V8 architecture, less the
		  fsmuld instruction.  The resulting object  code
		  is  in  ELF32	 format	 when compiled with -m32,
		  ELF64	format with -m64.  This	 is  the  default
		  choice of the	-xarch=	options.

     -xarch=sparc Enables the assembler	 to  accept  instructions
		  defined  in  the  SPARC-V9  architecture.   The
		  resulting object code	is in ELF32  format  when
		  compiled  with -m32, ELF64 format with -m64. It
		  will not execute on  a  Solaris  V8  system  (a
		  machine  with	a V8 processor).  It will execute
		  on a Solaris V8+ system.

     -xarch=sparcvis
		  Enables the assembler	 to  accept  instructions
		  defined  in  the SPARC-V9 architecture plus the
		  instructions	in  the	 Visual	 Instruction  Set
		  (VIS)	 version  1.0.	The resulting object code
		  is in	V8+ ELF32 format when compiled with -m32,
		  ELF64	 format	with -m64. It will not execute on
		  a Solaris system with	a processor. It	will exe-
		  cute on a Solaris system with	a V8+ processor.

     -xarch=sparcvis2
		  Enables the assembler	 to  accept  instructions
		  defined  in the SPARC-V9 architecture, plus the
		  instructions	in  the	 Visual	 Instruction  Set
		  (VIS)	 version  2.0, with UltraSPARC-III exten-
		  sions.  The resulting	object	code  is  in  V8+
		  ELF32	 format	 when  compiled	 with -m32, ELF64
		  format with -m64.

     -xarch=sparcvis3
		  Accept instructions defined for the  SPARC  VIS
		  version   3  of  the	SPARC-V9  ISA  which  are
		  instructions from the	SPARC-V9 instruction set,
		  plus	the  UltraSPARC	extensions, including the
		  Visual Instruction Set (VIS) version	1.0,  the
		  UltraSPARC-III extensions, including the Visual
		  Instruction Set (VIS)	version	 2.0,  the  fused
		  multiply-add	 instructions,	 and  the  Visual
		  Instruction Set (VIS)	version	3.0

     -xarch=sparcfmaf
		  Accept instructions defined for  the	sparcfmaf
		  version   of	 the   SPARC-V9	  ISA,	plus  the
		  UltraSPARC  extensions,  including  the  Visual
		  Instruction	Set   (VIS)   version	1.0,  the
		  UltraSPARC-III extensions, including the Visual
		  Instruction  Set  (VIS)  version  2.0,  and the
		  SPARC64  VI	extensions   for   floating-point
		  multiply-add.

     -xarch=sparcima
		  Accept instructions defined  for  the	 sparcima
		  version   of	 the   SPARC-V9	  ISA,	plus  the
		  UltraSPARC  extensions,  including  the  Visual
		  Instruction	Set   (VIS)   version	1.0,  the
		  UltraSPARC-III extensions, including the Visual
		  Instruction  Set  (VIS) version 2.0, SPARC64 VI
		  extensions for floating-point	multiply-add, and
		  the	SPARC64	  VII	extensions   for  integer
		  multiply-add.

     -xF	  Generates additional	information  for  perfor-
		  mance	 analysis  of the executable using SPARC-
		  works	analyzer.  If the  input  file	does  not
		  contain  any stabs (debugging	directives), then
		  the assembler	will generate some default  stabs
		  which	 are  needed  by the SPARCworks	analyzer.
		  Also see the manual page dbx.

  x86 Options
     -nH	  Suppress the generation of the  Hardware  Capa-
		  bilities section


ENVIRONMENT

     TMPDIR
      as normally creates temporary files in the directory  /tmp.
      You  may	specify	another	directory by setting the environ-
      ment variable TMPDIR to your chosen directory.  (If  TMPDIR
      isn't 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:

     box; cbp-1	| cbp-1	l | l .	 ATTRIBUTE TYPE	 ATTRIBUTE  VALUE
     = Availability    SPROlang


SEE ALSO

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


NOTES

     On	SPARC, the cpp symbol __sparc is set  when  the	 flag  -P
     appears,  as  well	 as  __sparcv8	with  the  -m32	flag, and
     __sparcv9 with the	-m64 flag.

     On	x86/x64, the symbol  __i386  is	 set  when  the	 flag  -P
     appears, as well as __amd64 with the -m64 flag.

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

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

     All undefined symbols are treated as global.