Home Explore Blog CI



man-pages

17th chunk of `ld.man`
69848217f578c0bc673ca6344555504ab8e4089dd64d31e90000000100000fd8
 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
               Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

           nodelete
               Specify that the object shouldn’t be unloaded at runtime.

           nodlopen
               Specify that the object is not available to "dlopen".

           nodump
               Specify that the object can not be dumped by "dldump".

           noexecstack
               Marks the object as not requiring executable stack.

           noextern‐protected‐data
               Don’t  treat  protected  data  symbols as external when building a shared library.  This option overrides the linker backend default.  It can be used to work around incorrect relocations against protected data
               symbols generated by compiler.  Updates on protected data symbols by another module aren’t visible to the resulting shared library.  Supported for i386 and x86-64.

           noreloc‐overflow
               Disable relocation overflow check.  This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run‐time.  Supported for x86_64.

           now When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded  by  dlopen,  instead  of  deferring
               function call resolution to the point when the function is first called.

           origin
               Specify that the object requires $ORIGIN handling in paths.

           pack‐relative‐relocs
           nopack‐relative‐relocs
               Generate  compact  relative  relocation  in  position‐independent  executable  and  shared library.  It adds "DT_RELR", "DT_RELRSZ" and "DT_RELRENT" entries to the dynamic section.  It is ignored when building
               position‐dependent executable and relocatable output.  nopack‐relative‐relocs is the default, which disables compact relative relocation.  When linked against the GNU  C  Library,  a  GLIBC_ABI_DT_RELR  symbol
               version dependency on the shared C Library is added to the output.  Supported for i386 and x86-64.

           relro
           norelro
               Create  an  ELF  "PT_GNU_RELRO" segment header in the object.  This specifies a memory segment that should be made read‐only after relocation, if supported.  Specifying common‐page‐size smaller than the system
               page size will render this protection ineffective.  Don’t create an ELF "PT_GNU_RELRO" segment if norelro.

           report‐relative‐reloc
               Report dynamic relative relocations generated by linker.  Supported for Linux/i386 and Linux/x86_64.

           sectionheader
           nosectionheader
               Generate section header.  Don’t generate section header if nosectionheader is used.  sectionheader is the default.

           separate‐code
           noseparate‐code
               Create separate code "PT_LOAD" segment

Title: LD (GNU Linker) - Keyword Options (Continued): Further Options including Relocation Reporting, Security Features, and Section Headers
Summary
This section details further linker options under the `-z` flag: settings for reporting missing properties, options for lazy binding, immediate filter processing, maximum page size, multiple definitions, disabling copy relocations, ignoring default library search paths, preventing object unloading or `dlopen` access, disabling `dldump`, disabling executable stack, options for protected data symbols, disabling relocation overflow checks, resolving symbols at startup, requiring `$ORIGIN` handling, compact relative relocations, read-only segments after relocation, reporting dynamic relative relocations, section header generation, and creating separate code segments.