From aca736871c2567ee38bd285afdff62d6339790e4 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 5 Oct 1995 17:48:32 +0000 Subject: * libecoff.h (struct ecoff_backend_data): Add adjust_headers field. * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha sections, and set styp correctly for them: .got, .hash, .dynamic, .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment. (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section types. (ecoff_sort_hdrs): New static function. (ecoff_compute_section_file_positions): Return boolean, not void. Sort the sections by VMA before looking through them. Put the first non SEC_ALLOC section on a new page. Put every SEC_ALLOC section on an appropriate boundary within the page. (ecoff_compute_reloc_file_positions): Check return value of ecoff_compute_section_file_positions. (_bfd_ecoff_set_section_contents): Likewise. (_bfd_ecoff_write_object_contents): Check for various Alpha section types when incrementing text_size and data_size. Call adjust_headers backend function if it exists. * coff-alpha.c (alpha_adjust_headers): New static function. (alpha_ecoff_backend_data): Initialize adjust_headers field. * coff-mips.c (mips_ecoff_backend_data): Likewise. PR 8141. --- bfd/libecoff.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bfd/libecoff.h') diff --git a/bfd/libecoff.h b/bfd/libecoff.h index d16e3fa..e8af957 100644 --- a/bfd/libecoff.h +++ b/bfd/libecoff.h @@ -68,6 +68,9 @@ struct ecoff_backend_data bfd *input_bfd, asection *input_section, bfd_byte *contents, PTR external_relocs)); + /* Do final adjustments to filehdr and aouthdr. */ + boolean (*adjust_headers) PARAMS ((bfd *, struct internal_filehdr *, + struct internal_aouthdr *)); }; /* This is the target specific information kept for ECOFF files. */ @@ -312,7 +315,6 @@ extern boolean _bfd_ecoff_bfd_final_link /* Hook functions for the generic COFF section reading code. */ extern PTR _bfd_ecoff_mkobject_hook PARAMS ((bfd *, PTR filehdr, PTR aouthdr)); -extern asection *_bfd_ecoff_make_section_hook PARAMS ((bfd *abfd, char *name)); #define _bfd_ecoff_set_alignment_hook \ ((void (*) PARAMS ((bfd *, asection *, PTR))) bfd_void) extern boolean _bfd_ecoff_set_arch_mach_hook PARAMS ((bfd *abfd, PTR filehdr)); -- cgit v1.1