mbox series

[v2,for-2.9,0/2] tcg/sparc: zero extend ld/st helper args

Message ID 1490871151-29029-1-git-send-email-peter.maydell@linaro.org
Headers show
Series tcg/sparc: zero extend ld/st helper args | expand

Message

Peter Maydell March 30, 2017, 10:52 a.m. UTC
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