* aoutx.h (aout_link_input_section): Don't bother to read or write

the relocs if there aren't any.
This commit is contained in:
Ian Lance Taylor 1994-10-26 05:17:08 +00:00
parent 7c71fc399d
commit 875e471661
2 changed files with 25 additions and 4 deletions

View File

@ -1,5 +1,23 @@
Wed Oct 26 01:15:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* aoutx.h (aout_link_input_section): Don't bother to read or write
the relocs if there aren't any.
Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
* Makefile.in (ALL_MACHINES): Add tekhex.o.
* targets.c (bfd_target_vector): If SELECT_VECS is not defined,
include tekhex_vec.
* tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
(getvalue, getsym, out): Likewise.
(find_chunk): Remove unused variable s.
(first_phase): Remove unused variable s.
(pass_over): Remove unused variable address.
(tekhex_object_p): Remove unused variable section.
(move_section_contents): Change return type from boolean to void.
(tekhex_write_object_contents): Remove unused variables tdata and
list.
* linker.c (enum link_action): Add CIND. * linker.c (enum link_action): Add CIND.
(link_action): Change COMMON_ROW\indr from MDEF to CREF. Change (link_action): Change COMMON_ROW\indr from MDEF to CREF. Change
INDR_ROW\common from MDEF to CIND. INDR_ROW\common from MDEF to CIND.

View File

@ -4092,9 +4092,12 @@ aout_link_input_section (finfo, input_bfd, input_section, reloff_ptr,
else else
{ {
relocs = finfo->relocs; relocs = finfo->relocs;
if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0 if (rel_size > 0)
|| bfd_read (relocs, 1, rel_size, input_bfd) != rel_size) {
return false; if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0
|| bfd_read (relocs, 1, rel_size, input_bfd) != rel_size)
return false;
}
} }
/* Relocate the section contents. */ /* Relocate the section contents. */
@ -4123,7 +4126,7 @@ aout_link_input_section (finfo, input_bfd, input_section, reloff_ptr,
/* If we are producing relocateable output, the relocs were /* If we are producing relocateable output, the relocs were
modified, and we now write them out. */ modified, and we now write them out. */
if (finfo->info->relocateable) if (finfo->info->relocateable && rel_size > 0)
{ {
if (bfd_seek (finfo->output_bfd, *reloff_ptr, SEEK_SET) != 0) if (bfd_seek (finfo->output_bfd, *reloff_ptr, SEEK_SET) != 0)
return false; return false;