* adjustments/fixes for AIX/ppc64

git-svn-id: trunk@21053 -
This commit is contained in:
Jonas Maebe 2012-04-25 20:28:32 +00:00
parent 0278d67764
commit 9d1063f94c
4 changed files with 26 additions and 12 deletions

View File

@ -1,7 +1,8 @@
{%CPU=x86_64,powerpc64}
{%skiptarget=darwin}
{%skiptarget=darwin,aix}
{ darwin limits statically declared data structures to 32 bit for efficiency reasons }
{ the aix assembler cannot deal with the way we declare these arrays in assembler code )
program tb0528;

View File

@ -269,16 +269,20 @@ begin
{$endif}
{$ifdef cpupowerpc64}
la r3,t
{$ifndef darwin}
{$if defined(darwin)}
lis r4, p3@ha
std r3,p3@l(r4)
{$elseif defined(aix)}
ld r4,p3(r2)
std r3,0(r4)
{$else}
lis r4, p3@highesta
ori r4, r4, p3@highera
sldi r4, r4, 32
oris r4, r4, p3@ha
{$else darwin}
lis r4, p3@ha
{$endif darwin}
std r3,p3@l(r4)
{$endif}
{$endif darwin}
{$endif cpupowerpc64}
{$ifdef cpui386}
leal t,%eax
{$ifndef FPC_PIC}
@ -320,16 +324,20 @@ begin
{$endif}
{$ifdef cpupowerpc64}
la r3,t
{$ifndef darwin}
{$if defined(darwin)}
lis r4, p3@ha
std r3,p3@l(r4)
{$elseif defined(aix)}
ld r4,p3(r2)
std r3,0(r4)
{$else}
lis r4, p3@highesta
ori r4, r4, p3@highera
sldi r4, r4, 32
oris r4, r4, p3@ha
{$else darwin}
lis r4, p3@ha
{$endif darwin}
std r3,p3@l(r4)
{$endif}
{$endif darwin}
{$endif cpupowerpc64}
{$ifdef cpui386}
leal t,%eax
{$ifndef FPC_PIC}

View File

@ -1,4 +1,4 @@
{ %target=linux,darwin,freebsd,netbsd,openbsd,sunos,beos,haiku,aix }
{ %target=linux,darwin,freebsd,netbsd,openbsd,sunos,beos,haiku }
{ %cpu=x86_64,powerpc64,mips64,sparc64,ia64,alpha }
{ windows does not support statics > 2GB }

View File

@ -1,3 +1,8 @@
{ %skiptarget=aix }
{ this kills one of the make-processes when executed during a testsuite
run on AIX/ppc64 }
{ Source provided for Free Pascal Bug Report 2494 }
{ Submitted by "Alan Mead" on 2003-05-17 }
{ e-mail: cubrewer@yahoo.com }