diff options
author | Alan Modra <amodra@gmail.com> | 2018-06-06 15:30:35 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-06-06 21:30:36 +0930 |
commit | ce72cd46ec611fe6440053f282b1b6cb7e977ff6 (patch) | |
tree | ba2502d4fde47944ead5885f0b43a1d730f6f162 /opcodes | |
parent | 773ff7907c05313aebbcd5e8319e5b869ac4f792 (diff) | |
download | gdb-ce72cd46ec611fe6440053f282b1b6cb7e977ff6.zip gdb-ce72cd46ec611fe6440053f282b1b6cb7e977ff6.tar.gz gdb-ce72cd46ec611fe6440053f282b1b6cb7e977ff6.tar.bz2 |
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.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/xtensa-dis.c | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e0e7382..8ad2f5d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -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> * xtensa-dis.c (bfd.h, elf/xtensa.h): New includes. diff --git a/opcodes/xtensa-dis.c b/opcodes/xtensa-dis.c index c11cf06..b156544 100644 --- a/opcodes/xtensa-dis.c +++ b/opcodes/xtensa-dis.c @@ -259,7 +259,7 @@ print_insn_xtensa (bfd_vma memaddr, struct disassemble_info *info) static bfd_byte *byte_buf = NULL; static xtensa_insnbuf insn_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; if (!xtensa_default_isa) @@ -338,16 +338,17 @@ print_insn_xtensa (bfd_vma memaddr, struct disassemble_info *info) /* Error return. */ 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. */ bytes_fetched = fetch_data (info, memaddr); 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)) { /* Copy the bytes into the decode buffer. */ |