GOFF | NOGOFF
Category
Object code control
Pragma equivalent
None.
Purpose
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.
Syntax
Defaults
- NOGOFF
- When XPLINK or LP64 is used, the default is GOFF.
Usage
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 usage status of this option is inserted in the object file to aid you in diagnosing a problem with your program.
IPA effects
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.
Predefined macros
__GOFF__ is predefined to 1 when the GOFF compiler option is in effect.