diff options
author | Alan Modra <amodra@gmail.com> | 2019-12-16 10:00:07 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-12-16 17:35:13 +1030 |
commit | e6ced26afd50b0d74b8ea14ca1cd62cdc5d11ae8 (patch) | |
tree | ac662714d50d455e71e8f2f73101b06c284cb7d3 /opcodes | |
parent | 84e098cdea4eb6a5ddc525a2145ffe66475fa2af (diff) | |
download | binutils-gdb-e6ced26afd50b0d74b8ea14ca1cd62cdc5d11ae8.tar.gz |
ubsan: xstormy16: left shift of negative value
cpu/
* xstormy16.cpu (f-rel12a): Avoid signed overflow.
opcodes/
* xstormy16-ibld.c: Regenerate.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/xstormy16-ibld.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ce56ec02312..1e13b1f7346 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,9 @@ 2019-12-16 Alan Modra <amodra@gmail.com> + * xstormy16-ibld.c: Regenerate. + +2019-12-16 Alan Modra <amodra@gmail.com> + * score-dis.c (print_insn_score16): Move rpush/rpop imm field value adjustment so that it doesn't affect reg field too. diff --git a/opcodes/xstormy16-ibld.c b/opcodes/xstormy16-ibld.c index babdd46def9..69da9867849 100644 --- a/opcodes/xstormy16-ibld.c +++ b/opcodes/xstormy16-ibld.c @@ -800,7 +800,7 @@ xstormy16_cgen_extract_operand (CGEN_CPU_DESC cd, { long value; length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 4, 11, 32, total_length, pc, & value); - value = ((((value) << (1))) + (((pc) + (2)))); + value = ((((value) * (2))) + (((pc) + (2)))); fields->f_rel12a = value; } break; |