xref: /netbsd-src/external/gpl3/binutils/dist/ld/pep-dll.c (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
12a6b7db3Sskrll /* Routines to help build PEPI-format DLLs (Win64 etc)
2*cb63e24eSchristos    Copyright (C) 2006-2024 Free Software Foundation, Inc.
32a6b7db3Sskrll    Written by Kai Tietz, OneVision Software GmbH&CoKg.
42a6b7db3Sskrll 
52a6b7db3Sskrll    This file is part of the GNU Binutils.
62a6b7db3Sskrll 
72a6b7db3Sskrll    This program is free software; you can redistribute it and/or modify
82a6b7db3Sskrll    it under the terms of the GNU General Public License as published by
92a6b7db3Sskrll    the Free Software Foundation; either version 3 of the License, or
102a6b7db3Sskrll    (at your option) any later version.
112a6b7db3Sskrll 
122a6b7db3Sskrll    This program is distributed in the hope that it will be useful,
132a6b7db3Sskrll    but WITHOUT ANY WARRANTY; without even the implied warranty of
142a6b7db3Sskrll    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
152a6b7db3Sskrll    GNU General Public License for more details.
162a6b7db3Sskrll 
172a6b7db3Sskrll    You should have received a copy of the GNU General Public License
182a6b7db3Sskrll    along with this program; if not, write to the Free Software
192a6b7db3Sskrll    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
202a6b7db3Sskrll    MA 02110-1301, USA.  */
212a6b7db3Sskrll 
222a6b7db3Sskrll #define COFF_IMAGE_WITH_PE
232a6b7db3Sskrll #define COFF_WITH_PE
242a6b7db3Sskrll 
252a6b7db3Sskrll /* Local defined globals.  */
262a6b7db3Sskrll #define pe_def_file	            pep_def_file
272a6b7db3Sskrll #define pe_details	            pep_details
282a6b7db3Sskrll #define pe_dll_compat_implib        pep_dll_compat_implib
292a6b7db3Sskrll #define pe_dll_extra_pe_debug       pep_dll_extra_pe_debug
302a6b7db3Sskrll #define pe_dll_export_everything    pep_dll_export_everything
31be9ac0eaSchristos #define pe_dll_exclude_all_symbols  pep_dll_exclude_all_symbols
322a6b7db3Sskrll #define pe_dll_do_default_excludes  pep_dll_do_default_excludes
332a6b7db3Sskrll #define pe_dll_kill_ats             pep_dll_kill_ats
342a6b7db3Sskrll #define pe_dll_stdcall_aliases      pep_dll_stdcall_aliases
352a6b7db3Sskrll #define pe_dll_warn_dup_exports     pep_dll_warn_dup_exports
36be9ac0eaSchristos #define pe_use_nul_prefixed_import_tables \
37be9ac0eaSchristos 				    pep_use_nul_prefixed_import_tables
38be9ac0eaSchristos #define pe_use_coff_long_section_names \
39be9ac0eaSchristos 				    pep_use_coff_long_section_names
40be9ac0eaSchristos #define pe_leading_underscore	    pep_leading_underscore
416f4ced0bSchristos #define pe_dll_enable_reloc_section pep_dll_enable_reloc_section
422a6b7db3Sskrll 
432a6b7db3Sskrll /* Unique global name for functions to avoid double defined symbols.  */
44c1a20988Schristos #define pe_find_data_imports        pep_find_data_imports
452a6b7db3Sskrll #define pe_create_import_fixup      pep_create_import_fixup
462a6b7db3Sskrll #define pe_dll_generate_def_file    pep_dll_generate_def_file
472a6b7db3Sskrll #define pe_process_import_defs      pep_process_import_defs
482a6b7db3Sskrll #define pe_dll_id_target            pep_dll_id_target
492a6b7db3Sskrll #define pe_implied_import_dll       pep_implied_import_dll
502a6b7db3Sskrll #define pe_dll_build_sections       pep_dll_build_sections
512a6b7db3Sskrll #define pe_exe_build_sections       pep_exe_build_sections
522a6b7db3Sskrll #define pe_dll_fill_sections        pep_dll_fill_sections
532a6b7db3Sskrll #define pe_exe_fill_sections        pep_exe_fill_sections
542a6b7db3Sskrll #define pe_dll_generate_implib      pep_dll_generate_implib
552a6b7db3Sskrll #define pe_dll_add_excludes         pep_dll_add_excludes
562a6b7db3Sskrll #define pe_bfd_is_dll		    pep_bfd_is_dll
57be9ac0eaSchristos #define pe_output_file_set_long_section_names \
58be9ac0eaSchristos 				    pep_output_file_set_long_section_names
592a6b7db3Sskrll 
60*cb63e24eSchristos /* Uses PE+.  */
61*cb63e24eSchristos #define pe_use_plus
622a6b7db3Sskrll 
632a6b7db3Sskrll #include "pe-dll.c"
64