aboutsummaryrefslogtreecommitdiff
path: root/opcodes/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-12-16 09:35:30 +1030
committerAlan Modra <amodra@gmail.com>2019-12-16 17:33:53 +1030
commit4bdb25fe6902963ca9cf91d6b2688cf888527bf8 (patch)
treec59b543c40bf8bc2d741c3b0ed2b1a5a7397746a /opcodes/ChangeLog
parentcf950fd4dd4581849a445a76b57514d72074927d (diff)
downloadgdb-4bdb25fe6902963ca9cf91d6b2688cf888527bf8.zip
gdb-4bdb25fe6902963ca9cf91d6b2688cf888527bf8.tar.gz
gdb-4bdb25fe6902963ca9cf91d6b2688cf888527bf8.tar.bz2
ubsan: nds32: left shift cannot be represented in type 'int'
Note that using 1u in N32_BIT makes all of N32_BIT, __MASK, __MF, __GF and __SEXT evaluate as unsigned int (the latter three when when their v arg is int or smaller). This would be a problem if assigning the result to a bfd_vma, long, or other type wider than an int since the __SEXT result would be zero extended to the wider type. Fortunately nds32 target code doesn't use wider types unnecessarily. include/ * opcode/nds32.h (N32_BIT): Define using 1u. (__SEXT): Use __MASK and N32_BIT. (N32_IMMS): Remove duplicate mask. opcodes/ * nds32-dis.c (print_insn16, print_insn32): Remove forward decls. (struct objdump_disasm_info): Delete. (nds32_parse_audio_ext, nds32_parse_opcode): Cast result of N32_IMMS to unsigned before shifting left.
Diffstat (limited to 'opcodes/ChangeLog')
-rw-r--r--opcodes/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 2d1c9d3..65ef685 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,12 @@
2019-12-16 Alan Modra <amodra@gmail.com>
+ * nds32-dis.c (print_insn16, print_insn32): Remove forward decls.
+ (struct objdump_disasm_info): Delete.
+ (nds32_parse_audio_ext, nds32_parse_opcode): Cast result of
+ N32_IMMS to unsigned before shifting left.
+
+2019-12-16 Alan Modra <amodra@gmail.com>
+
* moxie-dis.c (INST2OFFSET): Don't left shift a signed value.
(print_insn_moxie): Remove unnecessary cast.