[binutils-gdb] ubsan: tic4x: left shift cannot be represented in type 'int'

Alan Modra amodra@sourceware.org
Thu Jan 30 06:42:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1bd8ae1004919317e7aa3cc2bb1d5d0d74d9f03e

commit 1bd8ae1004919317e7aa3cc2bb1d5d0d74d9f03e
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jan 30 17:06:54 2020 +1030

    ubsan: tic4x: left shift cannot be represented in type 'int'
    
    The patch also fixes a case where libopcodes built for a 64-bit
    bfd_vma may print different results to libopcodes built for a 32-bit
    bfd_vma.
    
    	* tic4x-dis.c (tic4x_dp): Make unsigned.

Diff:
---
 opcodes/ChangeLog   | 4 ++++
 opcodes/tic4x-dis.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 3076dac..2b308a5 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-30  Alan Modra  <amodra@gmail.com>
+
+	* tic4x-dis.c (tic4x_dp): Make unsigned.
+
 2020-01-27  H.J. Lu  <hongjiu.lu@intel.com>
 	    Jan Beulich  <jbeulich@suse.com>
 
diff --git a/opcodes/tic4x-dis.c b/opcodes/tic4x-dis.c
index 33d75c8..a99b52a 100644
--- a/opcodes/tic4x-dis.c
+++ b/opcodes/tic4x-dis.c
@@ -52,7 +52,7 @@ typedef enum
 indirect_t;
 
 static unsigned long tic4x_version = 0;
-static int tic4x_dp = 0;
+static unsigned int tic4x_dp = 0;
 static tic4x_inst_t **optab = NULL;
 static tic4x_inst_t **optab_special = NULL;
 static const char *registernames[REG_TABLE_SIZE];



More information about the Binutils-cvs mailing list