From a42d80dbf9226dfd4e285d64de5f8ed2dddd988f Mon Sep 17 00:00:00 2001 From: tom_at_work Date: Fri, 4 May 2007 21:51:04 +0000 Subject: [PATCH] * do not use R13 as available register because it is reserved for tls on ppc64/linux git-svn-id: trunk@7266 - --- compiler/powerpc64/cgcpu.pas | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/powerpc64/cgcpu.pas b/compiler/powerpc64/cgcpu.pas index a752dab14d..a81c40b72e 100644 --- a/compiler/powerpc64/cgcpu.pas +++ b/compiler/powerpc64/cgcpu.pas @@ -395,12 +395,13 @@ procedure tcgppc.init_register_allocators; begin inherited init_register_allocators; if (target_info.system <> system_powerpc64_darwin) then + // r13 is tls, do not use, r2 is not available rg[R_INTREGISTER] := trgintcpu.create(R_INTREGISTER, R_SUBWHOLE, [{$ifdef user0} RS_R0, {$endif} RS_R3, RS_R4, RS_R5, RS_R6, RS_R7, RS_R8, RS_R9, RS_R10, RS_R11, RS_R12, RS_R31, RS_R30, RS_R29, RS_R28, RS_R27, RS_R26, RS_R25, RS_R24, RS_R23, RS_R22, RS_R21, RS_R20, RS_R19, RS_R18, RS_R17, RS_R16, RS_R15, - RS_R14, RS_R13], first_int_imreg, []) + RS_R14], first_int_imreg, []) else { special for darwin/ppc64: r2 available volatile, r13 = tls } rg[R_INTREGISTER] := trgintcpu.create(R_INTREGISTER, R_SUBWHOLE,