bfd_error to system_call_error. If the return value is
non-negative, set errno to ENOSPC (if ENOSPC is defined).
(bfd_seek): If the seek fails, set bfd_error to system_call_error.
(bfd_generic_set_section_contents): For a bad offset + count, set
bfd_error to bad_value.
* seclet.c (rel): Don't abort. Instead, return false.
(mips_elf_fake_sections): Force size of .reginfo section to sizeof
Elf32_External_RegInfo.
(mips_elf_seclet_link): New function. Link the .reginfo section
specially, and pass everything else to the generic routine.
(bfd_elf32_bfd_seclet_link): Define macro.
* elf32-target.h: If bfd_elf32_bfd_seclet_link is already defined,
don't override it.
(nlm_signature): New macro.
* nlmcode.h (nlm_object_p, nlm_write_object_contents): Use the NLM
signature from the backend rather than the constant NLM_SIGNATURE.
* nlm32-i386.c (nlm32_i386_backend): Initialize signature field.
(.dep): Depend on $(CFILES) and $(HFILES). Delete .dep1 and remake it, so that
"$?" is complete.
(.dep1): Don't need to remove .dep1 first.
(dep.sed): Depend on config.status, not Makefile.
(CFILES): Add nlm.c.
various other related changes.
* libecoff.h (ecoff_backend_data): Added rdata_in_text field.
Renamed finish_reloc to adjust_reloc_in. Added adjust_reloc_out
field.
(ecoff_bfd_get_relocated_section_contents): Don't define.
* ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags):
Handle .lita section.
(ecoff_slurp_reloc_table): Handle RELOC_SECTION_FINI.
finish_reloc backend field renamed to adjust_reloc_in.
(ecoff_bfd_seclet_link): Adjust number of aux entries to
debug_align boundary.
(ecoff_compute_section_file_positions): If rdata_in_text put
.rdata section in text segment, not data segment. Put .pdata
section in text segment.
(ecoff_write_object_contents): Likewise. Also, call
adjust_reloc_out, and handle .lita, .xdata, .pdata, .fini and
absolute sections when writing out relocs.
* coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, output 2 for
bldrev field, as on Alpha OSF/1. Padding field is now 2 bytes.
* coff-mips.c (mips_ecoff_swap_reloc_out): Added assertion.
(mips_adjust_reloc_in): Renamed from mips_finish_reloc.
(mips_adjust_reloc_out): New function (does nothing).
(mips_ecoff_backend_data): Initialize new fields.
(ecoff_bfd_get_relocation_section_contents): Define to be
bfd_generic_get_relocated_section_contents.
* reloc.c (bfd_perform_relocation): Added casts to avoid Alpha
OSF/1 cc bug.
is made to work.
(coff_compute_section_file_positions): Remove check for
USE_DISCARDED_SECTIONS_COUNT.
* coff-i386.c: Don't define USE_DISCARDED_SECTIONS_COUNT. Basing
it on host defines is wrong.
handle MIPS specific sections.
* libelf.h (elf_backend_data): Pass fourth argument to
elf_backend_section_from_bfd_section to permit it to control the
section index to use.
(elf_obj_tdata): Add gp and gp_size fields.
(elf_gp, elf_gp_size): New accessor macros.
* elfcode.h: Removed a number of unused local variables.
(elf_fake_sections): Clear section header before calling
elf_backend_fake_sections, not after.
(prep_headers): Return true at end.
(elf_section_from_bfd_section): Pass retval argument to
elf_backend_section_from_bfd_section.
* elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section):
Accept and ignore new retval argument.
* bfd.c: Include libelf.h.
(bfd_set_gp_size): Handle ELF targets.
* Makefile.in (bfd.o): Depends upon libelf.h.
(elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h.
(ecoff_mkobject_hook): New function.
(ecoff_new_section_hook, ecoff_sizeof_headers,
ecoff_compute_section_file_positions, ecoff_set_section_contents,
ecoff_write_object_contents): Handle dummy REGINFO section.
(ecoff_get_section_contents): New function to handle reading
REGINFO section.
* libecoff.h (ecoff_get_section_contents): Change from macro
definition to function prototype.
(ecoff_mkobject_hook): New prototype.
* coff-alpha.c (alpha_ecoff_mkobject_hook): Removed.
(alpha_ecoff_backend_data): Use ecoff_mkobject_hook.
* coff-mips.c (mips_ecoff_mkobject_hook): Removed.
(mips_ecoff_backend_data): Use ecoff_mkobject_hook.
* reloc16.c: Add new target entry - bfd_coff_reloc16_estimate,
fix bit rot.
* libcoff.h, libcoff-in.h: declarations. Prototypes
* coffcode.h (bfd_coff_std_swap_table): Add calls to
coff_reloc_16_extra_cases and coff_reloc16_estimate.
(dummy_reloc16_estimate): New function.
* coff-h8300.c (h8300_reloc16_estimate): New function
(align_file_position): New function.
(elf_locate_sh): Disabled function deleted.
(assign_file_positions_for_symtab_and_strtabs): Align position, then place
symtab, then do other sections.
(map_program_segments): Align program header.
(assign_file_positions_except_relocs): Align section headers.
(assign_file_positions_for_relocs): Align relocation sections.
Fixes ld/3584.
* section.c: Change comments to say several sections can have
the same name.
* bfd-in2.h: Re-generate to reflect above change.
* coffgen.c (make_a_section_from_file): Call bfd_make_section_anyway
if still no section after the bfd_coff_make_section_hook.
* coffcode.h: Add comment about TWO_DATA_SECS.
* section.c: Change comments to say several sections can have
the same name.
* bfd-in2.h: Re-generate to reflect above change.
* coffgen.c (make_a_section_from_file): Call bfd_make_section_anyway
if still no section after the bfd_coff_make_section_hook.
* coffcode.h: Add comment about TWO_DATA_SECS.