Thanks, applied.
On Sat, Jan 19, 2013 at 7:23 PM, Stefan Weil <s...@weilnetz.de> wrote:
>
> s390x-linux-user now also uses GETPC. Instead of adding it to the list of
> targets which use GETPC, the macro is now defined unconditionally.
>
> This avoids future build regressions like this one:
>
> CC s390x-linux-user/target-s390x/int_helper.o
> cc1: warnings being treated as errors
> qemu/target-s390x/int_helper.c: In function ‘helper_divs32’:
> qemu/target-s390x/int_helper.c:47: error: implicit declaration of function
> ‘GETPC’
> qemu/target-s390x/int_helper.c:47: error: nested extern declaration of ‘GETPC’
>
> Signed-off-by: Stefan Weil <s...@weilnetz.de>
> ---
>
> Hi Blue,
>
> please commit this patch to fix compilations with TCI.
>
> The performance decrease caused by using GETPC in TCI's interpreter loop
> can be reduced in a better way by only setting tci_tb_ptr before calling
> a helper function. This should be done in a separate patch.
>
> Regards,
> Stefan
>
> include/exec/exec-all.h | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index 46dca74..d235ef8 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -284,14 +284,8 @@ extern int tb_invalidated_flag;
> /* The return address may point to the start of the next instruction.
> Subtracting one gets us the call instruction itself. */
> #if defined(CONFIG_TCG_INTERPRETER)
> -/* Softmmu, Alpha, MIPS, SH4 and SPARC user mode emulations call GETPC().
> - For all others, GETPC remains undefined (which makes TCI a little faster.
> */
> -# if defined(CONFIG_SOFTMMU) || \
> - defined(TARGET_ALPHA) || defined(TARGET_MIPS) || \
> - defined(TARGET_SH4) || defined(TARGET_SPARC)
> extern uintptr_t tci_tb_ptr;
> -# define GETPC() tci_tb_ptr
> -# endif
> +# define GETPC() tci_tb_ptr
> #elif defined(__s390__) && !defined(__s390x__)
> # define GETPC() \
> (((uintptr_t)__builtin_return_address(0) & 0x7fffffffUL) - 1)
> --
> 1.7.10.4
>