diff options
| author | Peter Crosthwaite | 2015-08-18 05:28:18 +0200 |
|---|---|---|
| committer | Stefan Weil | 2015-08-26 20:50:46 +0200 |
| commit | a17d448274575efbfcc1c04ec2641a0afeb74e17 (patch) | |
| tree | 2f5b151173a6d328bb6a2fedc6d8f454ba85789b /include/exec | |
| parent | Merge remote-tracking branch 'remotes/kraxel/tags/pull-cve-2015-5225-20150826... (diff) | |
| download | qemu-a17d448274575efbfcc1c04ec2641a0afeb74e17.tar.gz qemu-a17d448274575efbfcc1c04ec2641a0afeb74e17.tar.xz qemu-a17d448274575efbfcc1c04ec2641a0afeb74e17.zip | |
exec-all: Translate TCI return addresses backwards too
This subtraction of return addresses applies directly to TCI as well as
host-TCG. This fixes Linux boots for at least Microblaze, CRIS, ARM and
SH4 when using TCI.
[sw: Removed indentation for preprocessor statement]
[sw: The patch also fixes Linux boot for x86_64]
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Diffstat (limited to 'include/exec')
| -rw-r--r-- | include/exec/exec-all.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index fbc6dcb90c..83b925172f 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -357,11 +357,7 @@ extern uintptr_t tci_tb_ptr; to indicate the compressed mode; subtracting two works around that. It is also the case that there are no host isas that contain a call insn smaller than 4 bytes, so we don't worry about special-casing this. */ -#if defined(CONFIG_TCG_INTERPRETER) -# define GETPC_ADJ 0 -#else -# define GETPC_ADJ 2 -#endif +#define GETPC_ADJ 2 #define GETPC() (GETRA() - GETPC_ADJ) |
