tcg: Introduce set/clear_helper_retaddr
commit08b97f7ff299df35c61bc74b8e53dbe23d59470b
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 13 Jun 2019 22:54:22 +0000 (13 15:54 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Sun, 14 Jul 2019 10:19:00 +0000 (14 12:19 +0200)
treeb18acf673a37288f99acc2c2546c42908dc20673
parent359896dfa4e9707e1acea99129d324250fccab04
tcg: Introduce set/clear_helper_retaddr

At present we have a potential error in that helper_retaddr contains
data for handle_cpu_signal, but we have not ensured that those stores
will be scheduled properly before the operation that may fault.

It might be that these races are not in practice observable, due to
our use of -fno-strict-aliasing, but better safe than sorry.

Adjust all of the setters of helper_retaddr.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/user-exec.c
include/exec/cpu_ldst.h
include/exec/cpu_ldst_useronly_template.h
target/arm/helper-a64.c
target/arm/sve_helper.c