Home Explore Blog CI



man-pages

21th chunk of `ld.man`
1c479576798a35a646ebcd06ab91d8a4e550936de34d4efe0000000100000fb2
 possible for a program linked against a shared library to override the
           definition within the shared library.  This option is only meaningful on ELF platforms which support shared libraries.

       -Bsymbolic-functions
           When creating a shared library, bind references to global function symbols to the definition within the shared library, if any.  This option is only meaningful on ELF platforms which support shared libraries.

       -Bno-symbolic
           This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

       --dynamic-list=dynamic‐list‐file
           Specify the name of a dynamic list file to the linker.  This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the  definition  within  the
           shared  library,  or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable.  This option is only meaningful on ELF platforms which support
           shared libraries.

           The format of the dynamic list is the same as the version node without scope and node name.  See VERSION for more information.

       --dynamic-list-data
           Include all global data symbols to the dynamic list.

       --dynamic-list-cpp-new
           Provide the builtin dynamic list for C++ operator new and delete.  It is mainly useful for building shared libstdc++.

       --dynamic-list-cpp-typeinfo
           Provide the builtin dynamic list for C++ runtime type identification.

       --check-sections
       --no-check-sections
           Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps.  Normally the linker will perform this check, and if it finds any overlaps it  will  produce  suitable
           error  messages.   The  linker  does know about, and does make allowances for sections in overlays.  The default behaviour can be restored by using the command‐line switch --check-sections.  Section overlap is not
           usually checked for relocatable links.  You can force checking in that case by using the --check-sections option.

       --copy-dt-needed-entries
       --no-copy-dt-needed-entries
           This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line.  Normally the linker won’t add a DT_NEEDED tag to the output  binary
           for  each  library  mentioned  in  a  DT_NEEDED  tag in an input dynamic library.  With --copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED
           entries added.  The default behaviour can be restored with --no-copy-dt-needed-entries.

           This option also has an effect on the resolution of symbols in dynamic libraries.  With --copy-dt-needed-entries dynamic libraries mentioned on the command  line  will  be  recursively  searched,  following  their
           DT_NEEDED  tags to other libraries, in order to resolve symbols required by the output binary.  With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library
           itself.  No DT_NEEDED links will be traversed to resolve symbols.

       --cref
           Output a cross reference table.  If a linker map file is being generated, the cross reference table is printed to the map file.  Otherwise, it is printed on the standard output.

           The format of the table is intentionally simple, so that it may be easily processed by a script if necessary.  The symbols are printed out, sorted by name.  For each symbol, a list of file names is given.  If  the
           symbol  is  defined, the first file listed is the location of the definition.  If the symbol is defined as a common value then any files where this happens appear next.  Finally any files that reference

Title: LD (GNU Linker) - Keyword Options: Dynamic Lists, Section Checking, and Cross-References
Summary
This section details options for dynamic linking, including defining dynamic lists with --dynamic-list for controlling symbol binding in shared libraries and executables. It also covers options for including data symbols and C++ specific symbols in the dynamic list (--dynamic-list-data, --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo), controlling section overlap checking (--check-sections), handling DT_NEEDED entries in dynamic libraries (--copy-dt-needed-entries), and generating cross-reference tables (--cref) that list symbol definitions and references.