diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-03-08 22:07:07 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-03-08 22:07:07 +0000 |
commit | 0225f661caa6332ab5e00ed22afec30da78cda12 (patch) | |
tree | 0c33e15b5008e2541c8d4f3ee9f2a2eed306ca86 | |
parent | 7583ad7e90f541acbcbc1457abd3ab30cf2657aa (diff) | |
download | fpc-0225f661caa6332ab5e00ed22afec30da78cda12.tar.gz |
+ RiscV: set threadvarblocksize
* sanity check if threadvarblocksize is really set
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48925 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | rtl/unix/cthreads.pp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/rtl/unix/cthreads.pp b/rtl/unix/cthreads.pp index fe7ce7cfc9..0590b2515f 100644 --- a/rtl/unix/cthreads.pp +++ b/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); |