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