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/pep-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/pep-dll.h')
-rw-r--r-- | ld/pep-dll.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ld/pep-dll.h b/ld/pep-dll.h index ae0dcbe..5d09658 100644 --- a/ld/pep-dll.h +++ b/ld/pep-dll.h @@ -36,10 +36,12 @@ extern int pep_dll_warn_dup_exports; extern int pep_dll_compat_implib; extern int pep_dll_extra_pe_debug; +typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type; + extern void pep_dll_id_target (const char *); -extern void pep_dll_add_excludes (const char *, const int); +extern void pep_dll_add_excludes (const char *, const exclude_type); extern void pep_dll_generate_def_file (const char *); -extern void pep_dll_generate_implib (def_file *, const char *); +extern void pep_dll_generate_implib (def_file *, const char *, struct bfd_link_info *); extern void pep_process_import_defs (bfd *, struct bfd_link_info *); extern bfd_boolean pep_implied_import_dll (const char *); extern void pep_dll_build_sections (bfd *, struct bfd_link_info *); |