Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ abild(1) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

abicc(1)

check_abi_compliance(1)

check_abi_interface(1)

check_for_syscalls(1)

abi(5)



ABILD(1)                                                              ABILD(1)



NAME
     abild - ABI link editor

SYNOPSIS
     abild [ option ] ...  file ...

DESCRIPTION
     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 symbolicfile=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 exportsfile= 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 exportsfile=filename options.

     -B hidesfile=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 exportsfile=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 readwriteconst
          Place the contents of const data in a writable segment of memory.
          This is the default.

     -X readonlyconst
          Place contents of const data in a read-only segment of memory.  This
          option should be when programs which will be redistributed in on-
          site 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.

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

FILES
     /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

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































                                                                        Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026