aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2009-05-04 12:09:30 +0000
committerDave Korn <dave.korn@artimi.com>2009-05-04 12:09:30 +0000
commit09e2aba4327cd450908bed05c6e1d4d2dcb09b32 (patch)
tree7de8a83faab244723b3ead159c4eb39065ae9e72 /ld/ld.texinfo
parent67ce33d768510c7f826be66a2b4ea22c7caea801 (diff)
downloadbinutils-09e2aba4327cd450908bed05c6e1d4d2dcb09b32.zip
binutils-09e2aba4327cd450908bed05c6e1d4d2dcb09b32.tar.gz
binutils-09e2aba4327cd450908bed05c6e1d4d2dcb09b32.tar.bz2
bfd/ChangeLog
* elflink.c (find_version_for_sym): Remove from here, ... * linker.c (bfd_find_version_for_sym): ... rename, replace here, make public and update all callers. * bfd-in2.h: Regenerate. ld/ChangeLog * NEWS: Mention new feature. * ld.texinfo (--version-script): Document extent of PE support. (WIN32): Mention --version-script. Extend auto-export description. * pe-dll.c (process_def_file): Use version script info to filter symbols from auto-export. * testsuite/ld-pe/vers-script-1.d: New file. * testsuite/ld-pe/vers-script-2.d: New file. * testsuite/ld-pe/vers-script-3.d: New file. * testsuite/ld-pe/vers-script-4.d: New file. * testsuite/ld-pe/vers-script-1.ver: New file. * testsuite/ld-pe/vers-script-2.ver: New file. * testsuite/ld-pe/vers-script-3.ver: New file. * testsuite/ld-pe/vers-script-4.ver: New file. * testsuite/ld-pe/vers-script-dll.c: New file. * testsuite/ld-pe/vers-script.exp: New test script.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo19
1 files changed, 16 insertions, 3 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 77846d5..bdfa948 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1816,8 +1816,11 @@ the linker script being used by the linker.
Specify the name of a version script to the linker. This is typically
used when creating shared libraries to specify additional information
about the version hierarchy for the library being created. This option
-is only meaningful on ELF platforms which support shared libraries.
-@xref{VERSION}.
+is only fully supported on ELF platforms which support shared libraries;
+see @ref{VERSION}. It is partially supported on PE platforms, which can
+use version scripts to filter symbol visibility in auto-export mode: any
+symbols marked @samp{local} in the version script will not be exported.
+@xref{WIN32}.
@kindex --warn-common
@cindex warnings, on combining symbols
@@ -6582,9 +6585,19 @@ which is controlled by the following command line options:
@item --exclude-symbols
@item --exclude-libs
@item --exclude-modules-for-implib
+@item --version-script
@end itemize
-If, however, @samp{--export-all-symbols} is not given explicitly on the
+When auto-export is in operation, @command{ld} will export all the non-local
+(global and common) symbols it finds in a DLL, with the exception of a few
+symbols known to belong to the system's runtime and libraries. As it will
+often not be desirable to export all of a DLL's symbols, which may include
+private functions that are not part of any public interface, the command-line
+options listed above may be used to filter symbols out from the list for
+exporting. The @samp{--output-def} option can be used in order to see the
+final list of exported symbols with all exclusions taken into effect.
+
+If @samp{--export-all-symbols} is not given explicitly on the
command line, then the default auto-export behavior will be @emph{disabled}
if either of the following are true: