]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - ld/pep-dll.h
Fix AMD64 return value ABI in expression evaluation
[thirdparty/binutils-gdb.git] / ld / pep-dll.h
CommitLineData
99ad8390 1/* pep-dll.h: Header file for routines used to build Windows DLLs.
82704155 2 Copyright (C) 2006-2019 Free Software Foundation, Inc.
f96b4a7b 3 Written by Kai Tietz, OneVision Software GmbH&CoKg.
99ad8390 4
f96b4a7b 5 This file is part of the GNU Binutils.
99ad8390
NC
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
f96b4a7b 9 the Free Software Foundation; either version 3 of the License, or
99ad8390
NC
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
f96b4a7b
NC
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
99ad8390
NC
21
22#ifndef PEP_DLL_H
23#define PEP_DLL_H
24
99ad8390 25#include "sysdep.h"
3db64b00 26#include "bfd.h"
99ad8390
NC
27#include "bfdlink.h"
28#include "deffile.h"
29
30extern def_file * pep_def_file;
31extern int pep_dll_export_everything;
2927aaca 32extern int pep_dll_exclude_all_symbols;
99ad8390
NC
33extern int pep_dll_do_default_excludes;
34extern int pep_dll_kill_ats;
35extern int pep_dll_stdcall_aliases;
36extern int pep_dll_warn_dup_exports;
37extern int pep_dll_compat_implib;
38extern int pep_dll_extra_pe_debug;
ce11ba6c 39extern int pep_use_nul_prefixed_import_tables;
88183869 40extern int pep_use_coff_long_section_names;
522f09cd 41extern int pep_leading_underscore;
99ad8390 42
e1c37eb5
DK
43typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type;
44
99ad8390 45extern void pep_dll_id_target (const char *);
e1c37eb5 46extern void pep_dll_add_excludes (const char *, const exclude_type);
99ad8390 47extern void pep_dll_generate_def_file (const char *);
e1c37eb5 48extern void pep_dll_generate_implib (def_file *, const char *, struct bfd_link_info *);
99ad8390
NC
49extern void pep_process_import_defs (bfd *, struct bfd_link_info *);
50extern bfd_boolean pep_implied_import_dll (const char *);
51extern void pep_dll_build_sections (bfd *, struct bfd_link_info *);
52extern void pep_exe_build_sections (bfd *, struct bfd_link_info *);
53extern void pep_dll_fill_sections (bfd *, struct bfd_link_info *);
54extern void pep_exe_fill_sections (bfd *, struct bfd_link_info *);
317ff008
EB
55extern void pep_find_data_imports (const char *,
56 void (*cb) (arelent *, asection *, char *,
57 const char *));
fbea1508 58extern void pep_create_import_fixup (arelent * rel, asection *, bfd_vma,
317ff008 59 char *, const char *);
033432d0 60extern bfd_boolean pep_bfd_is_dll (bfd *);
2927aaca 61extern void pep_output_file_set_long_section_names (bfd *);
99ad8390
NC
62
63#endif /* PEP_DLL_H */