* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.

* libbfd.h: Regenerate.
	* archive.c (coff_write_armap): Pass on failures from
	bfd_write_bigendian_4byte_int.
This commit is contained in:
Alan Modra 2002-03-18 01:26:57 +00:00
parent 2ef7d709f8
commit 4dae1ae748
4 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2002-03-18 Alan Modra <amodra@bigpond.net.au>
* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
* libbfd.h: Regenerate.
* archive.c (coff_write_armap): Pass on failures from
bfd_write_bigendian_4byte_int.
2002-03-14 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD

View File

@ -2190,7 +2190,8 @@ coff_write_armap (arch, elength, map, symbol_count, stridx)
!= sizeof (struct ar_hdr))
return false;
bfd_write_bigendian_4byte_int (arch, symbol_count);
if (!bfd_write_bigendian_4byte_int (arch, symbol_count))
return false;
/* Two passes, first write the file offsets for each symbol -
remembering that each offset is on a two byte boundary. */
@ -2207,7 +2208,8 @@ coff_write_armap (arch, elength, map, symbol_count, stridx)
while (count < symbol_count && map[count].u.abfd == current)
{
bfd_write_bigendian_4byte_int (arch, archive_member_file_ptr);
if (!bfd_write_bigendian_4byte_int (arch, archive_member_file_ptr))
return false;
count++;
}
/* Add size of this archive entry. */

View File

@ -593,7 +593,7 @@ INTERNAL_FUNCTION
bfd_write_bigendian_4byte_int
SYNOPSIS
void bfd_write_bigendian_4byte_int (bfd *, unsigned int);
boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
DESCRIPTION
Write a 4 byte integer @var{i} to the output BFD @var{abfd}, in big
@ -601,15 +601,14 @@ DESCRIPTION
archives.
*/
void
boolean
bfd_write_bigendian_4byte_int (abfd, i)
bfd *abfd;
unsigned int i;
{
bfd_byte buffer[4];
bfd_putb32 ((bfd_vma) i, buffer);
if (bfd_bwrite ((PTR) buffer, (bfd_size_type) 4, abfd) != 4)
abort ();
return bfd_bwrite ((PTR) buffer, (bfd_size_type) 4, abfd) == 4;
}
bfd_vma

View File

@ -586,7 +586,7 @@ extern boolean _bfd_sh_align_load_span
/* And more follows */
void
boolean
bfd_write_bigendian_4byte_int PARAMS ((bfd *, unsigned int));
unsigned int