aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-27 17:19:02 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-27 17:19:02 +0000
commit52a476eeda8cf7a753a58991293cae95baa44797 (patch)
tree74e5067886a9b0aaf9e2b60c04933951a0a95492
parent83b89087cf717b455598eee2fb5ddb4d5465a6a0 (diff)
downloadfsf-binutils-gdb-52a476eeda8cf7a753a58991293cae95baa44797.zip
fsf-binutils-gdb-52a476eeda8cf7a753a58991293cae95baa44797.tar.gz
fsf-binutils-gdb-52a476eeda8cf7a753a58991293cae95baa44797.tar.bz2
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10321 * bucomm.c (get_file_size): Return -1 on error. * objcopy.c (copy_file): Report empty file.
-rw-r--r--binutils/ChangeLog7
-rw-r--r--binutils/bucomm.c2
-rw-r--r--binutils/objcopy.c6
3 files changed, 13 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c748a6a..0ff041f 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,10 @@
+2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/10321
+ * bucomm.c (get_file_size): Return -1 on error.
+
+ * objcopy.c (copy_file): Report empty file.
+
2009-06-23 Nick Clifton <nickc@redhat.com>
* dwarf.c (display_debug_lines_raw): Include the name of the
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
index 9bbdafb..c678679 100644
--- a/binutils/bucomm.c
+++ b/binutils/bucomm.c
@@ -571,7 +571,7 @@ get_file_size (const char * file_name)
else
return statbuf.st_size;
- return 0;
+ return (off_t) -1;
}
/* Return the filename in a static buffer. */
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 83d9e1b..8908b56 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -2159,9 +2159,13 @@ copy_file (const char *input_filename, const char *output_filename,
bfd *ibfd;
char **obj_matching;
char **core_matching;
+ off_t size = get_file_size (input_filename);
- if (get_file_size (input_filename) < 1)
+ if (size < 1)
{
+ if (size == 0)
+ non_fatal (_("error: the input file '%s' is empty"),
+ input_filename);
status = 1;
return;
}