You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
1.2 KiB
23 lines
1.2 KiB
``RESCAN``
|
|
Some linkers are single-pass only. For such linkers, circular references
|
|
between libraries typically result in unresolved symbols. This feature
|
|
instructs the linker to search the specified static libraries repeatedly
|
|
until no new undefined references are created.
|
|
|
|
Normally, a static library is searched only once in the order that it is
|
|
specified on the command line. If a symbol in that library is needed to
|
|
resolve an undefined symbol referred to by an object in a library that
|
|
appears later on the command line, the linker would not be able to resolve
|
|
that reference. By grouping the static libraries with the ``RESCAN``
|
|
feature, they will all be searched repeatedly until all possible references
|
|
are resolved. This will use linker options like ``--start-group`` and
|
|
``--end-group``, or on SunOS, ``-z rescan-start`` and ``-z rescan-end``.
|
|
|
|
Using this feature has a significant performance cost. It is best to use it
|
|
only when there are unavoidable circular references between two or more
|
|
static libraries.
|
|
|
|
This feature is available when using toolchains that target Linux, BSD, and
|
|
SunOS. It can also be used when targeting Windows platforms if the GNU
|
|
toolchain is used.
|