Karoly Balogh
|
0bb6ab24a2
|
m68k-atari: regenerated Makefile
|
2024-01-06 19:36:50 +01:00 |
|
Karoly Balogh
|
2ec9f59b38
|
m68k-atari: fix installation of sysconts and heaptrc units
|
2024-01-06 19:36:50 +01:00 |
|
Pierre Muller
|
f510e6f59b
|
Use GetProcAddress to set GetFinalPathNameByHandle function pointer
|
2024-01-06 17:54:21 +01:00 |
|
Pierre Muller
|
37ffd4051a
|
Add dependency on objpas unit for syscall unit compiled with -dFPC_USE_LIBC
|
2024-01-06 17:06:51 +01:00 |
|
Pierre Muller
|
7c9cf75418
|
Fix syscall unit compilation for i386-linux using -dFPC_USE_LIBC
|
2024-01-06 17:06:51 +01:00 |
|
Pierre Muller
|
2cb7e44a1b
|
Fix compilation of syscall unit for Linux with -dFPC_USE_LIBC option
|
2024-01-05 17:46:49 +01:00 |
|
Sven/Sarah Barth
|
c11772deca
|
* ensure that the SysCall unit is also usable when FPC_USE_LIBC is defined
|
2024-01-04 22:26:15 +01:00 |
|
Michaël Van Canneyt
|
a224f8ded7
|
* Extended RTTI Type info routines and data structures
|
2024-01-02 07:09:23 +01:00 |
|
Michaël Van Canneyt
|
50d72bb559
|
* Define RTTI visibilities
|
2024-01-02 07:09:23 +01:00 |
|
Michaël Van Canneyt
|
c39e51485c
|
* Avoid range error in comparisons
|
2024-01-02 07:09:20 +01:00 |
|
Sven/Sarah Barth
|
30bf8047aa
|
* ensure that the field and method tables are always accessed with the default alignment
|
2024-01-02 07:09:20 +01:00 |
|
Sven/Sarah Barth
|
7eea850726
|
* TVmtFieldEntry.FieldOffset needs to be SizeUInt instead of PtrUInt, so that it works correctly on the various memory models of i8086 as well
+ added test
|
2024-01-02 07:09:19 +01:00 |
|
Sven/Sarah Barth
|
c74441323a
|
+ add descriptive comment regarding the TVmtField* types
|
2024-01-02 07:09:19 +01:00 |
|
Rika Ichinose
|
9d8b801e4c
|
Improve i386 fpc_shortstr_to_shortstr(), fpc_shortstr_compare(), and add fpc_shortstr_compare_equal().
|
2024-01-01 21:12:52 +00:00 |
|
Rika Ichinose
|
fca0ace070
|
Improve shortstring Pos() and generic fpc_shortstr_compare().
|
2024-01-01 21:12:52 +00:00 |
|
Rika Ichinose
|
0d5f7fa66b
|
Increase non-temporal i386 & x64 Fill* thresholds to 4 Mb.
|
2024-01-01 18:33:33 +00:00 |
|
Rika Ichinose
|
b7d32e4933
|
ERMSB-aware Fill* for i386.
|
2024-01-01 18:33:33 +00:00 |
|
Rika Ichinose
|
8310b169b7
|
Move ERMS branch into a separate function instead of runtime checks of fast_large_repmovstosb.
|
2023-12-31 09:54:09 +00:00 |
|
Rika Ichinose
|
f14aced9c5
|
Attempt to ERMS backward i386 ‘Move’s.
|
2023-12-31 09:54:09 +00:00 |
|
marcoonthegit
|
95dce3c5a8
|
*
|
2023-12-28 19:43:34 +01:00 |
|
Karoly Balogh
|
65234c674a
|
human68k: less fail in regenerating a Makefile
|
2023-12-23 16:05:32 +01:00 |
|
Karoly Balogh
|
7c3e792bc1
|
human68k: regenerated Makefile after the previous commit
|
2023-12-23 15:36:51 +01:00 |
|
Karoly Balogh
|
c38280ef3e
|
human68k: added a totally untested DOS unit to the RTL
|
2023-12-23 15:36:51 +01:00 |
|
Michaël Van Canneyt
|
ed000e6cd7
|
* Fix wrong TimeStampToMSecs result on 32-bit. Fixes issue #40522
|
2023-12-22 11:32:57 +01:00 |
|
Michaël Van Canneyt
|
29e2277d98
|
* Add CreateAnonymousThread with anonymous procedure
|
2023-12-18 16:53:14 +01:00 |
|
marcoonthegit
|
d91847f39c
|
* typo fix in previous commit relating to #40558
|
2023-12-14 09:59:04 +01:00 |
|
marcoonthegit
|
59883da0a0
|
* fix for drive existence in windows app modus, closes #40558
|
2023-12-14 09:37:42 +01:00 |
|
Rika Ichinose
|
ecc56d7e68
|
Attempt to save push/pop ebx on small non-GPR moves.
|
2023-12-10 13:26:39 +00:00 |
|
Rika Ichinose
|
0750777fc8
|
Supposedly better fastmove.inc.
|
2023-12-10 13:26:39 +00:00 |
|
Karoly Balogh
|
2648f8151d
|
human68k: implemented some trivial functions in sysutils
|
2023-12-08 06:52:01 +01:00 |
|
Jonas Maebe
|
49cb7b2564
|
LLVM: use llvm.dbg.declare instead of llvm.dbg.addr for variable declarations
Even though it's supposedly deprecated, clang also still uses it and without
the declaration ranges of local variables are sometimes cut off
|
2023-12-06 22:57:16 +01:00 |
|
Karoly Balogh
|
005cb5914c
|
human68k: implemented do_rename
|
2023-12-06 04:41:28 +01:00 |
|
Karoly Balogh
|
8ceeb8d165
|
human68k: pre-fetch the version number of the OS during startup. and store it for easy access
|
2023-12-06 04:41:28 +01:00 |
|
Karoly Balogh
|
34519c67a1
|
human68k: implemented do_chdir
|
2023-12-06 04:41:28 +01:00 |
|
Karoly Balogh
|
14cee4c152
|
human68k: implemented do_getdir (based on the Atari version)
|
2023-12-05 11:25:03 +01:00 |
|
Karoly Balogh
|
70839bd7f4
|
human68k: cosmetics, no functional change
|
2023-12-05 09:53:42 +01:00 |
|
Karoly Balogh
|
93a257ab29
|
human68k: try not to nuke immediately during argument parsing, if memory allocation fails
|
2023-12-05 09:52:52 +01:00 |
|
Karoly Balogh
|
e867fce883
|
human68k: implemented do_open (based on the Atari version)
|
2023-12-05 09:49:22 +01:00 |
|
Karoly Balogh
|
1e066ba0bd
|
human68k: one more rework after advices/reports from Pierre Muller, hopefully this fixes all remaning edge cases
|
2023-12-04 15:37:42 +01:00 |
|
Karoly Balogh
|
5c93f3e271
|
human68k: also fill the entire args buffer with zeros, for proper last argument termination
|
2023-12-03 23:49:51 +01:00 |
|
florian
|
3cd2cbcda8
|
* GetEpochTime (not used though it seems) should return time_t
|
2023-12-03 23:28:23 +01:00 |
|
Karoly Balogh
|
a009cc5c35
|
human68k: fixed argv[0] generation, after figuring out that length() is something very different to strlen()
|
2023-12-03 14:22:53 +01:00 |
|
Karoly Balogh
|
d7812f6c05
|
human68k: fix zero termination of the last argument
|
2023-12-03 14:22:53 +01:00 |
|
Karoly Balogh
|
1fdd4f8c90
|
human68k: actually, the comm field coming from the OS is in ph68kdos_comline format, so use it accordingly
|
2023-12-03 12:14:22 +01:00 |
|
Karoly Balogh
|
a4c94c8b44
|
human68k: more work on getting tinyheap right. still doesn't seem to work, sadly, so still disabled
|
2023-12-03 12:14:22 +01:00 |
|
Karoly Balogh
|
60473c7ead
|
human68k: parse the arguments passed to the program, fill out argc/argv, make ParamCount and ParamStr() to work
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
0b65c173b8
|
human68k: disable tinyheap, as there's some memory trashing going on with it, and use the regular one for now
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
d009941744
|
human68k: setup the stack, then use setblock to limit the memory usage to the amount we're really using. this frees up RAM, and allows the heap allocator to work.
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
932849c1bf
|
human68k: refactored some type naming used in the startup code
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
d85d6b4bac
|
human68k: handle the OS malloc returning errors properly
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
fef24dabd6
|
human68k: minimal DOS calls error handling/inoutres mapping
|
2023-12-03 09:54:05 +01:00 |
|
Karoly Balogh
|
7ecb19f906
|
human68k: fixed a dumb typo on the bss start calculation. fixes FPC binaries under run68.
|
2023-12-01 21:03:07 +01:00 |
|
Karoly Balogh
|
42abb3395a
|
human68k: implemented some basic file and I/O handling functions
|
2023-12-01 04:05:39 +01:00 |
|
Karoly Balogh
|
442e9d2573
|
human68k: RTL works enough now to run a hello, world!
|
2023-11-30 23:43:27 +00:00 |
|
Karoly Balogh
|
e55f6dbb08
|
human68k: actually tell the build system where the rtl directory is
|
2023-11-30 23:43:27 +00:00 |
|
Karoly Balogh
|
679f2f75b3
|
human68k: regenerated Makefiles
|
2023-11-30 23:43:27 +00:00 |
|
Karoly Balogh
|
c4c3c2a7aa
|
human68k: add an RTL skeleton, almost nothing is implemented yet
|
2023-11-30 23:43:27 +00:00 |
|
Karoly Balogh
|
7bcd8dc883
|
human68k: have a README for the RTL
|
2023-11-30 23:43:27 +00:00 |
|
Karoly Balogh
|
cde3dd3a87
|
m68k: first bit of a Human68k RTL - a very dummy startup code
|
2023-11-30 23:43:27 +00:00 |
|
Michaël Van Canneyt
|
ff8511f2f1
|
* Define INVALID_HANDLE_VALUE for Delphi compatibility
|
2023-11-29 15:03:12 +01:00 |
|
Michaël Van Canneyt
|
7e4aca384f
|
* Some delphi compatibility issues solved (PtrToNil and TGUID operator)
|
2023-11-29 14:34:27 +01:00 |
|
Rika Ichinose
|
6f8fb64d36
|
Fix a typo in CompareWord_Plain.
|
2023-11-28 22:17:20 +00:00 |
|
Rika Ichinose
|
1ec0326995
|
REP STOS branch for x64 Fill* (only for System V ABI for now).
|
2023-11-26 15:06:59 +00:00 |
|
Rika Ichinose
|
a4c324ee23
|
Fill* for x64, physically sharing half of the code with FillChar.
|
2023-11-26 15:06:59 +00:00 |
|
Rika Ichinose
|
b468793c63
|
Index/Compare refined by hand instead of mostly being GCC output.
|
2023-11-21 22:32:16 +00:00 |
|
Rika Ichinose
|
05b7ebd34e
|
Add Exchange<T> that works like std::exchange in C++.
|
2023-11-21 04:34:16 +03:00 |
|
florian
|
d287788b57
|
* patch by Rika to resolves #40531
|
2023-11-20 23:04:24 +01:00 |
|
florian
|
b164817e18
|
* check also for XGETBV support, resolves problem reported by Pierre
|
2023-11-20 22:55:25 +01:00 |
|
Pierre Muller
|
cbcc7c8d35
|
Revert wrong commit about PIC code for powerpc-linux
|
2023-11-20 22:08:19 +01:00 |
|
Michaël Van Canneyt
|
2d3cd5bff2
|
* Add CreateFmt constructor for EInOutArgumentException
|
2023-11-20 21:45:53 +01:00 |
|
Pierre Muller
|
2ad20b3787
|
Add pseudo PIC code for 32-bit powerpc, probably wrong :-(
|
2023-11-20 01:05:11 +03:00 |
|
Michaël Van Canneyt
|
6eac18e8c1
|
* Add some missing exception classes
|
2023-11-19 16:20:08 +01:00 |
|
florian
|
5be05044dd
|
* detect avx support also in the i386 system unit
|
2023-11-18 22:47:47 +01:00 |
|
florian
|
704ad21b23
|
+ centralized cpu capability detection
|
2023-11-18 22:28:50 +01:00 |
|
Rika Ichinose
|
c07f36b30b
|
Post-modern CompareByte for x86-64/SSE2.
|
2023-11-16 21:42:51 +00:00 |
|
Rika Ichinose
|
9f491a40c7
|
Post-modern CompareByte for i386/SSE2.
|
2023-11-15 22:13:01 +00:00 |
|
Michaël Van Canneyt
|
45021498cf
|
* Add unicode AnsiLastChar overload
|
2023-11-14 10:26:49 +01:00 |
|
Michaël Van Canneyt
|
ea63bfb32f
|
* Fix string type in AnsiLastChar declaration
|
2023-11-14 10:23:34 +01:00 |
|
Rika Ichinose
|
78368d4432
|
Specialized IndexQWord for i386.
|
2023-11-12 17:00:07 +00:00 |
|
ccrause
|
652f21b656
|
RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal).
|
2023-11-11 17:45:23 +00:00 |
|
Michaël Van Canneyt
|
9f62b33ef0
|
* Add ChangeFilePath
|
2023-11-10 18:14:03 +01:00 |
|
Michaël Van Canneyt
|
f0b714d5ad
|
* Add pthread_mutex_timedlock, sem_timedwait may be needed in future
|
2023-11-10 14:13:23 +01:00 |
|
Rika Ichinose
|
ce1a82a1e4
|
Add potentially required barriers to TEnconding.
|
2023-11-10 02:36:04 +03:00 |
|
marcoonthegit
|
b6999496a7
|
* add pointer variant fo createconsolescreenbuffer, move old VAR definition to redef for compat.
|
2023-11-09 14:17:14 +01:00 |
|
Michaël Van Canneyt
|
8fb39925eb
|
* Implement ListIndexError
|
2023-11-09 11:43:19 +01:00 |
|
Michaël Van Canneyt
|
972b961f2b
|
* Add delphi compatible constant
|
2023-11-09 11:23:13 +01:00 |
|
Michaël Van Canneyt
|
9b9623b289
|
* Fix wince/nativent compilation
|
2023-11-09 11:09:07 +01:00 |
|
Rika Ichinose
|
d04547eb83
|
Replace TEncoding.FLock with interlocked operations.
|
2023-11-09 09:11:00 +00:00 |
|
Michaël Van Canneyt
|
7bd8ac25d4
|
* Regen Makefiles with correct defines for some lineinfo units
|
2023-11-08 18:15:52 +01:00 |
|
Michaël Van Canneyt
|
ebed69e858
|
* Fix name of lineinfo
|
2023-11-08 17:12:37 +01:00 |
|
Michaël Van Canneyt
|
ab3b7f8f69
|
* Do not use namespace prefix for lnfodwarf
|
2023-11-08 17:08:03 +01:00 |
|
Michaël Van Canneyt
|
2f9c1e8be4
|
* line info may not use namespaces, referenced in compiler
|
2023-11-08 17:06:19 +01:00 |
|
Michaël Van Canneyt
|
2444c5ec79
|
* Not all OSes have NilHandle
|
2023-11-08 14:26:17 +01:00 |
|
Michaël Van Canneyt
|
b9ef7416f0
|
* Fix wrong typecast
|
2023-11-08 14:17:55 +01:00 |
|
Michaël Van Canneyt
|
0534810703
|
* Additional Delphi-compatible constant
|
2023-11-08 12:07:06 +01:00 |
|
Michaël Van Canneyt
|
14e9446c08
|
* Add ReadDouble
|
2023-11-08 12:04:53 +01:00 |
|
Michaël Van Canneyt
|
386f31ef4c
|
* Add TReader.ReadPrefix for Delphi compatibility
|
2023-11-08 11:56:12 +01:00 |
|
Michaël Van Canneyt
|
54d692c7d6
|
* Add SkipValue to TReader
|
2023-11-08 11:50:49 +01:00 |
|
Michaël Van Canneyt
|
d2f3426bda
|
* modeswitch needed
|
2023-11-08 11:29:44 +01:00 |
|
Michaël Van Canneyt
|
972b5181eb
|
* Delta stream support
|
2023-11-08 11:27:21 +01:00 |
|