binutils-gdb/sim
Jeff Law dbf98db6f0 Fix intermittent failures on the H8, particularly H8/SX tests.
The upstream GCC tester has  showed spurious execution failures on the
    H8 target for the H8/SX multilibs. I suspected memory corruption or an
    uninitialized variable early as the same binary would sometimes work and
    sometimes it got the wrong result. Worse yet, the point where the test
    determined it was getting the wrong result would change.

    Because it only happened on the H8/SX variant I was able to zero in on
    the "mova" support and the "short form" of those instructions in particular.

    As the code stands it checks if code->op3.type == 0 to try and identify cases
    where op3 wasn't filled in and thus we've got the short form of the mova
    instruction.

    But for the short-form of those instructions we never set any of the "op3"
    data structure. We get whatever was lying around -- it's usually zero and
     thus things usually work, but if the stale data was nonzero, then we'd
    fail to recognize the instruction as a short-form and fail to set up the
    various fields appropriately.

    I initially initialized the op3.type field to zero, but didn't like that
     because it was inconsistent with how other operands were initialized.
    Bringing consistency meant using -1 as the initializer value and adjusting
    the check for short form mova appropriately.

    I've had this in the upstream GCC tester for perhaps a year at this point
    and haven't seen any of the intermittent failures again.
2021-11-20 13:06:15 -05:00
..
aarch64 sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
arm sim: install various doc files 2021-11-19 03:36:45 -05:00
avr
bfin sim: syscall: hoist argc/argn/argnlen to common code 2021-11-16 02:13:42 -05:00
bpf sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
common sim: use program_transform_name for libsim 2021-11-18 19:56:45 -05:00
cr16 sim: cr16: fix build on gcc-12 (NULL comparison) 2021-11-16 23:32:00 +00:00
cris sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
d10v
erc32 sim: install various doc files 2021-11-19 03:36:45 -05:00
example-synacor sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
frv sim: install various doc files 2021-11-19 03:36:45 -05:00
ft32 sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
h8300 Fix intermittent failures on the H8, particularly H8/SX tests. 2021-11-20 13:06:15 -05:00
igen
iq2000 sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
lm32 sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
m4
m32c
m32r sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
m68hc11
mcore
microblaze
mips
mn10300
moxie
msp430
or1k sim: install various doc files 2021-11-19 03:36:45 -05:00
ppc sim: install various doc files 2021-11-19 03:36:45 -05:00
pru sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
riscv sim: callback: expose argv & environ 2021-11-16 01:13:39 -05:00
rl78
rx sim: install various doc files 2021-11-19 03:36:45 -05:00
sh
testsuite sim: bfin: fix short --env usage in testsuite 2021-11-19 21:27:50 -05:00
v850
.gitignore
aclocal.m4
arch-subdir.mk.in
ChangeLog-2021
config.h.in
configure sim: avoid installing headers when there is no sim 2021-11-18 19:45:54 -05:00
configure.ac sim: avoid installing headers when there is no sim 2021-11-18 19:45:54 -05:00
COPYING
MAINTAINERS
Makefile.am sim: install various doc files 2021-11-19 03:36:45 -05:00
Makefile.in sim: install various doc files 2021-11-19 03:36:45 -05:00
README-HACKING