Ignoring Optional Libraries - HP eld Manual

Table of Contents

Advertisement

Binding of References
-temp_i
-temp_r
-unres_symbols
-update_registry
-verbose
-vslising
-warn

Ignoring Optional Libraries

This section decribes the feature whereby
the liblist if they appear to be unnecessary. Note that
regardless of whether it is presetting the file.
globalized symbols found in other DLL's, since the fixups would always need to be
updated by rld anyway, but
see if some DLL would resolve a reference to an undefined globalized symbol, for the
purpose of deciding which DLL's are optional.
For every indirectly found DLL in the search list, there was one other DLL that was
already in the search list and that caused this DLL to be added to the search list. If
that other DLL was also an indirect DLL, then it similarly was pointed at by something
else, etc. In this way, every indirectly found DLL can trace its presence in the search
list back to one DLL that was explicitly given in the command stream, or to the user
library. The set of all the DLL's that trace their presence back in this way to a given
DLL A is called the search list addition set of A.
If a DLL that was named explicitly in the command stream was not actually used to
resolve any references, and furthermore none of the DLL's in its search list addition set
were used to resolve any references, then that DLL is called unnecessary, because the
presence of that DLL in the command stream did not affect how the linker preset the
file. For example, if that DLL had not been specified in the command stream, then it or
the other DLL's in its search list addition set might instead have been found some other
way, but in all cases they would have to come later in the search list then they actually
did, or be absent entirely. That means that they wouldn't have had any consequences
that they didn't have in the actual link: they wouldn't have resolved any references, and
they wouldn't have caused other DLL's to be added to the search list. The resulting
search list would still have been the same, at least with regard to the presence of the
DLL's that were used to resolve references, and to the ordering of those DLL's among
themselves.
The options named -optional_lib and -no_optional_lib are command stream
toggles that determine whether the linker considers a DLL that is specified in the
command stream to be optional. These options can be specified multiple times in the
command stream, each time setting the mode for subsequent DLL's in the command
stream until the mode is changed again. At the beginning of the command stream the
mode is -no_optional_lib. If an optional DLL turns out to be unnecessary, then
the linker will assume it is okay to ignore that DLL, and it will not be listed in the .liblist
section. If
eld
still looks up globalized symbols in DLL's in order to
eld
is presetting, and therefore creating a LIC, then the LIC is created as if
eld Manual—527255-009
can be told to omit certain DLL's from
eld
always does this processing,
eld
does not fix up references to
eld
3-14
Ignoring Optional Libraries

Advertisement

Table of Contents
loading

Table of Contents