* opncls.c (separate_debug_file_exists): Use fopen/fread
	rather than open/read and open in binary mode.
This commit is contained in:
Alan Modra 2007-11-15 05:20:30 +00:00
parent a2b1aa12f7
commit fed590bb65
2 changed files with 14 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2007-11-15 Alan Modra <amodra@bigpond.net.au>
PR 5328
* opncls.c (separate_debug_file_exists): Use fopen/fread
rather than open/read and open in binary mode.
2007-11-14 Richard Sandiford <richard@codesourcery.com>
* elfxx-mips.c (mips_got_page_range): New structure.
@ -561,9 +567,9 @@
(read_rangelist): Change interface to accept a callback and data to
allow caller to select the action peformed on a new range list read.
(scan_unit_for_symbols): Use new interface of read_rangelist.
(parse_comp_unit): Create an arange set for each new comp unit. Use new
interface of read_rangelist. Replace call to arange_add with that to
dwarf2_comp_unit_arange_add.
(parse_comp_unit): Create an arange set for each new comp unit.
Use new interface of read_rangelist. Replace call to arange_add
with that to dwarf2_comp_unit_arange_add.
(comp_unit_contains_address): Replace sequential search with a call to
arange_set_lookup_address, which can handles large set efficiently.
(stash_copy_local_aranges, stash_maybe_enable_arange_set,

View File

@ -1175,19 +1175,19 @@ separate_debug_file_exists (const char *name, const unsigned long crc)
{
static unsigned char buffer [8 * 1024];
unsigned long file_crc = 0;
int fd;
FILE *f;
bfd_size_type count;
BFD_ASSERT (name);
fd = open (name, O_RDONLY);
if (fd < 0)
f = real_fopen (name, FOPEN_RB);
if (f == NULL)
return FALSE;
while ((count = read (fd, buffer, sizeof (buffer))) > 0)
while ((count = fread (buffer, 1, sizeof (buffer), f)) > 0)
file_crc = bfd_calc_gnu_debuglink_crc32 (file_crc, buffer, count);
close (fd);
fclose (f);
return crc == file_crc;
}