mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
ubsan: crx: left shift cannot be represented in type 'int'
The ubsan complaint is fixed by the SBM change, with similar possible complaints fixed by the EXTRACT change. The rest is just cleanup. include/ * opcode/crx.h (inst <match>): Make unsigned int. opcodes/ * crx-dis.c (EXTRACT, SBM): Avoid signed overflow. (get_number_of_operands, getargtype, getbits, getregname), (getcopregname, getprocregname, gettrapstring, getcinvstring), (getregliststring, get_word_at_PC, get_words_at_PC, build_mask), (powerof2, match_opcode, make_instruction, print_arguments), (print_arg): Delete forward declarations, moving static to.. (getregname, getcopregname, getregliststring): ..these definitions. (build_mask): Return unsigned int mask. (match_opcode): Use unsigned int vars.
This commit is contained in:
@ -260,7 +260,7 @@ typedef struct
|
||||
/* Size (in words). */
|
||||
unsigned int size;
|
||||
/* Constant prefix (matched by the disassembler). */
|
||||
unsigned long match;
|
||||
unsigned int match;
|
||||
/* Match size (in bits). */
|
||||
int match_bits;
|
||||
/* Attributes. */
|
||||
|
Reference in New Issue
Block a user