175fd0b74Schristos /* Routines to help build PEPI-format DLLs (Win64 etc) 2*e992f068Schristos Copyright (C) 2006-2022 Free Software Foundation, Inc. 375fd0b74Schristos Written by Kai Tietz, OneVision Software GmbH&CoKg. 475fd0b74Schristos 575fd0b74Schristos This file is part of the GNU Binutils. 675fd0b74Schristos 775fd0b74Schristos This program is free software; you can redistribute it and/or modify 875fd0b74Schristos it under the terms of the GNU General Public License as published by 975fd0b74Schristos the Free Software Foundation; either version 3 of the License, or 1075fd0b74Schristos (at your option) any later version. 1175fd0b74Schristos 1275fd0b74Schristos This program is distributed in the hope that it will be useful, 1375fd0b74Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 1475fd0b74Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1575fd0b74Schristos GNU General Public License for more details. 1675fd0b74Schristos 1775fd0b74Schristos You should have received a copy of the GNU General Public License 1875fd0b74Schristos along with this program; if not, write to the Free Software 1975fd0b74Schristos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 2075fd0b74Schristos MA 02110-1301, USA. */ 2175fd0b74Schristos 2275fd0b74Schristos #define COFF_IMAGE_WITH_PE 2375fd0b74Schristos #define COFF_WITH_PE 2475fd0b74Schristos #define COFF_WITH_pex64 2575fd0b74Schristos 2675fd0b74Schristos /* Local defined globals. */ 2775fd0b74Schristos #define pe_def_file pep_def_file 2875fd0b74Schristos #define pe_details pep_details 2975fd0b74Schristos #define pe_dll_compat_implib pep_dll_compat_implib 3075fd0b74Schristos #define pe_dll_extra_pe_debug pep_dll_extra_pe_debug 3175fd0b74Schristos #define pe_dll_export_everything pep_dll_export_everything 3275fd0b74Schristos #define pe_dll_exclude_all_symbols pep_dll_exclude_all_symbols 3375fd0b74Schristos #define pe_dll_do_default_excludes pep_dll_do_default_excludes 3475fd0b74Schristos #define pe_dll_kill_ats pep_dll_kill_ats 3575fd0b74Schristos #define pe_dll_stdcall_aliases pep_dll_stdcall_aliases 3675fd0b74Schristos #define pe_dll_warn_dup_exports pep_dll_warn_dup_exports 3775fd0b74Schristos #define pe_use_nul_prefixed_import_tables \ 3875fd0b74Schristos pep_use_nul_prefixed_import_tables 3975fd0b74Schristos #define pe_use_coff_long_section_names \ 4075fd0b74Schristos pep_use_coff_long_section_names 4175fd0b74Schristos #define pe_leading_underscore pep_leading_underscore 42012573ebSchristos #define pe_dll_enable_reloc_section pep_dll_enable_reloc_section 4375fd0b74Schristos 4475fd0b74Schristos /* Unique global name for functions to avoid double defined symbols. */ 45ede78133Schristos #define pe_find_data_imports pep_find_data_imports 4675fd0b74Schristos #define pe_create_import_fixup pep_create_import_fixup 4775fd0b74Schristos #define pe_dll_generate_def_file pep_dll_generate_def_file 4875fd0b74Schristos #define pe_process_import_defs pep_process_import_defs 4975fd0b74Schristos #define pe_dll_id_target pep_dll_id_target 5075fd0b74Schristos #define pe_implied_import_dll pep_implied_import_dll 5175fd0b74Schristos #define pe_dll_build_sections pep_dll_build_sections 5275fd0b74Schristos #define pe_exe_build_sections pep_exe_build_sections 5375fd0b74Schristos #define pe_dll_fill_sections pep_dll_fill_sections 5475fd0b74Schristos #define pe_exe_fill_sections pep_exe_fill_sections 5575fd0b74Schristos #define pe_dll_generate_implib pep_dll_generate_implib 5675fd0b74Schristos #define pe_dll_add_excludes pep_dll_add_excludes 5775fd0b74Schristos #define pe_bfd_is_dll pep_bfd_is_dll 5875fd0b74Schristos #define pe_output_file_set_long_section_names \ 5975fd0b74Schristos pep_output_file_set_long_section_names 6075fd0b74Schristos 6175fd0b74Schristos /* Uses x86_64 PE+. */ 6275fd0b74Schristos #define pe_use_x86_64 6375fd0b74Schristos 6475fd0b74Schristos #include "pe-dll.c" 65