[binutils-gdb] Change bfd_get_size/bfd_get_file_size to ufile_ptr

H.J.Lu hjl@sourceware.org
Wed Jun 28 18:01:00 GMT 2017


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=47fdcf63c04b5c220974affc8ff1d9ef8a041919

commit 47fdcf63c04b5c220974affc8ff1d9ef8a041919
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 28 11:00:13 2017 -0700

    Change bfd_get_size/bfd_get_file_size to ufile_ptr
    
    bfd_get_size and bfd_get_file_size should return the unsigned file
    size.  Otherwise they return negative values for file >= 2GB with
    32-bit ufile_ptr.
    
    bfd/
    
    	* bfd-in2.h: Regenerated.
    	* bfdio.c (bfd_get_size): Change return type to ufile_ptr.
    	(bfd_get_file_size): Likewise.
    
    binutils/
    
    	* objdump.c (dump_relocs_in_section): Cast to ufile_ptr when
    	comparing against bfd_get_file_size return.

Diff:
---
 bfd/ChangeLog      | 6 ++++++
 bfd/bfd-in2.h      | 4 ++--
 bfd/bfdio.c        | 8 ++++----
 binutils/ChangeLog | 5 +++++
 binutils/objdump.c | 2 +-
 5 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 3f81ea4..561ac1b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd-in2.h: Regenerated.
+	* bfdio.c (bfd_get_size): Change return type to ufile_ptr.
+	(bfd_get_file_size): Likewise.
+
 2017-06-28  Maciej W. Rozycki  <macro@imgtec.com>
 	    Matthew Fortune  <matthew.fortune@imgtec.com>
 
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 971acb8..1343780 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1240,9 +1240,9 @@ char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir);
 /* Extracted from bfdio.c.  */
 long bfd_get_mtime (bfd *abfd);
 
-file_ptr bfd_get_size (bfd *abfd);
+ufile_ptr bfd_get_size (bfd *abfd);
 
-file_ptr bfd_get_file_size (bfd *abfd);
+ufile_ptr bfd_get_file_size (bfd *abfd);
 
 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
     int prot, int flags, file_ptr offset,
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index e301570..fa7fb21 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -392,7 +392,7 @@ FUNCTION
 	bfd_get_size
 
 SYNOPSIS
-	file_ptr bfd_get_size (bfd *abfd);
+	ufile_ptr bfd_get_size (bfd *abfd);
 
 DESCRIPTION
 	Return the file size (as read from file system) for the file
@@ -420,7 +420,7 @@ DESCRIPTION
 	size reasonable?".
 */
 
-file_ptr
+ufile_ptr
 bfd_get_size (bfd *abfd)
 {
   struct stat buf;
@@ -439,7 +439,7 @@ FUNCTION
 	bfd_get_file_size
 
 SYNOPSIS
-	file_ptr bfd_get_file_size (bfd *abfd);
+	ufile_ptr bfd_get_file_size (bfd *abfd);
 
 DESCRIPTION
 	Return the file size (as read from file system) for the file
@@ -448,7 +448,7 @@ DESCRIPTION
 
 */
 
-file_ptr
+ufile_ptr
 bfd_get_file_size (bfd *abfd)
 {
   if (abfd->my_archive != NULL
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c5b8f19..f0ecdc6 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* objdump.c (dump_relocs_in_section): Cast to ufile_ptr when
+	comparing against bfd_get_file_size return.
+
 2017-06-28  Nick Clifton  <nickc@redhat.com>
 
 	* objcopy.c (merge_gnu_build_notes): Add support for version 2 notes.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index ed8c645..0b72818 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -3388,7 +3388,7 @@ dump_relocs_in_section (bfd *abfd,
     }
 
   if ((bfd_get_file_flags (abfd) & (BFD_IN_MEMORY | BFD_LINKER_CREATED)) == 0
-      && relsize > bfd_get_file_size (abfd))
+      && (ufile_ptr) relsize > bfd_get_file_size (abfd))
     {
       printf (" (too many: 0x%x)\n", section->reloc_count);
       bfd_set_error (bfd_error_file_truncated);



More information about the Binutils-cvs mailing list