1 /* Externally visible ECOFF routines.
2 Copyright (C) 2019-2023 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
);