diff options
author | Mike Frysinger <vapier@gentoo.org> | 2022-11-04 07:38:20 +0700 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-11-08 14:55:50 +0700 |
commit | 2756004fe78954754946b61d3f6338d8b72b8332 (patch) | |
tree | 6628f729649c9f9cb1fb4f15b99a813f86a8bb12 | |
parent | 195064c8da5a86a602d6312c5ad31b2bdb3721f9 (diff) | |
download | gdb-2756004fe78954754946b61d3f6338d8b72b8332.zip gdb-2756004fe78954754946b61d3f6338d8b72b8332.tar.gz gdb-2756004fe78954754946b61d3f6338d8b72b8332.tar.bz2 |
sim: mips: call Unpredictable instead of setting bogus values [PR sim/29276]
The intention of this code seems to be to indicate that this insn
should not be used and produces undefined behavior, so instead of
setting registers to bogus values, call Unpredictable. This fixes
build warnings due to 32-bit/64-bit type conversions, and outputs
a log message for users at runtime instead of silent corruption.
Bug: https://sourceware.org/PR29276
-rw-r--r-- | sim/mips/mips.igen | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index dfad422..0746a52 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -1450,7 +1450,7 @@ else if ((fs & 0x1) == 0) GPR[rt] = SET64HI (FGR[fs+1]) | FGR[fs]; else - GPR[rt] = SET64HI (0xDEADC0DE) | 0xBAD0BAD0; + Unpredictable (); TRACE_ALU_RESULT (GPR[rt]); } @@ -5782,7 +5782,7 @@ else if ((FS & 0x1) == 0) v = SET64HI (FGR[FS+1]) | FGR[FS]; else - v = SET64HI (0xDEADC0DE) | 0xBAD0BAD0; + Unpredictable (); PENDING_FILL (RT, v); TRACE_ALU_RESULT (v); } |