1 /* Externally visible ECOFF routines.
2    Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 
4    This file is part of BFD, the Binary File Descriptor library.
5 
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.
10 
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.
15 
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.  */
20 
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);
60