Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bind — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

4.24;bind (bind), revision 4.24, 85/05/08
BIND -- Combine object modules into an executable file.
usage:  BIND [pathname [pathname ...]] [-ALIGN section_name [LONG|QUAD|PAGE]]
                                        [-ALLMARK] [-ALLUNMARK] [-ALLRESOLVED]
                                        [-B pathname] [-BDIR pathname] [-END]
                                        [-EXACTCASE] [-GLOBALS] [-H]
                                        [-INCLUDE {module_name|-ALL}]
                                        [-LOCALSEARCH] [-LOOKS {name|-ALL}]
                                        [-MAKERS] [-MAP]
                                        [-MARK {global_name|-ALL}]
                                        [-MARKS {name|-ALL}] [-MOD name]
                                        [-MULTIRES] [-NOEXACTCASE]
                                        [-NOLOCALSEARCH] [-NOLOOKS {name|-ALL}]
                                        [-NOMULTIRES] [-NOUNDEFINED] [-Q]
                                        [-READONLY name] [-SEC]
                                        [-SET_VERSION nn.mm] [-SORTL] [-SORTN]
                                        [-SYS] [-SYSTYPE type] [-UNDEFINED]
                                        [-UNMARK {global_name|-ALL}]
                                        [-UNMARKS {name|-ALL}] [-XREF]
                                        [-MESSAGES|-MSGS] [-NOMESSAGES|-NMSGS]
                                        [-] {CL}


FORMAT

  BIND [pathname] [option] ...] [-]


  The  binder  combines  two  or  more object modules into one executable object
  module.  It resolves all references to global symbols  and  combines  sections
  that have the same name.  The binder produces one object module file and a map
  file.

  COMMAND LINE SUMMARY (Complete descriptions follow.)

    pathname [pathname ...]   One or more input object files to be bound.
    -ALIGN section-name [LONG|QUAD|PAGE]
                              Align named section at load time.
    -ALLMARK                  Begin marking all defined globals.
    -ALLUNMARK            (D) Revert to not marking defined globals.
    -ALLRES[OLVED]            Exit if unresolved globals remain after binding.
    -B[INARY] pathname        Specify path name of the binary output file.
    -BDIR pathname            Specify alternate directory for include files.
    -END                      End of commands (same as blank line).
    -EXACTCASE                Set binder case sensitive on all names.
    -GLO[BALS]                Print currently defined globals.
    -H[ELP]                   Print this list of commands.
    -INCLUDE {module-name|-ALL}
                              Include a specific module from a library, or
                               all the modules from a library, in the bound
                               object module.
    -LOCALSEARCH              Search each library completely before
                               proceeding.
    -LOOKS[ECTION] name       Set "look at installed sections" attribute
                               on named data section.
    -LOOKS[ECTION] -ALL       Set "look at installed sections" attribute
                               on all subsequent data sections.
    -MAK[ERS]                 Display the version of the compiler and binder
                               that created an object module.
    -MAP                      Send complete map to std output.
    -MARK <global>            Mark named global.
    -MARK -ALL                Same as "-ALLMARK".
    -MARKS[ECTION] name       Mark named data section for installing.
    -MARKS[ECTION] -ALL       Mark all subsequent data sections for
                               installing.
    -MES[SAGES] | -MSGS   (D) Produce informational messages.
    -MOD[ULE] name            Name the output module.
    -MULTIRES                 Report errors if multiple resolutions in object
                               module libraries exist.
    -NOEXACTCASE          (D) Set binder to ignore case differences
                               on names.
    -NOLOCALSEARCH        (D) Search each library once, then proceed.
    -NOLOOKS[ECTION] name     Remove "look at installed sections"
                               attribute from named data section.
    -NOLOOKS[ECTION] -ALL (D) Stop setting "look at installed sections"
                               attribute on all data sections (default).
    -NOMES[SAGES] | -NMSGS    Suppress informational messages.
    -NOMULTIRES               Suppress error reporting for mulitple resolutions
                               in object module libraries.  (default)
    -NOUND[EFINED]            Suppress report of undefined globals.
    -Q[UIT]                   Exit from Binder without finishing.
    -READONLY[SECTION] name   Changes named section from read/write
                               to read-only
    -SEC[TIONS]               Print current section definitions.
    -SET_VER[SION] nn.mm      Set version number of object modules.
    -SORTL[OCATION]           Sort globals by location.
    -SORTN[AMES]          (D) Sort globals by name (default).
    -SYS[TEM]                 Make system globals visible.
    -SYSTYPE type             Place DOMAIN/IX system type token on object
                               modules
    -UND[EFINED]              Print currently undefined globals.
    -UNMARK global            Remove mark from named global.
    -UNMARK -ALL              Same as "-ALLUNMARK".
    -UNMARKS[ECTION] name     Remove installing mark from named
                               data section.
    -UNMARKS[ECTION] -ALL (D) Stop marking all data sections
                               for installing.
    -XREF                     Send a binary cross reference to standard
                               output.  This will cross reference only
                               files following this option in the
                               command line.
    - (hyphen)                Prompt for further arguments.

  FULL DESCRIPTIONS


ARGUMENTS

  BIND  specified  without  arguments  will   cause   prompting   for   required
  information.


  pathname ...
  (optional)         Specify one or more input files to be bound into the object
                     module.  Multiple pathnames and wildcarding are  permitted.
                     If a pathname refers to a library file, no modules from the
                     library are included in the bound object module unless:

                        - they are  implicitly  referenced  by  some  other
                          module  which  is  included  in  the bound object
                          module, or

                        - they are explicitly included  with  the  -INCLUDE
                          option (described below).

                     Default if omitted:  BIND prompts for pathname.


OPTIONS

  Default options are indicated by "(D)."

  -ALIGN section-name [ LONG | QUAD | PAGE ]
                     Cause the named section to be aligned,  at  load  time,  on
                     either  a  32-bit  (LONG),  a 64-bit (QUAD), or an 8192-bit
                     (PAGE) boundary.  By default, all sections are aligned on a
                     LONG boundary.

  -ALLRES[OLVED]
                     Cause the binder to exit in an error  state  if  unresolved
                     globals remain at the end of the bind step.  This is useful
                     for control of shell scripts where an  error  exit  of  the
                     binder  is  desired  for  this  condition.   Note that this
                     option is sensitive to the -SYS[TEM] option.  If -SYSTEM is
                     used,  then  ANY  unresolved global remaining at the end of
                     the bind step will cause the error exit.  If -SYSTEM is NOT
                     used, then ONLY those unresolved globals which could not be
                     resolved via the current known global table  (KGT)  of  the
                     process running the binder will cause the error exit.

  -B[INARY] pathname
                     Write the output object module to the named file.

  -BDIR pathname
                     Add  a  pathname to the search hierarchy of directories for
                     include file names.  The hierarchy  applies  only  to  file
                     name strings which do NOT begin with '.', '~', or '/'.  The
                     binder first tries to open the include file name as  given.
                     Failing  that, it prepends the -BDIR pathnames to the given
                     file name in the same order  as  supplied  on  the  command
                     line.

  -END               End of commands (same as blank line).

  -EXACTCASE         Set binder to be case-sensitive on all names.  This is most
                     useful when binding C  object  modules,  which  can  output
                     case-sensitive names.

  -GLO[BALS]         Write currently defined global symbols to error output.

  -H[ELP]            Print this list of commands.

  -LOCALSEARCH        Search  each library completely and attempt to satisfy all
                     unresolved globals before searching the next library.

  -MAK[ERS]          Display information about the compiler(s) and  binder  used
                     to  create  the object module specified by 'pathname'.  The
                     output will appear in the transcript pad (and  in  the  map
                     output if -MAP is also specified).

  -MAP               Write complete map to standard output.

  -MOD[ULE] name
                     Name the output object module.  The  default  name  is  the
                     first input module name.

  -NOEXACTCASE (D)   Set binder to ignore case differences on names.

  -NOLOCALSEARCH    (D)
                     Search each library once to resolve undefined globals.

  -NOUND[EFINED]
                     Suppress report of undefinded globals.

  -Q[UIT]            Exit from binder without finishing.

  -READONLY[SECTION] name
                     Change named section from read/write to  read-only.    This
                     option  changes sections such as FORTRAN COMMON blocks from
                     read/write to read-only to improve program invocation time.
                     Only   those  sections  containing  tables  initialized  to
                     certain values by FORTRAN DATA statements  (or  the  like),
                     and   that  never  change  during  program  execution,  are
                     eligible.

  -SEC[TIONS]        Write current section definitions to error output.

  -SET_VER[SION] nn.mm
                     Set  program revision number to the number specified.  'nn'
                     and 'mm' are integers (i.e., '-SET_VERSION 1.23').

  -SORTL[OCATION]
                     List  defined  globals,  sorted by global location (section
                     number and offset).

  -SORTN[AMES] (D)   List defined globals sorted by global name.

  -SYS[TEM]          Make system global symbols visible.

  -SYSTYPE type
                     Override  all  system  information  from  within the object
                     modules, and force the output object  module  to  have  the
                     specified  system  type marker.  This is intended primarily
                     for use  with  DOMAIN/IX.    Valid  'type'  specifiers  are
                     "sys3", "sys5", "bsd4.1", "bsd4.2", and "any". The -SYSTYPE
                     option overrides all system  information  from  within  the
                     object modules.

  -UND[EFINED]       Write currently undefined global symbols to error output.

  - (hyphen alone)
                     Request binder prompting for further arguments.   Use  only
                     on  the  line containing the BIND command.  The hyphen must
                     be the last item on the line.

  The following options are for use with user-installed libraries.


  -ALLMARK           Begin marking all defined global symbols.

  -ALLUNMARK   (D)   Stop marking defined global symbols.

  -INCLUDE {module-name | -ALL}
                     Include  a  specific  module  from  a  library,  or all the
                     modules from a library, in the bound object module.    This
                     option  must  follow  a  pathname which refers to a library
                     file or an error message is  generated.    Note  that  this
                     option  is  the only way to include a module from a library
                     in a bound object module,  unless  the  library  module  is
                     explicitly  referenced  by a module which is already in the
                     bound object module.

  -LOOKS[ECTION] name
                     Set  "look  at  installed sections" attribute on named data
                     section.

  -LOOKS[ECTION] -ALL
                     Set   "look   at   installed  sections"  attribute  on  all
                     subsequent data sections.

  -NOLOOKS[ECTION] name
                     Remove  "look  at  installed sections" attribute from named
                     data section.

  -NOLOOKS -ALL     (D)
                     Stop  setting "look at installed sections" attribute on all
                     data sections.

  -MARK global_name
                     Mark the named global symbol.

  -MARK -ALL         Same as -ALLMARK.

  -MARKS[ECTION] name
                     Mark named data section for installing.

  -MARKS[ECTION] -ALL
                     Mark all subsequent data sections for installing.

  -UNMARK global_name
                     Remove mark from the named global symbol.

  -UNMARK -ALL       Same as -ALLUNMARK.

  -UNMARKS[ECTION] name
                     Remove installing mark from named data section.

  -UNMARKS -ALL     (D)
                     Stop marking all data sections for installing.

  -MULTIRES          Report errors if  multiple  resolutions  in  object  module
                     libraries exist.

  -NOMULTIRES  (D)   Suppress error reporting for mulitple resolutions in object
                     module libraries.

  -XREF              Send a binary cross-reference to  standard  output.    This
                     will  cross-reference  only  files following this option in
                     the command line.

  This command uses the command line parser, and so also  accepts  the  standard
  command options listed in HELP CL.


  Turning Options On and Off

  Because  the binder processes arguments and options sequentially, most options
  apply to files specified later in the command string, but have  no  effect  on
  the files previously specified.  In this manner, some options can be turned on
  and off from one file to the next.


EXAMPLES

  1 $BIND  <RETURN>                             BIND specified alone on
    *paul.bin -ALLMARK -B name.bin <RETURN>       command line; enter
    *time.bin -UNMARK date -UNMARK year <RETURN>  arguments in response to
    *john.bin -map <RETURN>                       asterisk.  Press <RETURN>
    *<RETURN> >                                   to end prompting.

  2 $BIND                                       To include comments among
    *london.bin                                  arguments, enclose the
    *{a map of Paris might be useful}            comments in braces.
    *paris.bin -map
    *-END

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