sim: watch: fix pc watchpoints on little endian host systems
authorMike Frysinger <vapier@gentoo.org>
Wed, 13 Jan 2021 06:21:22 +0000 (01:21 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 13 Jan 2021 10:52:51 +0000 (05:52 -0500)
commit62fe7512a78962a9eda0db7fde0c8a76cf535714
tree4b54cc93bf9f772c360ea2db2c44dfa60e122f64
parent4180301e81fbc8eae6e55630f93bc14e045b1c78
sim: watch: fix pc watchpoints on little endian host systems

My change 1ac72f0659d64d6a14da862242db0d841d2878d0 ("sim: convert to
bfd_endian") subtly broke the watchpoint module on little endian host
systems.  The old code used 0 to mean "whatever the host endian is",
and while that was changed to use BFD_ENDIAN_UNKNOWN, this caller was
missed.  Since its API used an int instead of an enum, the coercion
from 0 to the BFD endian enum was silently missed, and 0 happens to
be BFD_ENDIAN_BIG.

Instead of restoring the old logic by passing in BFD_ENDIAN_UNKNOWN,
we know the right host endian at compile time, so use that directly.
sim/common/ChangeLog
sim/common/sim-events.c
sim/common/sim-events.h
sim/common/sim-watch.c