LDFLAGS link options

You can set link options by using the LDFLAGS _$(APP) variable in the makefile.

You can set the following link options:
  • -Xlinker --defsym -Xlinker CGCC_31BIT=0

    This option creates a symbol in the shared object that indicates the shared object must be loaded below the 2-GB bar and in a 31-bit core resident program area (CRPA) virtual address area. This option gets propagated online through the program ordinal (ORDN) record header without being set in the program attribute table (PAT).

  • -Xlinker --defsym CGCC_FastPathStub=0

    This option creates a symbol in the shared object that can be used to flag a condition in the program. The fast path indicator is a core-only value in the PAT and gets propagated online through the program ordinal (ORDN) record header. The fast path indicator is valid in the PAT when the program is fetched.

    When this option is applied to shared objects that contain library functions, the CE3TRNAME trace name field is not changed across function calls. The functions that are called subsequently are viewed as extensions of the calling shared object.

    Notes:
    • Only use this option for shared objects that contain fast path linkage libraries.
    • Automatic ECB owner name restore support does not restore ECB owner names when the ECB returns from programs that are built with the fast path option specified.
    • Start of changeIf you activate a loadset that contains a new version of a program that uses this option and the base version of the program does not use this option, fast path linkage does not take effect immediately. The loadset must be accepted so that the base version is a fast path linkage library before the program starts using fast path linkage. Similarly, if the base version of a program was built with this option and you activate a loadset that contains a version that was built without this option, fast path linkage continues to be used until the loadset is accepted. End of change
  • -Xlinker --defsym -Xlinker CGCC_COW_CRPA=0

    This option creates a symbol in the shared object that indicates the shared object must be loaded in the 31-bit or 64-bit standard CRPA virtual address area.

    Note: Do not use this option for programs that update static data, import data from other programs, or have global constructors.
  • -Xlinker --defsym -Xlinker CGCC_COW_CRPA=1

    This option creates a symbol in the shared object that indicates the shared object must be loaded in the 31-bit or 64-bit copy-on-write CRPA virtual address area.

  • -Xlinker --defsym -Xlinker CGCC_mnotpftrace=0

    This option creates a symbol in the shared object to indicate that the shared object includes one or more objects that are compiled with the -mno-tpf-trace compiler option. This link option must be specified for programs that are compiled with the -mno-tpf-trace option to ensure that the correct program linkage is used.

For more information about Makefiles, enter man maketpf.mak on your Linux® on IBM Z build system for a complete list of Makefile variables that can be coded.