[binutils-gdb] bfd: Change num_group to unsigned int

H.J. Lu hjl@sourceware.org
Tue Mar 24 12:00:19 GMT 2020


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

commit cda7e5603f6efd7c3716e45cc6ea11b70dd8daae
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 24 04:52:39 2020 -0700

    bfd: Change num_group to unsigned int
    
    elf.c failed with to with GCC 10 as of
    
    commit 906b3eb9df6c577d3f6e9c3ea5c9d7e4d1e90536
    Author: Martin Liska <mliska@suse.cz>
    Date:   Tue Mar 24 11:40:10 2020 +0100
    
        Improve endianess detection.
    
                PR lto/94249
                * plugin-api.h: Add more robust endianess detection.
    
    binutils-gdb/bfd/elf.c: In function ‘setup_group’:
    binutils-gdb/bfd/elf.c:740:35: error: overflow in conversion from ‘unsigned int’ to ‘int’ changes value from ‘num_group = 4294967295’ to ‘-1’ [-Werror=overflow]
      740 |     elf_tdata (abfd)->num_group = num_group = -1;
          |                                   ^~~~~~~~~
    cc1: all warnings being treated as errors
    make[2]: *** [Makefile:1608: elf.lo] Error 1
    
    Change num_group in elf_obj_tdata to unsigned int to compile with GCC 10.
    
            PR binutils/25717
            * elf-bfd.h (elf_obj_tdata): Change num_group to unsigned int.

Diff:
---
 bfd/ChangeLog | 5 +++++
 bfd/elf-bfd.h | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7cc34c1bb9b..8ec3782d9ff 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2020-03-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/25717
+	* elf-bfd.h (elf_obj_tdata): Change num_group to unsigned int.
+
 2020-03-24  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR binutils/25708
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index c546b583b87..5f3a5cc04b1 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1953,7 +1953,7 @@ struct elf_obj_tdata
   struct sdt_note *sdt_note_head;
 
   Elf_Internal_Shdr **group_sect_ptr;
-  int num_group;
+  unsigned int num_group;
 
   /* Index into group_sect_ptr, updated by setup_group when finding a
      section's group.  Used to optimize subsequent group searches.  */


More information about the Binutils-cvs mailing list