X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcpu-ia64-opc.c;h=5156f4c22adfc3f5b0f70808cd383f55a7d9faf7;hb=f2e1c129f8f0985ec80e6cf775cf3e4afbced6fa;hp=8e670e61353537aafec607996cb9112e2132e1f1;hpb=07d6d2b8345ef3dc82eab49635acac9ee67dbb18;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-ia64-opc.c b/bfd/cpu-ia64-opc.c index 8e670e6135..5156f4c22a 100644 --- a/bfd/cpu-ia64-opc.c +++ b/bfd/cpu-ia64-opc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2017 Free Software Foundation, Inc. +/* Copyright (C) 1998-2020 Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. @@ -186,7 +186,7 @@ ext_imms_scaled (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep, int scale) { int i, bits = 0, total = 0; - BFD_HOST_64_BIT val = 0, sign; + BFD_HOST_U_64_BIT val = 0, sign; for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i) { @@ -196,10 +196,10 @@ ext_imms_scaled (const struct ia64_operand *self, ia64_insn code, total += bits; } /* sign extend: */ - sign = (BFD_HOST_64_BIT) 1 << (total - 1); + sign = (BFD_HOST_U_64_BIT) 1 << (total - 1); val = (val ^ sign) - sign; - *valuep = (val << scale); + *valuep = val << scale; return 0; }