forked from Imagelibrary/binutils-gdb
ubsan: crx-dis.c:571 left shift of negative value
* crx-dis.c: Whitespace. (print_arg): Use unsigned type for longdisp and mask variables, and for left shift constant.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2020-09-02 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* crx-dis.c: Whitespace.
|
||||||
|
(print_arg): Use unsigned type for longdisp and mask variables,
|
||||||
|
and for left shift constant.
|
||||||
|
|
||||||
2020-09-02 Alan Modra <amodra@gmail.com>
|
2020-09-02 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* cgen-ibld.in (insert_normal, extract_normal): Use 1UL in left shift.
|
* cgen-ibld.in (insert_normal, extract_normal): Use 1UL in left shift.
|
||||||
|
|||||||
@@ -481,7 +481,7 @@ make_argument (argument * a, int start_bits)
|
|||||||
static void
|
static void
|
||||||
print_arg (argument *a, bfd_vma memaddr, struct disassemble_info *info)
|
print_arg (argument *a, bfd_vma memaddr, struct disassemble_info *info)
|
||||||
{
|
{
|
||||||
LONGLONG longdisp, mask;
|
ULONGLONG longdisp, mask;
|
||||||
int sign_flag = 0;
|
int sign_flag = 0;
|
||||||
int relative = 0;
|
int relative = 0;
|
||||||
bfd_vma number;
|
bfd_vma number;
|
||||||
@@ -576,8 +576,8 @@ print_arg (argument *a, bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
case 16:
|
case 16:
|
||||||
case 24:
|
case 24:
|
||||||
case 32:
|
case 32:
|
||||||
mask = ((LONGLONG)1 << a->size) - 1;
|
mask = ((LONGLONG) 1 << a->size) - 1;
|
||||||
if (longdisp & ((LONGLONG)1 << a->size))
|
if (longdisp & ((ULONGLONG) 1 << a->size))
|
||||||
{
|
{
|
||||||
sign_flag = 1;
|
sign_flag = 1;
|
||||||
longdisp = ~(longdisp) + 1;
|
longdisp = ~(longdisp) + 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user