32-Bit Environments and 64-Bit Environments

As described in 32-Bit Environments and 64-Bit Environments, the 64-bit link-editor, ld(1), is capable of generating 32-bit objects. In addition, the 32-bit link-editor is capable of generating 64-bit objects. Each of these objects has an associated support interface defined.

The support interface for 64-bit objects is similar to the interface of 32-bit objects, but ends in a 64 suffix. For example ld_start() and ld_start64(). This convention allows both implementations of the support interface to reside in a single shared object of each class, 32-bit and 64-bit.

The SGS_SUPPORT environment variable can be specified with a _32 or _64 suffix, and the link-editor options -z ld32 and -z ld64 can be used to define -S option requirements. These definitions will only be interpreted, respectively, by the 32-bit or 64-bit class of the link-editor. This enables both classes of support library to be specified when the class of the link-editor might not be known.