5.07;bind (bind), revision 5.07, 86/09/26 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.