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.