diff options
author | Mike Frysinger <vapier@gentoo.org> | 2021-05-01 15:58:09 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-05-01 16:26:31 -0400 |
commit | bd12755bf409cb931682a13f08e41d87fac84ab5 (patch) | |
tree | d490e06dbec9c94129ede76bbc772821b0ef2201 | |
parent | f1ca32150cbc83e15a2002d3543f5dd7256ad248 (diff) | |
download | gdb-bd12755bf409cb931682a13f08e41d87fac84ab5.zip gdb-bd12755bf409cb931682a13f08e41d87fac84ab5.tar.gz gdb-bd12755bf409cb931682a13f08e41d87fac84ab5.tar.bz2 |
sim: riscv: fix building on 32-bit hosts w/out int128
Check for __SIZEOF_INT128__ before trying to use the builtin type.
This fixes building on some 32-bit systems like x86.
-rw-r--r-- | sim/riscv/ChangeLog | 4 | ||||
-rw-r--r-- | sim/riscv/sim-main.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/sim/riscv/ChangeLog b/sim/riscv/ChangeLog index 37284a9..367faac 100644 --- a/sim/riscv/ChangeLog +++ b/sim/riscv/ChangeLog @@ -1,3 +1,7 @@ +2021-05-01 Mike Frysinger <vapier@gentoo.org> + + * sim-main.c (mulhu): Check if __SIZEOF_INT128__ is defined. + 2021-04-26 Mike Frysinger <vapier@gentoo.org> * sim-main.c (MAX, MIN): Delete. diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c index a80dc68..6a2904c 100644 --- a/sim/riscv/sim-main.c +++ b/sim/riscv/sim-main.c @@ -603,7 +603,7 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) static unsigned64 mulhu (unsigned64 a, unsigned64 b) { -#ifdef __GNUC__ +#if defined(__GNUC__) && defined(__SIZEOF_INT128__) return ((__int128)a * b) >> 64; #else uint64_t t; |