Fix xtensa "clobbered by longjmp" warnings
.../opcodes/xtensa-dis.c: In function ‘print_insn_xtensa’: .../opcodes/xtensa-dis.c:257:17: error: variable ‘fmt’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered] xtensa_format fmt; ^~~ .../opcodes/xtensa-dis.c:262:26: error: variable ‘valid_insn’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered] int first, first_slot, valid_insn = 0; ^~~~~~~~~~ * xtensa-dis.c (print_insn_xtensa): Init fmt and valid_insn after setjmp. Move init for some other vars later too.
This commit is contained in:
parent
773ff7907c
commit
ce72cd46ec
@ -1,3 +1,8 @@
|
|||||||
|
2018-06-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* xtensa-dis.c (print_insn_xtensa): Init fmt and valid_insn after
|
||||||
|
setjmp. Move init for some other vars later too.
|
||||||
|
|
||||||
2018-06-04 Max Filippov <jcmvbkbc@gmail.com>
|
2018-06-04 Max Filippov <jcmvbkbc@gmail.com>
|
||||||
|
|
||||||
* xtensa-dis.c (bfd.h, elf/xtensa.h): New includes.
|
* xtensa-dis.c (bfd.h, elf/xtensa.h): New includes.
|
||||||
|
@ -259,7 +259,7 @@ print_insn_xtensa (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
static bfd_byte *byte_buf = NULL;
|
static bfd_byte *byte_buf = NULL;
|
||||||
static xtensa_insnbuf insn_buffer = NULL;
|
static xtensa_insnbuf insn_buffer = NULL;
|
||||||
static xtensa_insnbuf slot_buffer = NULL;
|
static xtensa_insnbuf slot_buffer = NULL;
|
||||||
int first, first_slot, valid_insn = 0;
|
int first, first_slot, valid_insn;
|
||||||
property_table_entry *insn_block;
|
property_table_entry *insn_block;
|
||||||
|
|
||||||
if (!xtensa_default_isa)
|
if (!xtensa_default_isa)
|
||||||
@ -338,16 +338,17 @@ print_insn_xtensa (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
/* Error return. */
|
/* Error return. */
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Don't set "isa" before the setjmp to keep the compiler from griping. */
|
|
||||||
isa = xtensa_default_isa;
|
|
||||||
size = 0;
|
|
||||||
nslots = 0;
|
|
||||||
|
|
||||||
/* Fetch the maximum size instruction. */
|
/* Fetch the maximum size instruction. */
|
||||||
bytes_fetched = fetch_data (info, memaddr);
|
bytes_fetched = fetch_data (info, memaddr);
|
||||||
|
|
||||||
insn_block = xtensa_find_table_entry (memaddr, info);
|
insn_block = xtensa_find_table_entry (memaddr, info);
|
||||||
|
|
||||||
|
/* Don't set "isa" before the setjmp to keep the compiler from griping. */
|
||||||
|
isa = xtensa_default_isa;
|
||||||
|
size = 0;
|
||||||
|
nslots = 0;
|
||||||
|
valid_insn = 0;
|
||||||
|
fmt = 0;
|
||||||
if (!insn_block || (insn_block->flags & XTENSA_PROP_INSN))
|
if (!insn_block || (insn_block->flags & XTENSA_PROP_INSN))
|
||||||
{
|
{
|
||||||
/* Copy the bytes into the decode buffer. */
|
/* Copy the bytes into the decode buffer. */
|
||||||
|
Loading…
Reference in New Issue
Block a user