z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Autocall with archive libraries

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

The binder also supports autocall from z/OS UNIX archive libraries. These archive libraries may contain members that are object files -- in OBJ, XOBJ and GOFF format and with special directory information similar to that contained in C370LIB object libraries. They may also contain members which are side files (of IMPORT control statements), or other files of control statements.

Archive libraries are created by the UNIX System Services ar command. Like C370LIBs, they may contain attributes used by the binder to select among variant routines with matching names (see Autocall matching for C370LIB and archive libraries). Unlike C370LIBs, archives cannot be concatenated.
Note: Archive libraries cannot be used as the target for INCLUDE statements.

While the ar command is typically used to create archive libraries of object files, it can also be used to create archive libraries of non-object files, or archive libraries containing a combination of object files and non-object files. In addition to processing archive library object file members during autocall, the binder can also process certain non-object file archive library members. Those members must have the following characteristics:

  • Members that are side files (containing IMPORT control statements). To be recognized, an IMPORT statement must be the very first statement in the file, in the format produced by the binder when it writes to SYSDEFSD.
  • Members that are files specifically identified as containing binder control statements. To be recognized, the first statement must contain the string "*!" in the first 2 columns, followed by the string "IEWBIND INCLUDE". These two strings may be separated by blanks, but must be contained in a single statement.

For the binder to process these non-object files, one such file must be positioned as the very first member of the archive library (excluding the symbol table member, __.SYMDEF). The binder then processes that first member as if it had been explicitly included as binder input, and then includes any other such members that it can recognize in that archive library. The following additional points should be noted:

  • This processing is performed only during autocall processing of an archive library and only when there are still unresolved symbols.
  • If the archive library also contains members that are object files, it is still processed to attempt to resolve symbols using those object file members. If the archive library contains neither object file members nor non-object file members with the characteristics described here, the binder reports an error when attempting to process that archive library.
  • As is the case for object files, these non-object files must be composed of statements that are exactly 80 bytes long, with no newline terminator.
  • Processing of non-object files during autocall does not change the binder precedence for resolving symbols. Just as when a side file is explicitly included, the IMPORT information will only be used to resolve a symbol dynamically if it is still unresolved after all static resolution is complete.

See z/OS UNIX System Services Command Reference for more information about using the ar utility to create archive libraries and how to position members within them.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014