These patches fix problems with the SPARC TCG backend code
which calls the load and store helpers. Where the argument
being passed to the helper is narrower than the size of the
native register, the SPARC calling convention requires that
we extend it to the register size, but we weren't doing that.
This meant we passed the host code registers which might have
garbage in the high parts, and if the host code was built
with optimization this resulted in wrong behaviour.
Changes v1->v2:
* fix argument order to emit_extend() in 32-bit host case
* switch on (op & MO_SIZE) rather than just op
thanks
-- PMM
Peter Maydell (2):
tcg/sparc: Zero extend data argument to store helpers
tcg/sparc: Zero extend address argument to ld/st helpers
tcg/sparc/tcg-target.inc.c | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
--
2.7.4