aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2009-01-03 18:04:16 +0000
committerDave Korn <dave.korn@artimi.com>2009-01-03 18:04:16 +0000
commite1c37eb57ebf5a431a508918321a1f07fc3025ac (patch)
tree1c0e7f13e930c5711dedf5f40a7567ebd84ac99c /ld/ld.texinfo
parentb4f8c801a1170949157e08f5d7c8ca5bd4b22804 (diff)
downloadgdb-e1c37eb57ebf5a431a508918321a1f07fc3025ac.zip
gdb-e1c37eb57ebf5a431a508918321a1f07fc3025ac.tar.gz
gdb-e1c37eb57ebf5a431a508918321a1f07fc3025ac.tar.bz2
* NEWS: Mention new feature --exclude-modules-for-implib.
* ld.texinfo: Document new --exclude-modules-for-implib option. * pe-dll.c (exclude_list_struct): Change type member from int to new enumeration exclude_type. (pe_dll_add_excludes): Accept exclude_type instead of int param. (auto_export): Replace magic constants by exclude_type values and handle new choice EXCLUDEFORIMPLIB. (pe_dll_generate_implib): Accept a pointer to the link_info and iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open fresh BFDs for any found and link into import lib archive chain. * pe-dll.h (exclude_type): Add new enumerated type to replace magic constants previously used for exclude_list_struct type member. (pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes. * pep-dll.h (exclude_type, pe_dll_add_excludes, pe_dll_generate_implib): Likewise to all the above. * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[]. (gld_${EMULATION_NAME}_list_options): List usage for it. (gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB. (gld_${EMULATION_NAME}_finish): Pass pointer to link_info when calling pe_dll_generate_implib. * emultempl/pep.em (options): Define new enumerated value for getopts long option code for new --exclude-modules-for-implib option. (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options, gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish): Again, likewise to all the above.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo16
1 files changed, 15 insertions, 1 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 4e8cf8a..11bde29 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -457,7 +457,7 @@ and other ways of specifying the entry point.
@kindex --exclude-libs
@item --exclude-libs @var{lib},@var{lib},...
Specifies a list of archive libraries from which symbols should not be automatically
-exported. The library names may be delimited by commas or colons. Specifying
+exported. The library names may be delimited by commas or colons. Specifying
@code{--exclude-libs ALL} excludes symbols in all archive libraries from
automatic export. This option is available only for the i386 PE targeted
port of the linker and for ELF targeted ports. For i386 PE, symbols
@@ -465,6 +465,19 @@ explicitly listed in a .def file are still exported, regardless of this
option. For ELF targeted ports, symbols affected by this option will
be treated as hidden.
+@kindex --exclude-modules-for-implib
+@item --exclude-modules-for-implib @var{module},@var{module},...
+Specifies a list of object files or archive members, from which symbols
+should not be automatically exported, but which should be copied wholesale
+into the import library being generated during the link. The module names
+may be delimited by commas or colons, and must match exactly the filenames
+used by @command{ld} to open the files; for archive members, this is simply
+the member name, but for object files the name listed must include and
+match precisely any path used to specify the input file on the linker's
+command-line. This option is available only for the i386 PE targeted port
+of the linker. Symbols explicitly listed in a .def file are still exported,
+regardless of this option.
+
@cindex dynamic symbol table
@kindex -E
@kindex --export-dynamic
@@ -6232,6 +6245,7 @@ which is controlled by the following command line options:
@item --export-all-symbols [This is the default]
@item --exclude-symbols
@item --exclude-libs
+@item --exclude-modules-for-implib
@end itemize
If, however, @samp{--export-all-symbols} is not given explicitly on the