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
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
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
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
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
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
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +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
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
florian
001292bf50
* made sqrt, sqr and abs internal for the sparc
2004-10-03 12:41:30 +00:00
florian
0f093b2001
* made assembler implementation of move
2004-10-02 20:46:20 +00:00
florian
35dde41997
* fixed indention
2004-09-23 11:30:41 +00:00
peter
ac68641535
* restore traps when returning with longjmp
2004-09-12 12:04:22 +00:00
florian
49c3f3927e
* fixed floating point and integer exception handling on sparc/linux
2004-08-04 19:27:09 +00:00
florian
c9bf25c7eb
* ?
2004-05-30 20:03:05 +00:00
peter
7880c919a8
* backtrace support
2004-05-27 23:34:37 +00:00
Jonas Maebe
6bd3eccdac
+ fpc_cpuinit procedure to allow cpu/fpu initialisation before any unit
...
initialises
+ fpu exceptions for invalid operations and division by zero enabled for
ppc
2004-01-02 17:21:50 +00:00
peter
0d3948fc5f
* register calling updates
2003-12-04 21:42:07 +00:00
peter
1e86b585f9
* changed address parameter/return values to pointer instead
...
of longint
2003-03-17 14:30:11 +00:00
mazen
92f035d47f
* fixing run time errors related to unimplemented abstract methods in CG
...
+ giving empty emplementations for some RTL functions
2003-02-05 21:48:34 +00:00
florian
f5938bb856
+ sparc specific rtl skeleton added
2002-11-16 20:10:31 +00:00