Support x86 Intel MSR_IMM
[binutils-gdb.git] / bfd / ecoff-bfd.h
blob2149ab6612c2c0467dacced3e5a6109348c8b801
1 /* Externally visible ECOFF routines.
2 Copyright (C) 2019-2024 Free Software Foundation, Inc.
4 This file is part of BFD, the Binary File Descriptor library.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 MA 02110-1301, USA. */
21 extern bool bfd_ecoff_set_gp_value
22 (bfd *abfd, bfd_vma gp_value);
23 extern bool bfd_ecoff_set_regmasks
24 (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
25 unsigned long *cprmask);
26 extern void *bfd_ecoff_debug_init
27 (bfd *output_bfd, struct ecoff_debug_info *output_debug,
28 const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
29 extern void bfd_ecoff_debug_free
30 (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
31 const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
32 extern bool bfd_ecoff_debug_accumulate
33 (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
34 const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
35 struct ecoff_debug_info *input_debug,
36 const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
37 extern bool bfd_ecoff_debug_accumulate_other
38 (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
39 const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
40 struct bfd_link_info *);
41 extern bool bfd_ecoff_debug_externals
42 (bfd *abfd, struct ecoff_debug_info *debug,
43 const struct ecoff_debug_swap *swap, bool relocatable,
44 bool (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
45 void (*set_index) (struct bfd_symbol *, bfd_size_type));
46 extern bool bfd_ecoff_debug_one_external
47 (bfd *abfd, struct ecoff_debug_info *debug,
48 const struct ecoff_debug_swap *swap, const char *name,
49 struct ecoff_extr *esym);
50 extern bfd_size_type bfd_ecoff_debug_size
51 (bfd *abfd, struct ecoff_debug_info *debug,
52 const struct ecoff_debug_swap *swap);
53 extern bool bfd_ecoff_write_debug
54 (bfd *abfd, struct ecoff_debug_info *debug,
55 const struct ecoff_debug_swap *swap, file_ptr where);
56 extern bool bfd_ecoff_write_accumulated_debug
57 (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
58 const struct ecoff_debug_swap *swap,
59 struct bfd_link_info *info, file_ptr where);