Sven/Sarah Barth
e94d02a067
* with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again
2024-12-12 22:05:20 +01:00
Sven/Sarah Barth
2e54ad65fb
* switch SPARC 32 RTL to provide atomic intrinsic helpers instead of Interlocked* functions
2024-12-12 22:05:17 +01:00
florian
a0cae50af6
* rtl part of #35433
2024-05-01 23:15:12 +02:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
pierre
3362abb30c
* Set softfloat_rounding_mode indise SetRoundMode function for all CPUs.
...
* SetRoundMode returns previous rounding mode value for all CPUs.
git-svn-id: trunk@48018 -
2021-01-03 21:44:18 +00:00
pierre
8cf26b7a0f
Fix conversion between TFPURoundMode and bits of get_fsr according to SPARC-V8 specifications
...
git-svn-id: trunk@45781 -
2020-07-13 14:40:09 +00:00
florian
ff86c80176
* cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
...
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
Jonas Maebe
e5a1231931
* updated FSF address (mantis #30198 , patch by Paul Gevers)
...
git-svn-id: trunk@34598 -
2016-10-02 12:56:59 +00:00
sergei
217ab9879c
* Enabled internal handling of Abs(longint) for all targets. It has been implemented in cross-platform way ages ago (see tcginlinenode.second_abs_long), but not enabled on MIPS,SPARC and m68k.
...
- RTL: removed MIPS,SPARC and m68k-specific implementations of Abs(longint), and marked the generic one as required for bootstrapping purposes only.
git-svn-id: trunk@27857 -
2014-06-05 10:35:51 +00:00
sergei
295e795a0a
* SPARC: SetExceptionMask and SetRoundingMode must return the old value of mask/mode respectively, not the new one.
...
git-svn-id: trunk@27218 -
2014-03-21 06:26:06 +00:00
sergei
7b56c90d82
- MIPS,SPARC and ARM-wince: removed remaining references to softfloat stuff.
...
git-svn-id: trunk@27204 -
2014-03-20 17:46:01 +00:00
sergei
0255eb880e
- Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.
...
+ m68k/mathu.inc: added stub implementations for missing functions.
git-svn-id: trunk@27180 -
2014-03-18 20:01:15 +00:00
sergei
dd78cd5811
+ SPARC: assembler implementation of SarInt64.
...
git-svn-id: trunk@26467 -
2014-01-15 15:11:40 +00:00
florian
1ea8a397e5
* use membar only for sparcv9(+)
...
git-svn-id: trunk@23109 -
2012-12-03 21:55:51 +00:00
pierre
141b1340fb
+ Handle PIC code for unlimited GOT size
...
git-svn-id: trunk@22478 -
2012-09-27 15:45:54 +00:00
pierre
66b9617ba7
Do not add 8 to NIL values of get_caller_addr
...
git-svn-id: trunk@22370 -
2012-09-11 08:08:48 +00:00
pierre
39e32a9b3e
Do not use nostackframe with local variable in get_fsr function
...
git-svn-id: trunk@22326 -
2012-09-05 12:24:45 +00:00
pierre
fe97069b12
Correct exceoption mask elements
...
git-svn-id: trunk@22325 -
2012-09-05 12:24:15 +00:00
pierre
8469741700
+ Added additional addr pointer parameter to
...
get_caller_frame, get_caller_addr and dump_stack
with default NIL value to systemh.inc.
+ Added new get_addr function.
system.inc: Use get_addr and get_frame to call
HandleErrorAddrFrame instead of HandleErrorFrame
in several error functions.
Modify dump_stack to use frame and addr parameters.
Provide a dummy get_addr function returning nil.
i386/i386.inc, x86_64./x86_64.inc: Provide real
implementation of get_addr function.
git-svn-id: trunk@21697 -
2012-06-24 21:22:09 +00:00
florian
24fea58b92
+ initial implementation of iso style gotos in iso mode
...
* made setjmp/longjmp accessible to the compiler by compiler proc, they are used by the iso goto code
git-svn-id: trunk@15711 -
2010-08-05 19:20:46 +00:00
Jonas Maebe
30a51c2dee
+ support for the different rounding modes in the generic rounding
...
routines (mantis #11392 )
git-svn-id: trunk@11290 -
2008-06-27 17:20:56 +00:00
florian
7da7364ee7
* refactored SysResetFPU into SysInitFPU and SysResetFPU
...
git-svn-id: trunk@8966 -
2007-10-28 12:06:49 +00:00
Jonas Maebe
e205481027
* fixed sparc bootstrap
...
* use -Av9 assembler option so it accepts the memory barrier opcodes
git-svn-id: trunk@8244 -
2007-08-08 09:48:37 +00:00
micha
d95b9082bb
* add memory barrier prototypes + implementation for i386 and sparc + use lwsync for powerpc64
...
git-svn-id: trunk@8240 -
2007-08-07 20:37:08 +00:00
Jonas Maebe
4f95f742f4
* fixed get_caller_frame() and get_caller_addr() for nil addresses
...
git-svn-id: trunk@7470 -
2007-05-25 12:01:28 +00:00
Jonas Maebe
7d44ca0113
* fixed unportable soft float mask handling which broke on big endian
...
systems after yesterday's set changes
git-svn-id: trunk@7402 -
2007-05-20 10:25:48 +00:00
florian
2d0c27e80d
* sparc uses softfloat routines so softfloat exception masking needs to be set properly
...
git-svn-id: trunk@6888 -
2007-03-16 20:04:39 +00:00
Jonas Maebe
800742939b
+ sparc InterlockedCompareExchange
...
git-svn-id: trunk@4334 -
2006-08-03 15:32:59 +00:00
peter
4c065bce45
* move InterLocked functions to system unit
...
git-svn-id: trunk@3933 -
2006-06-25 09:26:23 +00:00
Jonas Maebe
5b9f58ef73
* reverted r2037 because of braindead "out" semantics for refcounted
...
types
git-svn-id: trunk@2045 -
2005-12-24 01:06:05 +00:00
Jonas Maebe
84aab46550
* changed formal "var" paramters of move, movechar0 and fill* into
...
"out" parameters to avoid wrong "uninitialized" warnings
git-svn-id: trunk@2037 -
2005-12-23 20:59:08 +00:00
michael
3a2eaa94b1
+ Removed INTERNCONSTINTF define
...
git-svn-id: trunk@267 -
2005-06-07 22:04:18 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
michael
ffb55c4254
+ Removed VER1_0 defines
...
git-svn-id: trunk@33 -
2005-05-19 21:14:45 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
16b121f8c4
* unblock signal in signalhandler, remove the sigprocmask call
...
from setjmp
2005-04-24 21:19:22 +00:00
florian
e2fd573a9a
* InterlockedDecrement fixed
2005-03-12 18:45:15 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
f4011dabba
* solaris updates
2005-02-14 16:32:41 +00:00
peter
ae8b7b153b
* include file cleanup
2005-02-13 20:01:37 +00:00
florian
ad3a4a93ef
+ FPU controll routines in math unit
2005-02-13 18:58:27 +00:00
peter
f089ddabd6
* add $ifdef for move
2005-02-07 22:17:48 +00:00
florian
3abbd722af
+ getgot function added
2005-01-27 21:26:39 +00:00
peter
7395e7e546
* restore sigprocmask for linux
2005-01-20 16:38:28 +00:00
florian
8591d80cfc
* set floating point precision and ieee compliance
2005-01-18 20:37:26 +00:00
peter
7d404ad72d
* fix bootstrapping
2004-11-21 19:11:33 +00:00
peter
4d8460ec2f
* float routines all use internproc and compilerproc helpers
2004-11-21 15:35:23 +00:00
florian
cf9230e757
* get_frame fixed
2004-11-03 20:53:58 +00:00
florian
a641af80de
+ added and implemented functions for locked operations
2004-10-14 19:45:39 +00:00