aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/hppabsd-core.c11
-rw-r--r--bfd/sco5-core.c11
-rw-r--r--bfd/trad-core.c11
4 files changed, 13 insertions, 24 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0a3b248..deeea7e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
2005-10-27 Alan Modra <amodra@bigpond.net.au>
+ * hppabsd-core.c (hppabsd_core_core_file_p): Use bfd_stat, not fstat.
+ * sco5-core.c (sco5_core_file_p): Likewise.
+ * trad-core.c (trad_unix_core_file_p): Likewise.
+
* cache.c: Reorganize file to avoid forward reference.
2005-10-26 Alan Modra <amodra@bigpond.net.au>
diff --git a/bfd/hppabsd-core.c b/bfd/hppabsd-core.c
index b17acc6..894d244 100644
--- a/bfd/hppabsd-core.c
+++ b/bfd/hppabsd-core.c
@@ -1,5 +1,5 @@
/* BFD back-end for HPPA BSD core files.
- Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004
+ Copyright 1993, 1994, 1995, 1998, 1999, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -137,16 +137,11 @@ hppabsd_core_core_file_p (abfd)
/* Sanity checks. Make sure the size of the core file matches the
the size computed from information within the core itself. */
{
- FILE *stream = bfd_cache_lookup (abfd);
struct stat statbuf;
- if (stream == NULL)
+ if (bfd_stat (abfd, &statbuf) < 0)
return NULL;
- if (fstat (fileno (stream), &statbuf) < 0)
- {
- bfd_set_error (bfd_error_system_call);
- return NULL;
- }
+
if (NBPG * (UPAGES + u.u_dsize + u.u_ssize) > statbuf.st_size)
{
bfd_set_error (bfd_error_file_truncated);
diff --git a/bfd/sco5-core.c b/bfd/sco5-core.c
index e85c4d3..f09eada 100644
--- a/bfd/sco5-core.c
+++ b/bfd/sco5-core.c
@@ -1,5 +1,5 @@
/* BFD back end for SCO5 core files (U-area and raw sections)
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Written by Jouke Numan <jnuman@hiscom.nl>
@@ -126,16 +126,11 @@ sco5_core_file_p (abfd)
/* Read coreoffsets region at end of core (see core(FP)). */
{
- FILE *stream = bfd_cache_lookup (abfd);
struct stat statbuf;
- if (stream == NULL)
+ if (bfd_stat (abfd, &statbuf) < 0)
return NULL;
- if (fstat (fileno (stream), &statbuf) < 0)
- {
- bfd_set_error (bfd_error_system_call);
- return NULL;
- }
+
coresize = statbuf.st_size;
}
/* Last long in core is sizeof struct coreoffsets, read it */
diff --git a/bfd/trad-core.c b/bfd/trad-core.c
index c958683..2f8c9f9 100644
--- a/bfd/trad-core.c
+++ b/bfd/trad-core.c
@@ -1,6 +1,6 @@
/* BFD back end for traditional Unix core files (U-area and raw sections)
Copyright 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004
+ 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Written by John Gilmore of Cygnus Support.
@@ -109,16 +109,11 @@ trad_unix_core_file_p (abfd)
/* Check that the size claimed is no greater than the file size. */
{
- FILE *stream = bfd_cache_lookup (abfd);
struct stat statbuf;
- if (stream == NULL)
+ if (bfd_stat (abfd, &statbuf) < 0)
return 0;
- if (fstat (fileno (stream), &statbuf) < 0)
- {
- bfd_set_error (bfd_error_system_call);
- return 0;
- }
+
if ((unsigned long) (NBPG * (UPAGES + u.u_dsize
#ifdef TRAD_CORE_DSIZE_INCLUDES_TSIZE
- u.u_tsize