This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Commit: Fix compile time warnings using gcc-7.1.1
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sourceware dot org
- Date: Wed, 12 Jul 2017 12:16:42 +0100
- Subject: Commit: Fix compile time warnings using gcc-7.1.1
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=nickc at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 122197D0E8
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 122197D0E8
Hi Guys,
I upgraded to Fedora 26 today and a few new compile time warnings
appeared when building with the new gcc 7.1.1 compiler. So I am
checking in the patch below (mainline and 2.29 branch) to fix the
problems.
Cheers
Nick
bfd/ChangeLog
2017-07-12 Nick Clifton <nickc@redhat.com>
Fix compile time warnings using gcc 7.1.1.
* elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
plt_name buffer.
(elf_xtensa_get_gotplt_section): Increase length of got_name
buffer.
* mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
default return of FALSE.
* mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
default return of FALSE.
binutils/ChangeLog
2017-07-12 Nick Clifton <nickc@redhat.com>
Fix compile time warnings using gcc 7.1.1.
* dwarf.c (dwarf_vmatoa_1): Do not pass a NULL string pointer to
sprintf.
* srconv.c (walk_tree_type): Initialise the spare field of the
IT_dty structure.
gas/ChangeLog
2017-07-12 Nick Clifton <nickc@redhat.com>
Fix compile time warnings using gcc 7.1.1.
* config/tc-pru.c (md_assemble): Add continue statement after
handling 'E' operand character.
* config/tc-v850.c (md_assemble): Initialise the 'insn' variable.
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index b3ddbf1e24..19a162eebb 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -10841,7 +10841,7 @@ static asection *
elf_xtensa_get_plt_section (struct bfd_link_info *info, int chunk)
{
bfd *dynobj;
- char plt_name[10];
+ char plt_name[17];
if (chunk == 0)
return elf_hash_table (info)->splt;
@@ -10856,7 +10856,7 @@ static asection *
elf_xtensa_get_gotplt_section (struct bfd_link_info *info, int chunk)
{
bfd *dynobj;
- char got_name[14];
+ char got_name[21];
if (chunk == 0)
return elf_hash_table (info)->sgotplt;
diff --git a/bfd/mach-o-arm.c b/bfd/mach-o-arm.c
index e7315225dd..5139f795f2 100644
--- a/bfd/mach-o-arm.c
+++ b/bfd/mach-o-arm.c
@@ -209,8 +212,9 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return TRUE;
}
return FALSE;
+
default:
- return FALSE;
+ break;
}
}
else
@@ -239,24 +243,23 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
return FALSE;
}
break;
+
case BFD_MACH_O_ARM_RELOC_BR24:
if (reloc.r_length == 2 && reloc.r_pcrel == 1)
{
res->howto = &arm_howto_table[11];
return TRUE;
}
- else
- return FALSE;
break;
+
case BFD_MACH_O_THUMB_RELOC_BR22:
if (reloc.r_length == 2 && reloc.r_pcrel == 1)
{
res->howto = &arm_howto_table[16];
return TRUE;
}
- else
- return FALSE;
break;
+
case BFD_MACH_O_ARM_RELOC_HALF:
if (reloc.r_pcrel == 0)
switch (reloc.r_length)
@@ -268,7 +271,8 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
res->howto = &arm_howto_table[14];
return TRUE;
}
- return FALSE;
+ break;
+
case BFD_MACH_O_ARM_RELOC_PAIR:
if (res[-1].howto == &arm_howto_table[12]
&& reloc.r_length == 0)
@@ -290,11 +294,14 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
res->address = res[-1].address;
return TRUE;
}
- return FALSE;
+ break;
+
default:
- return FALSE;
+ break;
}
}
+
+ return FALSE;
}
static reloc_howto_type *
diff --git a/bfd/mach-o-i386.c b/bfd/mach-o-i386.c
index b2f02415c3..ce0389e020 100644
--- a/bfd/mach-o-i386.c
+++ b/bfd/mach-o-i386.c
@@ -164,7 +164,7 @@ bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
}
return FALSE;
default:
- return FALSE;
+ break;
}
}
else
@@ -192,11 +192,11 @@ bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
default:
return FALSE;
}
- break;
default:
- return FALSE;
+ break;
}
}
+ return FALSE;
}
static bfd_boolean
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 386cc17f7c..5f8922eb8a 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -217,7 +217,10 @@ dwarf_vmatoa_1 (const char *fmtch, dwarf_vma value, unsigned num_bytes)
{
char fmt[32];
- sprintf (fmt, "%%%s%s", DWARF_VMA_FMT, fmtch);
+ if (fmtch)
+ sprintf (fmt, "%%%s%s", DWARF_VMA_FMT, fmtch);
+ else
+ sprintf (fmt, "%%%s", DWARF_VMA_FMT);
snprintf (ret, sizeof (buf[0].place), fmt, value);
return ret;
}
diff --git a/binutils/srconv.c b/binutils/srconv.c
index 87c503d249..a033bc85e3 100644
--- a/binutils/srconv.c
+++ b/binutils/srconv.c
@@ -874,13 +874,14 @@ static void
walk_tree_type (struct coff_sfile *sfile, struct coff_symbol *symbol,
struct coff_type *type, int nest)
{
- if (symbol->type->type == coff_function_type)
- {
- struct IT_dty dty;
+ struct IT_dty dty;
- dty.end = 0;
- dty.neg = 0x1001;
+ dty.spare = 0;
+ dty.end = 0;
+ dty.neg = 0x1001;
+ if (symbol->type->type == coff_function_type)
+ {
sysroff_swap_dty_out (file, &dty);
walk_tree_type_1 (sfile, symbol, type, nest);
dty.end = 1;
@@ -906,10 +907,6 @@ walk_tree_type (struct coff_sfile *sfile, struct coff_symbol *symbol,
}
else
{
- struct IT_dty dty;
-
- dty.end = 0;
- dty.neg = 0x1001;
sysroff_swap_dty_out (file, &dty);
walk_tree_type_1 (sfile, symbol, type, nest);
dty.end = 1;
diff --git a/gas/config/tc-pru.c b/gas/config/tc-pru.c
index 53ea7ef2b9..d5aa5a5146 100644
--- a/gas/config/tc-pru.c
+++ b/gas/config/tc-pru.c
@@ -296,9 +296,10 @@ typedef enum
static PRU_MODE pru_mode = PRU_MODE_ASSEMBLE;
/* This function is used to in self-checking mode
- to check the assembled instruction
- opcode should be the assembled opcode, and exp_opcode
+ to check the assembled instruction.
+ OPCODE should be the assembled opcode, and exp_opcode
the parsed string representing the expected opcode. */
+
static void
pru_check_assembly (unsigned int opcode, const char *exp_opcode)
{
@@ -1698,6 +1699,8 @@ md_assemble (char *op_str)
case 'E':
pru_check_assembly (insn->insn_code, *argtk++);
+ continue;
+
default:
BAD_CASE (*argp);
}
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 7b5347480a..dd7b54ad28 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -2298,7 +2298,7 @@ md_assemble (char *str)
const unsigned char *opindex_ptr;
int next_opindex;
int relaxable = 0;
- unsigned long insn;
+ unsigned long insn = 0;
unsigned long insn_size;
char *f = NULL;
int i;