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

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

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

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

     -Qy|n          If the n option is specified, it produces the
                    "assembler  version"  information in the com-
                    ment 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.

  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 section.
                    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  exe-
                    cute 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 pro-
                    cessor).  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 processor.

     -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 result-
                    ing executable 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 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=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 pro-
                    cessor 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.


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.