diff options
author | Richard Henderson | 2013-08-27 19:22:54 +0200 |
---|---|---|
committer | Richard Henderson | 2013-09-02 18:08:30 +0200 |
commit | 0f842f8a246f2b5b51a11c13f933bf7a90ae8e96 (patch) | |
tree | 2dd695c689fb49d15fe28f2792fde11dba5be55e /tcg/i386/tcg-target.c | |
parent | configure: Allow x32 as a host (diff) | |
download | qemu-0f842f8a246f2b5b51a11c13f933bf7a90ae8e96.tar.gz qemu-0f842f8a246f2b5b51a11c13f933bf7a90ae8e96.tar.xz qemu-0f842f8a246f2b5b51a11c13f933bf7a90ae8e96.zip |
exec: Reorganize the GETRA/GETPC macros
Always define GETRA; use __builtin_extract_return_addr, rather than
having a special case for s390. Split GETPC_ADJ out of GETPC; use 2
universally, rather than having a special case for arm.
Rename GETPC_LDST to GETRA_LDST to indicate that it does not
contain the GETPC_ADJ value. Likewise with GETPC_EXT to GETRA_EXT.
Perform the GETPC_ADJ adjustment inside helper_ret_ld/st. This will
allow backends to pass along the "true" return address rather than
the massaged GETPC value. In the meantime, double application of
GETPC_ADJ does not hurt, since the call insn in all ISAs is at least
4 bytes long.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/i386/tcg-target.c')
0 files changed, 0 insertions, 0 deletions