summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-22 10:40:46 +0000
committerjonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-22 10:40:46 +0000
commitac5f18c5652e561b785d67cd3160a13f58159d0d (patch)
tree810b2781ba91089fc6f2ed827212c901a5050762
parent907763c738c434f4e0e02b53d24bb9d129a86b70 (diff)
downloadfpc-ac5f18c5652e561b785d67cd3160a13f58159d0d.tar.gz
* fixed timespec and mcontext_t types for AIX 64 bit
* fixed a few more (harmless because in fields we don't use) errors in AIX mcontext_t definition git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@20978 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--rtl/aix/ptypes.inc2
-rw-r--r--rtl/aix/sighndh.inc31
2 files changed, 27 insertions, 6 deletions
diff --git a/rtl/aix/ptypes.inc b/rtl/aix/ptypes.inc
index 071c69fbee..6bc7a93882 100644
--- a/rtl/aix/ptypes.inc
+++ b/rtl/aix/ptypes.inc
@@ -146,7 +146,7 @@ Type
timespec = record
tv_sec : time_t;
- tv_nsec : suseconds_t;
+ tv_nsec : clong;
end;
ptimespec = ^timespec;
TTimeSpec = timespec;
diff --git a/rtl/aix/sighndh.inc b/rtl/aix/sighndh.inc
index 1eafcf87f8..838eec8e10 100644
--- a/rtl/aix/sighndh.inc
+++ b/rtl/aix/sighndh.inc
@@ -78,7 +78,7 @@ type
end;
__vmxreg_t = record
- __v: array[0..3] of cint;
+ __v: array[0..3] of cuint;
end;
__vmx_context = record
@@ -96,13 +96,34 @@ type
__u1: record
__vmx: __vmx_context
end;
- __ukeys: cuint;
+ __ukeys: array[0..1] of cuint;
__reserved: array[0..4096-sizeof(__vmx_context)-7*sizeof(cint)-1] of byte;
__extctx_magic: cint;
end;
+{$ifdef cpu64}
+ __context64 = record
+ gpr: array[0..31] of culonglong;
+ msr: culonglong;
+ iar: culonglong;
+ lr: culonglong;
+ ctr: culonglong;
+ cr: cuint;
+ xer: cuint;
+ fpscr: cuint;
+ fpscrx: cuint;
+ except_: array[0..0] of culonglong;
+ fpr: array[0..31] of double;
+ fpeu: byte;
+ fpinfo: byte;
+ pad: array[0..1] of byte;
+ excp_type: cint;
+ end;
+ mcontext_t = __context64;
+{$else}
mcontext_t = mstsave;
+{$endif}
pucontext_t = ^tucontext_t;
PSigContext = pucontext_t;
@@ -111,10 +132,10 @@ type
uc_sigmask: sigset_t;
__sc_uerror: cint;
uc_mcontext: mcontext_t;
- uc_link: ^pucontext_t;
+ uc_link: pucontext_t;
uc_stack: stack_t;
- __extctx: __extctx_t;
+ __extctx: p__extctx_t;
__extctx_magic: cint;
- __pad: array[0..{$ifdef cpu64}1{$else}0{$endif}] of cint;
+ __pad: array[0..{$ifdef cpu64}0{$else}1{$endif}] of cint;
end;