From: Peter Maydell Date: Mon, 26 Dec 2011 00:02:18 +0000 (+0000) Subject: tcg/arm: Use r6 as TCG_AREG0 to avoid clash with Thumb framepointer X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=05b922dd0a1919c265361ca62902d6cdaea4cc36;p=qemu.git tcg/arm: Use r6 as TCG_AREG0 to avoid clash with Thumb framepointer On ARM, in Thumb mode r7 is used for the framepointer; this meant that we would fail to compile in debug mode because we were using r7 for TCG_AREG0. Shift to r6 instead to avoid this clash. (Bug reported as LP:870990.) Signed-off-by: Peter Maydell Signed-off-by: Andrzej Zaborowski --- diff --git a/dyngen-exec.h b/dyngen-exec.h index 3544372a65..09be9ea7b4 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -31,7 +31,7 @@ #elif defined(_ARCH_PPC) #define AREG0 "r27" #elif defined(__arm__) -#define AREG0 "r7" +#define AREG0 "r6" #elif defined(__hppa__) #define AREG0 "r17" #elif defined(__mips__) diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h index 48586c3e60..0035b471fe 100644 --- a/tcg/arm/tcg-target.h +++ b/tcg/arm/tcg-target.h @@ -78,7 +78,7 @@ typedef enum { enum { /* Note: must be synced with dyngen-exec.h */ - TCG_AREG0 = TCG_REG_R7, + TCG_AREG0 = TCG_REG_R6, }; static inline void flush_icache_range(unsigned long start, unsigned long stop)