diff mbox

[RFC,UNTESTED] tcg/ppc: Fix support for 64-bit PPC MacOSX hosts

Message ID 1403797037-20734-1-git-send-email-peter.maydell@linaro.org
State Accepted
Commit 1045fc0439f02dc12298045ecb768c52d796dd99
Headers show

Commit Message

Peter Maydell June 26, 2014, 3:37 p.m. UTC
Add back in the support for 64-bit PPC MacOSX hosts that was
broken in the recent merge of the 32-bit and 64-bit TCG backends.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
As per subject, this is totally untested since I don't have any
PPC MacOSX hosts; numbers based on the documentation at
https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/LowLevelABI/100-32-bit_PowerPC_Function_Calling_Conventions/32bitPowerPC.html
https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/LowLevelABI/110-64-bit_PowerPC_Function_Calling_Conventions/64bitPowerPC.html

 tcg/ppc/tcg-target.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Richard Henderson June 26, 2014, 7:51 p.m. UTC | #1
On 06/26/2014 08:37 AM, Peter Maydell wrote:
> +++ b/tcg/ppc/tcg-target.c
> @@ -1716,6 +1716,9 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)
>  # define LINK_AREA_SIZE                (6 * SZR)
>  # define LR_OFFSET                     (1 * SZR)
>  # define TCG_TARGET_CALL_STACK_OFFSET  (LINK_AREA_SIZE + 8 * SZR)
> +#elif defined(TCG_TARGET_CALL_DARWIN)
> +# define LINK_AREA_SIZE                (6 * SZR)
> +# define LR_OFFSET                     (2 * SZR)
>  #elif TCG_TARGET_REG_BITS == 64

Reviewed-by: Richard Henderson <rth@twiddle.net>

It does indeed give the same layout as before for darwin.


r~
Andreas Färber June 29, 2014, 12:01 a.m. UTC | #2
Am 26.06.2014 17:37, schrieb Peter Maydell:
> Add back in the support for 64-bit PPC MacOSX hosts that was
> broken in the recent merge of the 32-bit and 64-bit TCG backends.
> 

Reported-by: Andreas Färber <andreas.faerber@web.de>

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Tested-by: Andreas Färber <andreas.faerber@web.de>

Fixes the build, and i386/x86_64 Haiku guest boots up.

Thanks,
Andreas
Peter Maydell June 29, 2014, 10:39 a.m. UTC | #3
On 29 June 2014 01:01, Andreas Färber <andreas.faerber@web.de> wrote:
> Am 26.06.2014 17:37, schrieb Peter Maydell:
>> Add back in the support for 64-bit PPC MacOSX hosts that was
>> broken in the recent merge of the 32-bit and 64-bit TCG backends.
>>
>
> Reported-by: Andreas Färber <andreas.faerber@web.de>
>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>
> Tested-by: Andreas Färber <andreas.faerber@web.de>
>
> Fixes the build, and i386/x86_64 Haiku guest boots up.

Thanks for testing; applied to master as a buildfix.

-- PMM
diff mbox

Patch

diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c
index c83fd9f..1030318 100644
--- a/tcg/ppc/tcg-target.c
+++ b/tcg/ppc/tcg-target.c
@@ -1716,6 +1716,9 @@  static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)
 # define LINK_AREA_SIZE                (6 * SZR)
 # define LR_OFFSET                     (1 * SZR)
 # define TCG_TARGET_CALL_STACK_OFFSET  (LINK_AREA_SIZE + 8 * SZR)
+#elif defined(TCG_TARGET_CALL_DARWIN)
+# define LINK_AREA_SIZE                (6 * SZR)
+# define LR_OFFSET                     (2 * SZR)
 #elif TCG_TARGET_REG_BITS == 64
 # if defined(_CALL_ELF) && _CALL_ELF == 2
 #  define LINK_AREA_SIZE               (4 * SZR)
@@ -1725,9 +1728,6 @@  static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)
 # if defined(_CALL_SYSV)
 #  define LINK_AREA_SIZE               (2 * SZR)
 #  define LR_OFFSET                    (1 * SZR)
-# elif defined(TCG_TARGET_CALL_DARWIN)
-#  define LINK_AREA_SIZE               24
-#  define LR_OFFSET                    8
 # endif
 #endif
 #ifndef LR_OFFSET