(-rpath-link): Clarify distinction between -rpath and -rpath-link.
This commit is contained in:
parent
a2c9f04d67
commit
ece2d90e7c
2 changed files with 34 additions and 27 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2006-06-27 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* ld.texinfo (-rpath-link): Clarify distinction between -rpath and
|
||||||
|
-rpath-link.
|
||||||
|
|
||||||
2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
|
2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
* configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Set
|
* configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Set
|
||||||
|
|
|
@ -216,10 +216,10 @@ to provide explicit and total control over the linking process.
|
||||||
|
|
||||||
@ifset man
|
@ifset man
|
||||||
@c For the man only
|
@c For the man only
|
||||||
This man page does not describe the command language; see the
|
This man page does not describe the command language; see the
|
||||||
@command{ld} entry in @code{info}, or the manual
|
@command{ld} entry in @code{info}, or the manual
|
||||||
ld: the GNU linker, for full details on the command language and
|
ld: the GNU linker, for full details on the command language and
|
||||||
on other aspects of the GNU linker.
|
on other aspects of the GNU linker.
|
||||||
@end ifset
|
@end ifset
|
||||||
|
|
||||||
@ifclear SingleFormat
|
@ifclear SingleFormat
|
||||||
|
@ -550,7 +550,7 @@ toolchain for specifying object-file format for both input and output
|
||||||
object files.
|
object files.
|
||||||
@ifclear SingleFormat
|
@ifclear SingleFormat
|
||||||
The @sc{gnu} linker uses other mechanisms for this purpose: the
|
The @sc{gnu} linker uses other mechanisms for this purpose: the
|
||||||
@option{-b}, @option{--format}, @option{--oformat} options, the
|
@option{-b}, @option{--format}, @option{--oformat} options, the
|
||||||
@code{TARGET} command in linker scripts, and the @code{GNUTARGET}
|
@code{TARGET} command in linker scripts, and the @code{GNUTARGET}
|
||||||
environment variable.
|
environment variable.
|
||||||
@end ifclear
|
@end ifclear
|
||||||
|
@ -1021,7 +1021,7 @@ Set the emulation common page size to @var{value}.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
Other keywords are ignored for Solaris compatibility.
|
Other keywords are ignored for Solaris compatibility.
|
||||||
|
|
||||||
@kindex -(
|
@kindex -(
|
||||||
@cindex groups of archives
|
@cindex groups of archives
|
||||||
|
@ -1122,7 +1122,7 @@ option also implies @option{--unresolved-symbols=report-all}. This
|
||||||
option can be used with @option{-shared}. Doing so means that a
|
option can be used with @option{-shared}. Doing so means that a
|
||||||
shared library is being created but that all of the library's external
|
shared library is being created but that all of the library's external
|
||||||
references must be resolved by pulling in entries from static
|
references must be resolved by pulling in entries from static
|
||||||
libraries.
|
libraries.
|
||||||
|
|
||||||
@kindex -Bsymbolic
|
@kindex -Bsymbolic
|
||||||
@item -Bsymbolic
|
@item -Bsymbolic
|
||||||
|
@ -1272,7 +1272,7 @@ Report unresolved symbol references from regular object files. This
|
||||||
is done even if the linker is creating a non-symbolic shared library.
|
is done even if the linker is creating a non-symbolic shared library.
|
||||||
The switch @option{--[no-]allow-shlib-undefined} controls the
|
The switch @option{--[no-]allow-shlib-undefined} controls the
|
||||||
behaviour for reporting unresolved references found in shared
|
behaviour for reporting unresolved references found in shared
|
||||||
libraries being linked in.
|
libraries being linked in.
|
||||||
|
|
||||||
@kindex --allow-multiple-definition
|
@kindex --allow-multiple-definition
|
||||||
@kindex -z muldefs
|
@kindex -z muldefs
|
||||||
|
@ -1297,7 +1297,7 @@ the shared library being specified at link time may not be the same as
|
||||||
the one that is available at load time, so the symbols might actually be
|
the one that is available at load time, so the symbols might actually be
|
||||||
resolvable at load time. Plus there are some systems, (eg BeOS) where
|
resolvable at load time. Plus there are some systems, (eg BeOS) where
|
||||||
undefined symbols in shared libraries is normal. (The kernel patches
|
undefined symbols in shared libraries is normal. (The kernel patches
|
||||||
them at load time to select which function is most appropriate
|
them at load time to select which function is most appropriate
|
||||||
for the current architecture. This is used for example to dynamically
|
for the current architecture. This is used for example to dynamically
|
||||||
select an appropriate memset function). Apparently it is also normal
|
select an appropriate memset function). Apparently it is also normal
|
||||||
for HPPA shared libraries to have undefined symbols.
|
for HPPA shared libraries to have undefined symbols.
|
||||||
|
@ -1493,7 +1493,7 @@ is possible to use unintentionally a different search path than the
|
||||||
runtime linker would do.
|
runtime linker would do.
|
||||||
|
|
||||||
The linker uses the following search paths to locate required shared
|
The linker uses the following search paths to locate required shared
|
||||||
libraries.
|
libraries:
|
||||||
@enumerate
|
@enumerate
|
||||||
@item
|
@item
|
||||||
Any directories specified by @option{-rpath-link} options.
|
Any directories specified by @option{-rpath-link} options.
|
||||||
|
@ -1502,7 +1502,9 @@ Any directories specified by @option{-rpath} options. The difference
|
||||||
between @option{-rpath} and @option{-rpath-link} is that directories
|
between @option{-rpath} and @option{-rpath-link} is that directories
|
||||||
specified by @option{-rpath} options are included in the executable and
|
specified by @option{-rpath} options are included in the executable and
|
||||||
used at runtime, whereas the @option{-rpath-link} option is only effective
|
used at runtime, whereas the @option{-rpath-link} option is only effective
|
||||||
at link time. It is for the native linker only.
|
at link time. Searching @option{-rpath} in this way is only supported
|
||||||
|
by native linkers and cross linkers which have been configured with
|
||||||
|
the @option{--with-sysroot} option.
|
||||||
@item
|
@item
|
||||||
On an ELF system, if the @option{-rpath} and @code{rpath-link} options
|
On an ELF system, if the @option{-rpath} and @code{rpath-link} options
|
||||||
were not used, search the contents of the environment variable
|
were not used, search the contents of the environment variable
|
||||||
|
@ -1796,7 +1798,7 @@ the section (@pxref{SECTIONS}).
|
||||||
|
|
||||||
@kindex --warn-shared-textrel
|
@kindex --warn-shared-textrel
|
||||||
@item --warn-shared-textrel
|
@item --warn-shared-textrel
|
||||||
Warn if the linker adds a DT_TEXTREL to a shared object.
|
Warn if the linker adds a DT_TEXTREL to a shared object.
|
||||||
|
|
||||||
@kindex --warn-unresolved-symbols
|
@kindex --warn-unresolved-symbols
|
||||||
@item --warn-unresolved-symbols
|
@item --warn-unresolved-symbols
|
||||||
|
@ -1970,22 +1972,22 @@ otherwise wouldn't be any exported symbols. When symbols are
|
||||||
explicitly exported via DEF files or implicitly exported via function
|
explicitly exported via DEF files or implicitly exported via function
|
||||||
attributes, the default is to not export anything else unless this
|
attributes, the default is to not export anything else unless this
|
||||||
option is given. Note that the symbols @code{DllMain@@12},
|
option is given. Note that the symbols @code{DllMain@@12},
|
||||||
@code{DllEntryPoint@@0}, @code{DllMainCRTStartup@@12}, and
|
@code{DllEntryPoint@@0}, @code{DllMainCRTStartup@@12}, and
|
||||||
@code{impure_ptr} will not be automatically
|
@code{impure_ptr} will not be automatically
|
||||||
exported. Also, symbols imported from other DLLs will not be
|
exported. Also, symbols imported from other DLLs will not be
|
||||||
re-exported, nor will symbols specifying the DLL's internal layout
|
re-exported, nor will symbols specifying the DLL's internal layout
|
||||||
such as those beginning with @code{_head_} or ending with
|
such as those beginning with @code{_head_} or ending with
|
||||||
@code{_iname}. In addition, no symbols from @code{libgcc},
|
@code{_iname}. In addition, no symbols from @code{libgcc},
|
||||||
@code{libstd++}, @code{libmingw32}, or @code{crtX.o} will be exported.
|
@code{libstd++}, @code{libmingw32}, or @code{crtX.o} will be exported.
|
||||||
Symbols whose names begin with @code{__rtti_} or @code{__builtin_} will
|
Symbols whose names begin with @code{__rtti_} or @code{__builtin_} will
|
||||||
not be exported, to help with C++ DLLs. Finally, there is an
|
not be exported, to help with C++ DLLs. Finally, there is an
|
||||||
extensive list of cygwin-private symbols that are not exported
|
extensive list of cygwin-private symbols that are not exported
|
||||||
(obviously, this applies on when building DLLs for cygwin targets).
|
(obviously, this applies on when building DLLs for cygwin targets).
|
||||||
These cygwin-excludes are: @code{_cygwin_dll_entry@@12},
|
These cygwin-excludes are: @code{_cygwin_dll_entry@@12},
|
||||||
@code{_cygwin_crt0_common@@8}, @code{_cygwin_noncygwin_dll_entry@@12},
|
@code{_cygwin_crt0_common@@8}, @code{_cygwin_noncygwin_dll_entry@@12},
|
||||||
@code{_fmode}, @code{_impure_ptr}, @code{cygwin_attach_dll},
|
@code{_fmode}, @code{_impure_ptr}, @code{cygwin_attach_dll},
|
||||||
@code{cygwin_premain0}, @code{cygwin_premain1}, @code{cygwin_premain2},
|
@code{cygwin_premain0}, @code{cygwin_premain1}, @code{cygwin_premain2},
|
||||||
@code{cygwin_premain3}, and @code{environ}.
|
@code{cygwin_premain3}, and @code{environ}.
|
||||||
[This option is specific to the i386 PE targeted port of the linker]
|
[This option is specific to the i386 PE targeted port of the linker]
|
||||||
|
|
||||||
@kindex --exclude-symbols
|
@kindex --exclude-symbols
|
||||||
|
@ -2108,17 +2110,17 @@ default.
|
||||||
@kindex --dll-search-prefix
|
@kindex --dll-search-prefix
|
||||||
@item --dll-search-prefix @var{string}
|
@item --dll-search-prefix @var{string}
|
||||||
When linking dynamically to a dll without an import library,
|
When linking dynamically to a dll without an import library,
|
||||||
search for @code{<string><basename>.dll} in preference to
|
search for @code{<string><basename>.dll} in preference to
|
||||||
@code{lib<basename>.dll}. This behaviour allows easy distinction
|
@code{lib<basename>.dll}. This behaviour allows easy distinction
|
||||||
between DLLs built for the various "subplatforms": native, cygwin,
|
between DLLs built for the various "subplatforms": native, cygwin,
|
||||||
uwin, pw, etc. For instance, cygwin DLLs typically use
|
uwin, pw, etc. For instance, cygwin DLLs typically use
|
||||||
@code{--dll-search-prefix=cyg}.
|
@code{--dll-search-prefix=cyg}.
|
||||||
[This option is specific to the i386 PE targeted port of the linker]
|
[This option is specific to the i386 PE targeted port of the linker]
|
||||||
|
|
||||||
@kindex --enable-auto-import
|
@kindex --enable-auto-import
|
||||||
@item --enable-auto-import
|
@item --enable-auto-import
|
||||||
Do sophisticated linking of @code{_symbol} to @code{__imp__symbol} for
|
Do sophisticated linking of @code{_symbol} to @code{__imp__symbol} for
|
||||||
DATA imports from DLLs, and create the necessary thunking symbols when
|
DATA imports from DLLs, and create the necessary thunking symbols when
|
||||||
building the import libraries with those DATA exports. Note: Use of the
|
building the import libraries with those DATA exports. Note: Use of the
|
||||||
'auto-import' extension will cause the text section of the image file
|
'auto-import' extension will cause the text section of the image file
|
||||||
to be made writable. This does not conform to the PE-COFF format
|
to be made writable. This does not conform to the PE-COFF format
|
||||||
|
@ -2127,11 +2129,11 @@ specification published by Microsoft.
|
||||||
Using 'auto-import' generally will 'just work' -- but sometimes you may
|
Using 'auto-import' generally will 'just work' -- but sometimes you may
|
||||||
see this message:
|
see this message:
|
||||||
|
|
||||||
"variable '<var>' can't be auto-imported. Please read the
|
"variable '<var>' can't be auto-imported. Please read the
|
||||||
documentation for ld's @code{--enable-auto-import} for details."
|
documentation for ld's @code{--enable-auto-import} for details."
|
||||||
|
|
||||||
This message occurs when some (sub)expression accesses an address
|
This message occurs when some (sub)expression accesses an address
|
||||||
ultimately given by the sum of two constants (Win32 import tables only
|
ultimately given by the sum of two constants (Win32 import tables only
|
||||||
allow one). Instances where this may occur include accesses to member
|
allow one). Instances where this may occur include accesses to member
|
||||||
fields of struct variables imported from a DLL, as well as using a
|
fields of struct variables imported from a DLL, as well as using a
|
||||||
constant index into an array variable imported from a DLL. Any
|
constant index into an array variable imported from a DLL. Any
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue