Browse Source

+ RiscV: set threadvarblocksize
* sanity check if threadvarblocksize is really set

git-svn-id: trunk@48925 -

florian 4 years ago
parent
commit
bb97c5ab69
1 changed files with 18 additions and 0 deletions
  1. 18 0
      rtl/unix/cthreads.pp

+ 18 - 0
rtl/unix/cthreads.pp

@@ -116,41 +116,59 @@ Type  PINTRTLEvent = ^TINTRTLEvent;
     procedure CInitThreadvar(var offset : dword;size : dword);
       begin
         {$ifdef cpusparc}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,16);
         {$endif cpusparc}
         
         {$ifdef cpusparc64}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,16);
         {$endif cpusparc64}
 
         {$ifdef cpupowerpc}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,8);
         {$endif cpupowerc}
 
         {$ifdef cpui386}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,8);
         {$endif cpui386}
 
         {$ifdef cpuarm}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,4);
         {$endif cpuarm}
 
         {$ifdef cpum68k}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,2);
         {$endif cpum68k}
 
         {$ifdef cpux86_64}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,16);
         {$endif cpux86_64}
 
         {$ifdef cpupowerpc64}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,16);
         {$endif cpupowerpc64}
 
         {$ifdef cpuaarch64}
+        {$define threadvarblocksize_set}
         threadvarblocksize:=align(threadvarblocksize,16);
         {$endif cpuaarch64}
 
+        {$ifdef cpuriscv}
+        {$define threadvarblocksize_set}
+        threadvarblocksize:=align(threadvarblocksize,16);
+        {$endif cpuriscv}
+
+        {$ifndef threadvarblocksize_set}
+        {$error threadvarblocksize must be set! }
+        {$endif threadvarblocksize_set}
+
         offset:=threadvarblocksize;
 
         inc(threadvarblocksize,size);