OSDN Git Service

target-arm: A64: Avoid left shifting negative integers in disas_pc_rel_addr
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 13 Feb 2015 05:46:09 +0000 (05:46 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 13 Feb 2015 05:46:09 +0000 (05:46 +0000)
commit037e1d009e2fcb80784d37f0e12aa999787d46d4
treeb90a6ed279eede689b2a3965b9813e664c833cb0
parente167adc9d9f5df4f8109aecd4552c407fdce094a
target-arm: A64: Avoid left shifting negative integers in disas_pc_rel_addr

Shifting a negative integer left is undefined behaviour in C.
Avoid it by assembling and shifting the offset fields as
unsigned values and then sign extending as the final action.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1423233250-15853-4-git-send-email-peter.maydell@linaro.org
target-arm/translate-a64.c