This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] -Og warning fixes


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

commit 96d01d93c4025cddeff197c98c7947e2b8f427bd
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Sep 2 11:00:02 2017 +0930

    -Og warning fixes
    
    Found when building with gcc 4.9.4 using -Og.
    
    bfd/
    	* elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
    	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
    ld/
    	* emultempl/msp430.em (eval_upper_either_sections): Make base_sec_name
    	a const char*.
    	(eval_lower_either_sections): Likewise.
    	(msp430_elf_after_allocation): Likewise, and don't needlessly concat
    	and free.  Warning fix.

Diff:
---
 bfd/ChangeLog          |  6 ++++++
 bfd/elf-eh-frame.c     |  2 +-
 bfd/elflink.c          |  2 +-
 bfd/elfnn-aarch64.c    |  2 +-
 ld/ChangeLog           |  8 ++++++++
 ld/emultempl/msp430.em | 26 +++++++++++++-------------
 6 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1b3276c..5dde137 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-09-02  Alan Modra  <amodra@gmail.com>
+
+	* elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
+	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
+
 2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* elf32-i386.c (elf_i386_gc_mark_hook): Removed.
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index f0ede2d..cd81b60 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -1335,7 +1335,7 @@ offset_adjust (bfd_vma offset, const asection *sec)
   struct eh_frame_sec_info *sec_info
     = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
   unsigned int lo, hi, mid;
-  struct eh_cie_fde *ent;
+  struct eh_cie_fde *ent = NULL;
   bfd_signed_vma delta;
 
   lo = 0;
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 6008915..58fb83b 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -6855,7 +6855,7 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
 {
   const struct elf_backend_data *bed;
   unsigned long section_sym_count;
-  bfd_size_type dynsymcount;
+  bfd_size_type dynsymcount = 0;
 
   if (!is_elf_hash_table (info->hash))
     return TRUE;
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 796fe1f..9297056 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -4944,7 +4944,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
     = elfNN_aarch64_bfd_reloc_from_howto (howto);
   unsigned long r_symndx;
   bfd_byte *hit_data = contents + rel->r_offset;
-  bfd_vma place, off, got_entry_addr;
+  bfd_vma place, off, got_entry_addr = 0;
   bfd_signed_vma signed_addend;
   struct elf_aarch64_link_hash_table *globals;
   bfd_boolean weak_undef_p;
diff --git a/ld/ChangeLog b/ld/ChangeLog
index b0029ea..4a45000 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2017-09-02  Alan Modra  <amodra@gmail.com>
+
+	* emultempl/msp430.em (eval_upper_either_sections): Make base_sec_name
+	a const char*.
+	(eval_lower_either_sections): Likewise.
+	(msp430_elf_after_allocation): Likewise, and don't needlessly concat
+	and free.  Warning fix.
+
 2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/22061
diff --git a/ld/emultempl/msp430.em b/ld/emultempl/msp430.em
index f1bbc85..a956a2f 100644
--- a/ld/emultempl/msp430.em
+++ b/ld/emultempl/msp430.em
@@ -557,7 +557,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
 static void
 eval_upper_either_sections (bfd *abfd, asection *s, void *data)
 {
-  char * base_sec_name;
+  const char * base_sec_name;
   const char * curr_name;
   char * either_name;
   int curr_region;
@@ -576,7 +576,7 @@ eval_upper_either_sections (bfd *abfd, asection *s, void *data)
   if (bfd_link_relocatable (&link_info))
     return;
 
-  base_sec_name = (char *) data;
+  base_sec_name = (const char *) data;
   curr_name = bfd_get_section_name (abfd, s);
 
   /* Only concerned with .either input sections in the upper output section.  */
@@ -639,7 +639,7 @@ eval_upper_either_sections (bfd *abfd, asection *s, void *data)
 static void
 eval_lower_either_sections (bfd *abfd, asection *s, void *data)
 {
-  char * base_sec_name;
+  const char * base_sec_name;
   const char * curr_name;
   char * either_name;
   int curr_region;
@@ -656,7 +656,7 @@ eval_lower_either_sections (bfd *abfd, asection *s, void *data)
   if (bfd_link_relocatable (&link_info))
     return;
 
-  base_sec_name = (char *) data;
+  base_sec_name = (const char *) data;
   curr_name = bfd_get_section_name (abfd, s);
 
   /* Only concerned with .either input sections in the lower or "default"
@@ -758,29 +758,30 @@ static void
 msp430_elf_after_allocation (void)
 {
   int relax_count = 0;
-  int i;
+  unsigned int i;
   /* Go over each section twice, once to place either sections that don't fit
      in lower into upper, and then again to move any sections in upper that
      fit in lower into lower.  */
   for (i = 0; i < 8; i++)
     {
       int placement_stage = (i < 4) ? LOWER_TO_UPPER : UPPER_TO_LOWER;
-      char * base_sec_name;
+      const char * base_sec_name;
       lang_output_section_statement_type * upper;
 
       switch (i % 4)
 	{
+	default:
 	case 0:
-	  base_sec_name = concat (".text", NULL);
+	  base_sec_name = ".text";
 	  break;
 	case 1:
-	  base_sec_name = concat (".data", NULL);
+	  base_sec_name = ".data";
 	  break;
 	case 2:
-	  base_sec_name = concat (".bss", NULL);
+	  base_sec_name = ".bss";
 	  break;
 	case 3:
-	  base_sec_name = concat (".rodata", NULL);
+	  base_sec_name = ".rodata";
 	  break;
 	}
       upper = lang_output_section_find (concat (".upper", base_sec_name, NULL));
@@ -806,7 +807,7 @@ msp430_elf_after_allocation (void)
 		   abfd = abfd->link.next)
 		{
 		  bfd_map_over_sections (abfd, eval_lower_either_sections,
-					 base_sec_name);
+					 (void *) base_sec_name);
 		}
 	    }
 	  else if (placement_stage == UPPER_TO_LOWER)
@@ -821,12 +822,11 @@ msp430_elf_after_allocation (void)
 		   abfd = abfd->link.next)
 		{
 		  bfd_map_over_sections (abfd, eval_upper_either_sections,
-					 base_sec_name);
+					 (void *) base_sec_name);
 		}
 	    }
 
 	}
-      free (base_sec_name);
     }
   gld${EMULATION_NAME}_after_allocation ();
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]