From 96a76290b66dd11bd77571313ded0f560b78691d Mon Sep 17 00:00:00 2001 From: WangRunji Date: Fri, 7 Dec 2018 23:48:27 +0800 Subject: [PATCH] fix rv32 __mulsi3 add overflow --- kernel/src/arch/riscv32/compiler_rt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/src/arch/riscv32/compiler_rt.rs b/kernel/src/arch/riscv32/compiler_rt.rs index e8fff84..fe5da3b 100644 --- a/kernel/src/arch/riscv32/compiler_rt.rs +++ b/kernel/src/arch/riscv32/compiler_rt.rs @@ -10,7 +10,7 @@ pub extern fn __mulsi3(mut a: u32, mut b: u32) -> u32 { while a > 0 { if a & 1 > 0 { - r += b; + r = r.overflowing_add(b).0; } a >>= 1; b <<= 1;