mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-19 22:03:57 +08:00
ubsan: z8k: left shift cannot be represented in type 'int'
* z8k-dis.c (unpack_instr): Formatting. Cast unsigned short values to unsigned before shifting.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2020-01-14 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* z8k-dis.c (unpack_instr): Formatting. Cast unsigned short
|
||||||
|
values to unsigned before shifting.
|
||||||
|
|
||||||
2020-01-13 Thomas Troeger <tstroege@gmx.de>
|
2020-01-13 Thomas Troeger <tstroege@gmx.de>
|
||||||
|
|
||||||
* arm-dis.c (print_insn_arm): Fill in insn info fields for control
|
* arm-dis.c (print_insn_arm): Fill in insn info fields for control
|
||||||
|
@ -369,8 +369,8 @@ unpack_instr (instr_data_s *instr_data, int is_segmented, disassemble_info *info
|
|||||||
break;
|
break;
|
||||||
case ARG_IMM32:
|
case ARG_IMM32:
|
||||||
FETCH_DATA (info, nibl_count + 8);
|
FETCH_DATA (info, nibl_count + 8);
|
||||||
instr_long = (instr_data->words[nibl_count] << 16)
|
instr_long = ((unsigned) instr_data->words[nibl_count] << 16
|
||||||
| (instr_data->words[nibl_count + 4]);
|
| instr_data->words[nibl_count + 4]);
|
||||||
instr_data->immediate = instr_long;
|
instr_data->immediate = instr_long;
|
||||||
nibl_count += 7;
|
nibl_count += 7;
|
||||||
break;
|
break;
|
||||||
@ -402,17 +402,17 @@ unpack_instr (instr_data_s *instr_data, int is_segmented, disassemble_info *info
|
|||||||
if (instr_nibl & 0x8)
|
if (instr_nibl & 0x8)
|
||||||
{
|
{
|
||||||
FETCH_DATA (info, nibl_count + 8);
|
FETCH_DATA (info, nibl_count + 8);
|
||||||
instr_long = (instr_data->words[nibl_count] << 16)
|
instr_long = ((unsigned) instr_data->words[nibl_count] << 16
|
||||||
| (instr_data->words[nibl_count + 4]);
|
| instr_data->words[nibl_count + 4]);
|
||||||
instr_data->address = ((instr_word & 0x7f00) << 16)
|
instr_data->address = ((instr_word & 0x7f00) << 16
|
||||||
+ (instr_long & 0xffff);
|
| (instr_long & 0xffff));
|
||||||
nibl_count += 7;
|
nibl_count += 7;
|
||||||
seg_length = 2;
|
seg_length = 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
instr_data->address = ((instr_word & 0x7f00) << 16)
|
instr_data->address = ((instr_word & 0x7f00) << 16
|
||||||
+ (instr_word & 0x00ff);
|
| (instr_word & 0x00ff));
|
||||||
nibl_count += 3;
|
nibl_count += 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user