ABILD(1) ABILD(1)
abild - ABI link editor
abild [ option ] ... file ...
abild is a wrapper shell script for ld for link editing MIPS ABI
applications. It translates a common subset of the SVR4 SGS (Software
Generation System) flags and arguments to those of the native IDO (IRIS
Development Option). By the use of this wrapper, applications which link
"on-site" on a target platform are isolated from having to know the
details of invoking that platform's compilation system.
abild also serves to hide the details of constructing an ABI application
on IRIX. The details of exactly how the native ld constructs an ABI
application are not guaranteed to remain unchanged, so abild should be
used to link all ABI-compliant programs to insure portability.
The following options are recognized by abild; options which are not
applicable are (generally) silently ignored. Further details available
in the UNIX System V Release 4 Programmer's Reference Manual.
-a undefined references generate errors (static mode)
-B static
look only for static archives during link phase
-B dynamic
look for DSOs first, then static archives. during link phase
Note that the -B static and -B dynamic options serve as toggles and can
be specified multiple times on a command line.
-B symbolic
when building a DSO, bind references to global symbols to their
definitions within the object
-B symbolic=name,...
when creating a DSO, bind the named reference to their definitions
within the object if there is a definition in the object. Not
supported at present.
-B symbolic_file=filename
when creating a DSO, the file filename contains a list of symbols
that should be bound to their definitions within the object if there
is a definition in the object. Not supported at present.
-B export
when creating a DSO, indicates that symbols from the next object,
archive, or DSO are exported fron the DSO being created. This is
the default for an object but not for an archive or DSO.
Page 1
ABILD(1) ABILD(1)
-B export=name,...
when creating a DSO, marks the symbols given by the list of names as
exported. If any symbols are exported by this mechanism then all
unspecified symbols will be automatically hidden. filename contains
a list of symbols that should be exported. Any symbols not
specifically exported will be automatically hidden.
-B exports_file= filename
when creating a DSO, the file given by filename contains a list of
symbols that should be exported. Any symbols not specifically
exported will be automatically hidden.
-B hide
when creating a DSO, indicates that symbols from the next object,
archive, or DSO are hidden in the DSO being created. This is the
default for an archive or DSO but not for an object.
-B hide=name,...
when creating a DSO, marks the symbols given by the list of names as
hidden. Ignored if any symbols are exported by the
-B export=name,... or -B exports_file=filename options.
-B hides_file=filename
when creating a DSO, the file given by filename contains a list of
symbols that should be hidden. Ignored if any symbols are exported
by the -B export=name,... or -B exports_file=filename options.
-B objectlist=filename
the object files named in the file filename are linked in.
-B rpath=PATH
PATH is a directory. specifies the rpath pathname when linking
-shared (IRIX cc option) or when using the -G option. The dynamic
linker will search the named directory first.
-B nolibraryreplacement
Turns on a flag in the dynamic section so that rld does not allow
execution time or runtime changing of the path (except for super
user) to find the DSOs (Dynamic Shared Objects). Typically, used for
security purposes on system utilities.
-b controls DSO linkage. Silently ignored by IRIX.
-d n use static linking. Statically linked executables are not MIPS ABI
conforming.
-d y use dynamic linking (the default) to create a dynamic executable.
-e epsym
sets entry point to be epsym.
Page 2
ABILD(1) ABILD(1)
-G produce a DSO. This option is used when generating a DSO (dynamic
shared object) (as opposed to a dynamic executable). When using the
-G option, one usually also specifies the outfile file name using,
-o file.so and the "soname" using, -Wl,-soname,file.so.
-h name
controls dynamic linking name lookup (look for name instead of the
filename). This option is not supported on IRIX.
-I name
specifies an interpreter to be linked with a.out .
-L path
add path to library search directories.
-lx search the specified library
-M mapfile
use specified map file as a file of directives to ld. This option
is not supported on IRIX.
-m produce a memory map.
-o outfile
names the output file.
-Q n suppress compiler identification in output.
-Q y generate compiler identification in output.
-r combine object files into a relocatable object file.
-s strip symbolic debugging information.
-t suppress warning about multiple defined symbols of different sizes.
-u symname
enters named symbol as an undefined.
-v verbose mode.
-V output a version identifier string.
-X readwrite_const
Place the contents of const data in a writable segment of memory.
This is the default.
-X readonly_const
Place contents of const data in a read-only segment of memory. This
option should be when programs which will be redistributed in onsite
linkable object code as well as binary form are generated, as
some of the other ABI platforms support only this behavior.
Page 3
ABILD(1) ABILD(1)
-X xpg
directs the compiler to set the global variable __xpg4 to 1; this
indicates that libraries should provide behavior compatible with the
X/Open Single UNIX(TM) Specification rather than the default
traditional behavior where there is a conflict.
-X 32
generate a 32-bit object. This is the default. Defaults to
-X mips1 .
-X 64
generate a 64bit object. Defaults to -X mips3 .
-X mips1
generate code using the MIPS I instruction set of the R2000/R3000
RISC architecture. Defaults to -X 32 .
-X mips2
generate code using the MIPS II instruction set (MIPS 1 + R4000
specific extensions). Defaults to -X 32 .
-X mips3
generate code using the MIPS III (R4000) instruction set. Defaults
to -X 64 .
-X mips4
generate code using the MIPS IV (R10000,R5000,R8000) instruction
set. Defaults to -X 64 .
-YP,dirlist
controls library search list. This option is not supported and
generates a warning message.
-z defs
force fatal error for undefined symbols at the end of the link
(default when building an executable)
-z nodefs
allow undefined symbols (default when building a DSO).
-z text
in dynamic mode, force a fatal error if relocations against
unwritable, allocatable sections remain
-Wl,args[,arglist]
This IRIX-specific option is used to pass SGI specific options to
the underlying link command.
The OPTIONS section above indicates a space character between options and
option-arguments. This is in accordance with X/Open recommendations for
portable applications. abicc also supports placing its option-argument
Page 4
ABILD(1) ABILD(1)
in the same string with no space. If the option-argument is optional, no
space is allowed and this is reflected in the OPTIONS section.
When abild is used, the only library in the default search path is
/usr/lib/abi. If /usr/lib is searched, an ABI binary won't be built.
-X 32 may only be combined with -X mips1 or -X mips2 . -X 64 may only be
combined with -X mips3 or -X mips4 .
/usr/lib/abi ABI libraries and configuration files
/usr/lib64/abi ABI libraries
/usr/lib64/mips3/abi ABI libraries
/usr/lib64/mips4/abi ABI libraries
/usr/include/abi special ABI include files
/usr/lib/abi/setup abild setup file
/usr/lib/abi/sgild.cfg IRIX abild config file
abicc(1), check_abi_compliance(1), check_abi_interface(1),
check_for_syscalls(1), abi(5)
MIPS Processor ABI Conformance Guide
UNIX System V Release 4 Programmer's Reference Manual
http://www.mipsabi.org has the MIPS ABI documents.
PPPPaaaaggggeeee 5555 [ Back ]
|