diff options
author | Dave Korn <dave.korn@artimi.com> | 2009-01-03 18:04:16 +0000 |
---|---|---|
committer | Dave Korn <dave.korn@artimi.com> | 2009-01-03 18:04:16 +0000 |
commit | e1c37eb57ebf5a431a508918321a1f07fc3025ac (patch) | |
tree | 1c0e7f13e930c5711dedf5f40a7567ebd84ac99c /ld/pe-dll.h | |
parent | b4f8c801a1170949157e08f5d7c8ca5bd4b22804 (diff) | |
download | gdb-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/pe-dll.h')
-rw-r--r-- | ld/pe-dll.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ld/pe-dll.h b/ld/pe-dll.h index 6645c4c..83e7422 100644 --- a/ld/pe-dll.h +++ b/ld/pe-dll.h @@ -36,14 +36,16 @@ extern int pe_dll_warn_dup_exports; extern int pe_dll_compat_implib; extern int pe_dll_extra_pe_debug; +typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type; + extern void pe_dll_id_target (const char *); extern void pe_dll_add_excludes - (const char *, const int); + (const char *, const exclude_type); extern void pe_dll_generate_def_file (const char *); extern void pe_dll_generate_implib - (def_file *, const char *); + (def_file *, const char *, struct bfd_link_info *); extern void pe_process_import_defs (bfd *, struct bfd_link_info *); extern bfd_boolean pe_implied_import_dll |