Object code control
None.
Instructs the compiler to produce an object file in the Generalized Object File Format (GOFF).
When the GOFF and OBJECT options are in effect, the compiler produces an object file in GOFF format.
When the NOGOFF and OBJECT options are in effect, the compiler produces an object file in XOBJ format.
The GOFF format supersedes the IBM® S/370 Object Module and Extended Object Module formats. It removes various limitations of the previous format (for example, 16 MB section size) and provides a number of useful extensions, including native z/OS® support for long names and attributes. GOFF incorporates some aspects of industry standards such as XCOFF and ELF.
When you specify the GOFF option, the compiler uses LONGNAME and CSECT() by default. You can override these default values by explicitly specifying the NOLONGNAME or the NOCSECT option.
When you specify the GOFF option, you must use the binder to bind the output object. You cannot use the prelinker to process GOFF objects.
The GOFF option affects the regular object module if you request one by specifying the IPA(OBJECT) option. This option affects the IPA-optimized object module generated when you specify the IPA(OBJECT) option.
The IPA information in an IPA object file is always generated using the XOBJ format.
The IPA link step merges and optimizes the application code, and then divides it into sections for code generation. Each of these sections is a partition. The GOFF option affects the object format of the code and data generated for each partition.
Information from non-IPA input files is processed and transformed based on the original format. GOFF format information remains in GOFF format; all other formats (OBJ, XOBJ, load module) are passed in XOBJ format.
__GOFF__ is predefined to 1 when the GOFF compiler option is in effect.