From: Nick Clifton Date: Wed, 12 Jul 2017 11:19:30 +0000 (+0100) Subject: Fix compile time warnings when using gcc 7.1.1 X-Git-Tag: binutils-2_29~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6be20bda23576d7227d4d0e5d2cb3b43de921b72;p=thirdparty%2Fbinutils-gdb.git Fix compile time warnings when using gcc 7.1.1 bfd * 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 * 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 * 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/ChangeLog b/bfd/ChangeLog index ad2d605de1a..ecb3bd4aaca 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,15 @@ +2017-07-12 Nick Clifton + + 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. + 2017-07-10 Nick Clifton * coffcode.h (coff_slurp_symbol_table): Do not include an entry diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 64e40d3ef2b..141db4c0ead 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -10836,7 +10836,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; @@ -10851,7 +10851,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 e7315225dd4..da58679761f 100644 --- a/bfd/mach-o-arm.c +++ b/bfd/mach-o-arm.c @@ -150,7 +150,7 @@ static bfd_boolean bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd, struct mach_o_reloc_info_external *raw, arelent *res, asymbol **syms) - { +{ bfd_mach_o_reloc_info reloc; if (!bfd_mach_o_pre_canonicalize_one_reloc (abfd, raw, &reloc, res, syms)) @@ -174,6 +174,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd, return TRUE; } return FALSE; + case BFD_MACH_O_ARM_RELOC_SECTDIFF: if (reloc.r_length == 2) { @@ -186,6 +187,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd, return TRUE; } return FALSE; + case BFD_MACH_O_ARM_RELOC_LOCAL_SECTDIFF: if (reloc.r_length == 2) { @@ -198,6 +200,7 @@ bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd, return TRUE; } return FALSE; + case BFD_MACH_O_ARM_RELOC_HALF_SECTDIFF: switch (reloc.r_length) { @@ -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 b2f02415c3a..82a711e661b 100644 --- a/bfd/mach-o-i386.c +++ b/bfd/mach-o-i386.c @@ -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/ChangeLog b/binutils/ChangeLog index b5cd5950a27..206e4b74540 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2017-07-12 Nick Clifton + + 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. + 2017-07-05 H.J. Lu * dwarf.c (display_debug_names): Replace index with xindex. diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 5cada3704eb..419839b581e 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 87c503d249f..a033bc85e3a 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/ChangeLog b/gas/ChangeLog index 43e646ecff1..c97f90b82a7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2017-07-12 Nick Clifton + + 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. + 2017-07-04 Tristan Gingold * configure: Regenerate. diff --git a/gas/config/tc-pru.c b/gas/config/tc-pru.c index 53ea7ef2b9d..d5aa5a5146b 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 7b5347480ad..7db511c75f1 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;