Man Page fbe.1




NAME

     fbe - assembler


SPARC SYNOPSIS

     fbe [ -b ] [ -K PIC ] [ -L ] [ -m ] [ -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 ] [ -n ] [ -o outfile ] [ -P ] [ -Dname ]
     [ -Dname=def ] [ -Ipath ] [ -Uname...]
     [ -Qy|n ] [ -s ] / [ -V ] [ -xarch=[generic64|amd64] ]
     [ -xmodel=[a] ] IF 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.

     -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=v7    Enables the assembler  to  accept  instructions
                  defined  in  the SPARC version 7 (V7) architec-
                  ture. The resulting object  code  is  in  ELF32
                  format.

     -xarch=v8    Enables the assembler  to  accept  instructions
                  defined  in  the  SPARC-V8  architecture.   The
                  resulting object code is in ELF32 format.

     -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. This is the default choice
                  of the -xarch= options.

     -xarch=v8plus
                  Enables the assembler  to  accept  instructions
                  defined  in  the  SPARC-V9  architecture.   The
                  resulting object code is in ELF32  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=v8plusa
                  Enables the assembler  to  accept  instructions
                  defined  in  the SPARC-V9 architecture plus the
                  instructions  in  the  Visual  Instruction  Set
                  (VIS).   The  resulting  object  code is in V8+
                  ELF32 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
                  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.
                  It  will execute only on an UltraSPARC-III pro-
                  cessor.

     -xarch=v9    Enables the assembler  to  accept  instructions
                  defined   in  the  SPARC-V9  architecture,  but
                  without the Visual Instruction Set (VIS).   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  UltraSPARC
                  processor  running  a  64-bit Solaris operating
                  environment with the 64-bit kernel.

     -xarch=v9a   Enables the assembler  to  accept  instructions
                  defined  in the SPARC-V9 architecture, plus the
                  Visual Instruction Set (VIS).  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 processor running
                  a 64-bit Solaris operating environment with the
                  64-bit kernel.

     -xarch=v9b   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  processor running a 64-bit
                  Solaris operating environment with  the  64-bit
                  kernel.

     -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
     -xarch=[generic64|amd64]
                  Either  of  these  -xarch   flags   cause   the
                  assembler/fbe to accept instructions defined in
                  the  64-bit  x86  architecture.  The  resulting
                  object  code  is  in  64-bit  ELF  format.  The
                  default on x86 is for instructions  defined  in
                  the  Intel  32-bit Pentium 4 architecture which
                  generate object code in 32-bit ELF format.





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  attri-
     butes:

     ____________________________________
    | ATTRIBUTE TYPE  ATTRIBUTE VALUE|  |
    |________________________________|__|
    | Availability    SPROlang       |  |
    |________________________________|__|


SEE ALSO

     attributes(5),  cc(1B),   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 any of the -xarch=v8*
     flags, and __sparcv9 with any of the -xarch=v9* flags.

     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.