X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Fm68k-dis.c;h=6e913d7abd6e6a1485e804e9f98985dbce521717;hb=84feb74537e455c0245882e9b86c5a17de6162f7;hp=d98e5afcf53fa4c6c9dc5358860219bc6e5482ef;hpb=88c1242dc0a1e1ab582a65ea8bd05eb5f244c59b;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c index d98e5afcf5..6e913d7abd 100644 --- a/opcodes/m68k-dis.c +++ b/opcodes/m68k-dis.c @@ -1,5 +1,5 @@ /* Print Motorola 68k instructions. - Copyright (C) 1986-2017 Free Software Foundation, Inc. + Copyright (C) 1986-2019 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -23,7 +23,7 @@ #include "floatformat.h" #include "libiberty.h" #include "opintl.h" - +#include "cpu-m68k.h" #include "opcode/m68k.h" /* Local function prototypes. */ @@ -96,7 +96,7 @@ enum print_insn_arg_error while (0) /* Get a 4 byte signed integer. */ -#define COERCE32(x) ((bfd_signed_vma) ((x) ^ 0x80000000) - 0x80000000) +#define COERCE32(x) (((bfd_vma) (x) ^ 0x80000000) - 0x80000000) #define NEXTLONG(p, val, ret_val) \ do \ @@ -104,7 +104,8 @@ enum print_insn_arg_error p += 4; \ if (!FETCH_DATA (info, p)) \ return ret_val; \ - val = COERCE32 ((((((p[-4] << 8) + p[-3]) << 8) + p[-2]) << 8) + p[-1]); \ + val = COERCE32 (((((((unsigned) p[-4] << 8) + p[-3]) << 8) \ + + p[-2]) << 8) + p[-1]); \ } \ while (0) @@ -115,7 +116,8 @@ enum print_insn_arg_error p += 4; \ if (!FETCH_DATA (info, p)) \ return PRINT_INSN_ARG_MEMORY_ERROR; \ - val = (unsigned int) ((((((p[-4] << 8) + p[-3]) << 8) + p[-2]) << 8) + p[-1]); \ + val = (((((((unsigned) p[-4] << 8) + p[-3]) << 8) \ + + p[-2]) << 8) + p[-1]); \ } \ while (0)