svenbarth
83af4e93f7
rtl/m68k/m68k.inc:
...
* InterlockedIncrement & InterlockedDecrement: return the modified value, not the original one
git-svn-id: trunk@23432 -
2013-01-17 21:19:27 +00:00
svenbarth
f5e94a02cd
rtl/m68k/m68k.inc:
...
* fillchar & fillword: check whether the count is 0 before filling anything
This fixes cases like "Writeln('')" which is used inside InternalExit if an unhandled exception happened.
git-svn-id: trunk@23431 -
2013-01-17 21:17:13 +00:00
Károly Balogh
652d69d145
fixed typo
...
git-svn-id: trunk@23269 -
2013-01-01 02:44:01 +00:00
Károly Balogh
0702109f37
get_frame to return a5 on Amiga
...
git-svn-id: trunk@23268 -
2013-01-01 02:37:39 +00:00
Károly Balogh
79a0f706de
save/restore FP from A5 on Amiga
...
git-svn-id: trunk@23267 -
2013-01-01 02:27:53 +00:00
svenbarth
e240856e43
* rtl/m68k/setjumph.inc:
...
data registers stored are 1 to 7, not 0 to 7
* rtl/m68k/setjump.inc:
don't use "S" or "value" to reference the parameters as the code generator does not use "sp" instead of "fp" in case of "nostackframe"
restore a0 at the end of setjmp
git-svn-id: trunk@23240 -
2012-12-28 13:00:28 +00:00
pierre
76ba2ea6c7
Save complete register set for setjmp/longjmp
...
git-svn-id: trunk@23174 -
2012-12-18 14:05:52 +00:00
pierre
0e14a3c5bd
add fpc_longword_to_double if needed
...
git-svn-id: trunk@23173 -
2012-12-18 14:04:14 +00:00
Károly Balogh
e2f02faca0
do not refer reg a6 directly, base pointer might differ among platforms (a5 on m68k-amiga)
...
git-svn-id: trunk@23167 -
2012-12-18 02:13:43 +00:00
svenbarth
4d1e42e891
rtl/m68k/setjump.inc:
...
* implement "fpc_setjmp" and "fpc_longjmp"
rtl/m68k/m68k.inc:
* add "nostackframe" to "get_frame" and "sptr"
+ add "get_pc_addr"
=> allows stack traces to be displayed correctly
git-svn-id: trunk@22899 -
2012-11-01 16:00:14 +00:00
svenbarth
fb873d6f02
rtl/m68k/m68k.inc:
...
dummyplement Interlocked* functions; they are not locking in any way, but at least they do what they should
git-svn-id: trunk@22884 -
2012-10-31 06:24:08 +00:00
svenbarth
f204f84f6a
rtl/m68k/m68k.inc, move:
...
completely disable the "fast loop" code for Coldfire instead of "hackfixing" it; with this StdIO starts to work (though one byte is missing at the end...)
git-svn-id: trunk@22883 -
2012-10-31 06:10:03 +00:00
svenbarth
58d9b0853c
* rtl/m68k/m68k.inc, move:
...
add a check for "count = 0" which happens e.g. inside of System.Assign if called with '' as filename (which is the case inside OpenStdIO)
git-svn-id: trunk@22841 -
2012-10-24 05:03:08 +00:00
svenbarth
a266d73409
* rtl/m68k/setjump.inc:
...
correctly dummy out setjump as "d0 <> 0" means that longjmp was executed (and d0 could be set from the calling function)
git-svn-id: trunk@22797 -
2012-10-21 13:56:48 +00:00
svenbarth
322dbe5b65
Various adjustments to the RTL for m68k:
...
* enable the 6 parameter syscall variant (still everything dummied out though)
* add termios constants
* don't change signal handlers for now
* disable assembly set routines as set handling was changed
git-svn-id: trunk@22743 -
2012-10-18 20:12:02 +00:00
svenbarth
43d8da7aa3
Replace DBRA instruction for Coldfire with a SUB/BRA combination in the for-loop-code-
...
generation and the assembly helpers in the RTL as DBRA is not supported by Coldfire.
git-svn-id: trunk@22740 -
2012-10-18 20:11:45 +00:00
svenbarth
6034866050
rtl/m68k: Added mathu(h).inc with dummy implementations of SetExceptionMask and GetExceptionMask
...
git-svn-id: trunk@22729 -
2012-10-18 20:10:48 +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
florian
d127e002d8
* use default helpers for now
...
git-svn-id: trunk@5556 -
2006-12-07 20:44:52 +00:00
florian
b07cd83892
* made system unit on m68k-linux compilable
...
git-svn-id: trunk@5266 -
2006-11-06 18:42:47 +00:00
Károly Balogh
572c8430ac
+ more mess to make the skeleton amiga rtl compile
...
git-svn-id: trunk@2393 -
2006-02-01 15:35:33 +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
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
cd81fa77ea
+ added currency and widestring support to TWriter and TReader
2004-05-23 12:42:42 +00:00
florian
91733f9237
* some m68k and amiga related stuff fixed
2004-05-05 21:26:34 +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
carl
af2000b0f7
* make the jmp_buf record packed, just in case
2002-10-20 11:53:14 +00:00
peter
9f31783a0a
* old logs removed and tabs fixed
2002-09-07 16:01:16 +00:00
peter
24384c648b
* moved genrtti.inc code to rtti
...
* removed rttip.inc, the generic code is almost as fast and
much easier to maintain and has less risks on bugs
2002-09-02 18:42:41 +00:00
michael
586c4cea50
+ Conditionals fixed
2000-07-14 10:33:09 +00:00
michael
650fbb86aa
+ removed logs
2000-07-13 11:32:24 +00:00
michael
e7aca136a1
+ Initial import
2000-07-13 06:29:38 +00:00
pierre
a41bd45aad
* 0**n where n<>0 is 0; 0**0 generates RTE 207
2000-05-02 10:37:50 +00:00
daniel
ec29a31834
* copyright 2000
2000-01-07 16:41:28 +00:00
daniel
a79b4a404b
* copyright 2000 added
2000-01-07 16:32:21 +00:00
carl
a166bd1bca
* FillChar and FillObject bugfix, count was compared with byte
1998-10-17 14:34:37 +00:00
pierre
850e611770
* added code for vmt_offset in destructors
1998-10-16 13:37:45 +00:00
pierre
2312760103
+ first step of variable vmt offset
...
offset is stored in R_EDI (R_D0)
if objectvmtoffset is defined
1998-10-15 11:35:02 +00:00
pierre
93d5b064b0
* some bugs related to FPC_ prefix fixed
...
* problems with pbyte sometimes defined and sometimes not for rttip.inc solved
1998-10-13 08:00:04 +00:00
peter
4620a73a9b
* FPC_ names
...
* Heap manager is now system independent
1998-09-14 10:48:00 +00:00
pierre
0471257bec
* small modifications
1998-09-04 17:27:09 +00:00
pierre
d5df96ef6a
* corrected a bug introduced by my last change
...
(allocating 1Mb but only using a small part !!)
1998-08-25 14:15:51 +00:00
pierre
69aed4ad5c
* bug allocation of more than 1 MB failed corrected
1998-08-24 14:44:04 +00:00
carl
26319a738a
* bugfix of heaperror, was pushing wrong parameter
1998-08-17 12:27:17 +00:00
carl
5093dda4d7
+ simple cleanup of comments
1998-08-17 12:26:04 +00:00