Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bind — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

9.7;bind (bind), revision 5.17, 87/09/23
BIND -- Combine object modules into an executable file.
usage:  BIND pathname1 ... [pathnameN] [option]...


  BIND  combines  two  or more object modules into one executable object module.
  It resolves external references to global symbols and combines  sections  that
  have the same name.  For full details on the binder, see the DOMAIN Binder and
  Librarian Reference manual.  The binder takes the following format:

    $ BIND pathname1 ... [pathnameN] [option]...

  In other words, the command line simply consists of the word BIND, one or more
  pathnames, and zero or more options.

  The  binder  uses  the object modules stored in pathname1 through pathnameN to
  create an executable object file.  Each pathname must be the name of  a  valid
  object  file  or  library  file.   (A compiler creates an object file, and the
  librarian creates a library file.)  You may use wildcards in pathnames.    The
  binder  automatically  loads  all  object  modules stored in object files, but
  conditionally loads the object modules stored in library files.

  Options modify the binder's actions.  Of all the binder's options, -BINARY  is
  the  most  important.    You  must use this option to get an executable output
  object file.

  Following is a summary of the  BIND  options.    See  the  DOMAIN  Binder  and
  Librarian  Reference manual for complete descriptions of each option.  Default
  options are indicated by "(D)".

    -ALIGN section-name LONG  Aligns the named section on a 32-bit boundary
                               at runtime.
    -ALIGN section-name QUAD  Aligns the named section on a 64-bit boundary
                               at runtime.
    -ALIGN section-name PAGE  Aligns the named section on an 8,192-bit
                               boundary at runtime.
    -ALLKEEPMARK              Preserves all marks.
    -ALLMARK                  Marks all global symbols in the input object
                               files that appear after the option on the
                               BIND command line.
    -ALLRES[OLVED]            Signals a shell severity level of "error" if
                               there are unresolved global symbols at the
                               end of a BIND command.  Useful in controlling
                               Shell scripts.
    -ALLUNMARK            (D) Unmarks all global symbols in the input object
                               files that appear after the option on the
                               bind command line.
    -BDIR directory_name      Adds a pathname to the list of directories the
                               binder searches for input object files.
    -B[INARY] pathname        Creates an output object module and stores it
                               at pathname.
    -END                      Signifies end of a command that is spread over
                               several lines.
    -ENTRY global_symbol      Specifies a nondefault start address.
    -EXACTCASE                Makes the binder case-sensitive to all
                               variable names and section names.
    -GLO[BALS]                Writes currently defined global symbols to
                               error output.
    -H[ELP]                   Prints this list of commands.
    -INCL[UDE] module-name    Unconditionally loads the named object module
                               from a library file into the output object
                               file.
    -INCL[UDE] -ALL           Unconditionally loads all object modules from
                               a library file into the output object file.
    -INLIB pathname           Specifies that the object modules in pathname
                               are to be "installed" when the output object
                               file is invoked.  (This is an alternative to
                               the -INLIB utility.)
    -LOCALSEARCH              Forces the binder to make another search
                               through a library file if the previous search
                               loaded an object module containing an
                               unresolved external reference.
    -LOOKS[ECTION] name       Makes the named section available for sharing
                               with a public section in an installed
                               library.
    -LOOKS[ECTION] -ALL       Makes all subsequent sections available for
                               sharing with their counterpart public
                               sections in an installed library.
    -MAK[ERS]                 Lists the version numbers of the compilers,
                               binders, etc. that were used to create the
                               input object files.
    -MAP                      Writes a complete binder map to standard
                               output.
    -MARK global_symbol       Marks the specified global symbol.
    -MARK -ALL                Same as "-ALLMARK".
    -MARKS[ECTION] section_name
                              Makes section_name public.  Affects only
                               those object files that are destined to
                               be installed as an installed library.
    -MARKS[ECTION] -ALL       Makes all subsequent sections public.  Affects
                               only those object files destined to be
                               installed as an installed library.
    -MERGE[BSS]               Merges all sections corresponding to C global
                               variables into a single section named BSS$.
    -MES[SAGES]           (D) Produces informational messages at the end of
                               a BIND command.
    -MOD[ULE] new_name        Changes the name of the output object module
                               from the default (i.e., the first input
                               object module loaded) to new_name.
    -MSGS                 (D) Same as -MESSAGES.
    -MULTIRES                 Reports errors if multiple resolutions of the
                               same external symbol exist in object module
                               libraries.
    -NMSGS                    Same as -NOMESSAGES.
    -NOEXACTCASE          (D) Makes the binder case-insensitive to all
                               variable and section names.
    -NOINLIB pathname         Specifies that the object file(s) in pathname
                               are no longer to be "installed" when the
                               program is invoked.
    -NOLOCALSEARCH        (D) Searches each library file once, then proceeds
                               to searching the next input object file.
    -NOLOOKS[ECTION] name     Makes the named section unavailable for
                               sharing.
    -NOLOOKS[ECTION] -ALL (D) Makes all subsequent data sections unavailable
                               for sharing.
    -NOMARKS[ECTION] section_name
                              Makes section_name private.
    -NOMARKS[ECTION] -ALL     Makes all subsequent sections private.
    -NOMES[SAGES]             Suppresses informational messages.
    -N[O]MULTIRES         (D) Omits error reporting when there are multiple
                               possible resolutions in a library.
    -NOUND[EFINED]            Suppresses the listing of undefined globals.
    -Q[UIT]                   Exits from the binder without finishing.
    -READONLY[SECTION] section_name
                              Changes the read/write attribute of
                               section_name to read-only.
    -SEC[TIONS]               Displays a section map.
    -SET_VER[SION] number.number
                              Sets the program version in the map to the
                               specified number.
    -SORTL[OCATION]           Sorts global symbols numerically (by
                               position).
    -SORTN[AMES]          (D) Sorts global symbols alphabetically (by
                               name).
    -SYS[TEM]                 Makes system globals visible.
    -SYSTYPE type             Builds a shared resource record into the
                               output object module.  For type, you must
                               specify the name of an operating system
                               (sys3, sys5, bsd4.1, or bsd4.2).  This option
                               overrides all system information stored in
                               the input object modules.
    -UND[EFINED]              Suppresses a listing of unresolved external
                               symbols present at the end of a bind command
                               line.
    -UNMARK global_symbol     Remove a mark from the specified global
                               symbol.
    -UNMARK -ALL              Same as "-ALLUNMARK".
    -UNMARKS[ECTION] name     Makes section_name private.  Affects only
                               those object files that are destined to be
                               installed as an installed library.
    -UNMARKS[ECTION] -ALL (D) Makes all subsequent sections private. Affects
                               only those object files that are destined to
                               be installed as an installed library.
    -XREF                     Displays a listing of cross references.
    - (hyphen)                Tells the binder that more input will follow
                               on the next line.


EXAMPLES

  1. $ bind a.bin b.bin -binary my_program      A simple binder command line.
                                                 The binder builds an output
                                                 object file in my_program
                                                 from two input object files.

  2. $ bind a.bin my_library -b my_program      A library file can also serve
                                                 as an input object file.

  3. $ bind one.bin two.bin three.bin -map -b my_program
                                                The -MAP option causes bind
                                                 to print substantial binder
                                                 information.

  4. $ BIND  <RETURN>                            The command BIND specified
     *paul.bin -ALLMARK -B name.bin <RETURN>      by itself tells bind that
     *time.bin -UNMARK date -UNMARK year <RETURN> more input will follow on
     *john.bin -map <RETURN>                      the next line.  Specify a
     *<RETURN>                                    blank line to end the
                                                  prompting.

  5. $ BIND a.bin b.bin {a comment} -b hope      Put comments inside braces.

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