aboutsummaryrefslogtreecommitdiff
path: root/bfd/libecoff.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-01-06 22:38:33 +1030
committerAlan Modra <amodra@gmail.com>2023-01-10 09:15:51 +1030
commit5a671d7a854b4e4cf31837e423419654139a482d (patch)
tree51f14ea818bc98f6ba8343b4d4411d4bd929dcf3 /bfd/libecoff.h
parentb1c95bc4dd737d3d0a6c9a1b6e022e3ef85110bc (diff)
downloadfsf-binutils-gdb-5a671d7a854b4e4cf31837e423419654139a482d.zip
fsf-binutils-gdb-5a671d7a854b4e4cf31837e423419654139a482d.tar.gz
fsf-binutils-gdb-5a671d7a854b4e4cf31837e423419654139a482d.tar.bz2
Move mips_refhi_list to bfd tdata
Similar to commit c799eddb3512, but for mips-ecoff. mips-ecoff is marked obsolete, but we still allow reading of these object files in a number of mips targets. * coff-mips.c (struct mips_hi, mips_refhi_list): Delete. (mips_refhi_reloc, mips_reflo_reloc): Access mips_refhi_list in ecoff_data. * ecoff.c (_bfd_ecoff_close_and_cleanup): New function. * libecoff.h (struct mips_hi): Moved from coff-mips.c. (struct ecoff_tdata): Add mips_refhi_list. (_bfd_ecoff_close_and_cleanup): Declare.
Diffstat (limited to 'bfd/libecoff.h')
-rw-r--r--bfd/libecoff.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/bfd/libecoff.h b/bfd/libecoff.h
index 9db5012..12664b8 100644
--- a/bfd/libecoff.h
+++ b/bfd/libecoff.h
@@ -80,6 +80,13 @@ struct ecoff_backend_data
members of the embedded bfd_coff_backend_data struct. */
#define ECOFF_NO_LONG_SECTION_NAMES (false), _bfd_ecoff_no_long_sections
+struct mips_hi
+{
+ struct mips_hi *next;
+ bfd_byte *addr;
+ bfd_vma addend;
+};
+
/* This is the target specific information kept for ECOFF files. */
#define ecoff_data(abfd) ((abfd)->tdata.ecoff_obj_data)
@@ -148,6 +155,8 @@ typedef struct ecoff_tdata
ecoff_compute_section_file_positions is called. */
bool rdata_in_text;
+ /* Used by coff-mips.c to track REFHI relocs for pairing with REFLO. */
+ struct mips_hi *mips_refhi_list;
} ecoff_data_type;
/* Each canonical asymbol really looks like this. */
@@ -234,7 +243,7 @@ extern bool _bfd_ecoff_slurp_symbolic_info
extern bool _bfd_ecoff_write_object_contents (bfd *);
-#define _bfd_ecoff_close_and_cleanup _bfd_generic_close_and_cleanup
+extern bool _bfd_ecoff_close_and_cleanup (bfd *);
#define _bfd_ecoff_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
extern bool _bfd_ecoff_new_section_hook
(bfd *, asection *);