Home Explore Blog CI



man-pages

16th chunk of `ld.man`
c9554fd927ee88bf7efc0e967343006c1cb0d8d6706482140000000100000fa2
 initialization will occur before the runtime initialization of any other objects brought into the  process
               at the same time.  Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

           interpose
               Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

           unique
           nounique
               When  generating  a  shared  library  or  other  dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using "dlmopen"). This is
               primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can  be  overridden  by  the
               "dlmopen" caller and does not apply to certain loading mechanisms (such as audit libraries).

           lam-u48
               Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48.  Supported for Linux/x86_64.

           lam-u57
               Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57.  Supported for Linux/x86_64.

           lam-u48-report=none
           lam-u48-report=warning
           lam-u48-report=error
               Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section.  lam-u48-report=none, which is the default, will make the linker not report missing properties
               in  input  files.   lam-u48-report=warning  will make the linker issue a warning for missing properties in input files.  lam-u48-report=error will make the linker issue an error for missing properties in input
               files.  Supported for Linux/x86_64.

           lam-u57-report=none
           lam-u57-report=warning
           lam-u57-report=error
               Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section.  lam-u57-report=none, which is the default, will make the linker not report missing properties
               in input files.  lam-u57-report=warning will make the linker issue a warning for missing properties in input files.  lam-u57-report=error will make the linker issue an error for  missing  properties  in  input
               files.  Supported for Linux/x86_64.

           lam-report=none
           lam-report=warning
           lam-report=error
               Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section.  lam-report=none, which is the default, will make the
               linker  not  report  missing properties in input files.  lam-report=warning will make the linker issue a warning for missing properties in input files.  lam-report=error will make the linker issue an error for
               missing properties in input files.  Supported for Linux/x86_64.

           lazy
               When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at  load  time.   Lazy
               binding is the default.

           loadfltr
               Specify that the object’s filters be processed immediately at runtime.

           max-page-size=value
               Set the maximum memory page size supported to value.

           muldefs
               Allow multiple definitions.

           nocopyreloc
               Disable linker generated .dynbss variables used in place of variables defined in shared libraries.  May result in dynamic text relocations.

           nodefaultlib
              

Title: LD (GNU Linker) - Keyword Options (Continued): More on Initialization, Interposition, Uniqueness, LAM, Reporting, Lazy Binding, Filters, Page Size, Multiple Definitions, and Copy Relocations
Summary
This section details more linker options relating to the `-z` keyword: `initfirst` for object initialization order, `interpose` for modifying symbol search order, `unique` for single-load shared objects, `lam-u48` and `lam-u57` for Intel LAM compatibility, `lam-*-report` for reporting missing LAM properties, `lazy` for lazy binding, `loadfltr` for immediate filter processing, `max-page-size` for setting maximum page size, `muldefs` for allowing multiple definitions, and `nocopyreloc` for disabling copy relocations.