aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-08-31 13:17:06 +0930
committerAlan Modra <amodra@gmail.com>2020-08-31 20:28:10 +0930
commit1174d92070a85a8ad25e9b9686dd1b4921e96702 (patch)
tree490ec9444c93d0d8bfe006afa9292a83eda0d8b1 /include
parent227d539b17c60a74c583dc66a2c0467243eb4bb2 (diff)
downloadfsf-binutils-gdb-1174d92070a85a8ad25e9b9686dd1b4921e96702.zip
fsf-binutils-gdb-1174d92070a85a8ad25e9b9686dd1b4921e96702.tar.gz
fsf-binutils-gdb-1174d92070a85a8ad25e9b9686dd1b4921e96702.tar.bz2
PR26493 UBSAN: elfnn-riscv.c left shift of negative value
include/ PR 26493 * opcode/riscv.h (OP_MASK_CSR, OP_MASK_CUSTOM_IMM) (OP_MASK_FUNCT7, OP_MASK_RS3): Make unsigned. bfd/ PR 26493 * elfnn-riscv.c (riscv_make_plt_header): Cast PLT_HEADER_SIZE to unsigned when using with RISCV_ITYPE. (_bfd_riscv_relax_call): Use an unsigned foff.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog6
-rw-r--r--include/opcode/riscv.h8
2 files changed, 10 insertions, 4 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index c76d9cc..9daa866 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,5 +1,11 @@
2020-08-31 Alan Modra <amodra@gmail.com>
+ PR 26493
+ * opcode/riscv.h (OP_MASK_CSR, OP_MASK_CUSTOM_IMM)
+ (OP_MASK_FUNCT7, OP_MASK_RS3): Make unsigned.
+
+2020-08-31 Alan Modra <amodra@gmail.com>
+
PR 26457
* som/aout.h (SOM_SUBSPACE_ACCESS_CONTROL_BITS_MASK): Make unsigned.
(SOM_SUBSPACE_MEMORY_RESIDENT, SOM_SUBSPACE_DUP_COMMON)
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index 5cd7515..2f1bc79 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -204,7 +204,7 @@ static const char * const riscv_pred_succ[16] =
#define OP_SH_RS2 20
#define OP_MASK_RS1 0x1f
#define OP_SH_RS1 15
-#define OP_MASK_RS3 0x1f
+#define OP_MASK_RS3 0x1fU
#define OP_SH_RS3 27
#define OP_MASK_RD 0x1f
#define OP_SH_RD 7
@@ -223,14 +223,14 @@ static const char * const riscv_pred_succ[16] =
#define OP_MASK_RL 0x1
#define OP_SH_RL 25
-#define OP_MASK_CUSTOM_IMM 0x7f
+#define OP_MASK_CUSTOM_IMM 0x7fU
#define OP_SH_CUSTOM_IMM 25
-#define OP_MASK_CSR 0xfff
+#define OP_MASK_CSR 0xfffU
#define OP_SH_CSR 20
#define OP_MASK_FUNCT3 0x7
#define OP_SH_FUNCT3 12
-#define OP_MASK_FUNCT7 0x7f
+#define OP_MASK_FUNCT7 0x7fU
#define OP_SH_FUNCT7 25
#define OP_MASK_FUNCT2 0x3
#define OP_SH_FUNCT2 25