Rika Ichinose
0b5998ee8b
Write two last values after 2× loops unconditionally instead of an extra check.
2024-02-10 22:47:40 +00:00
Rika Ichinose
e395166cb7
Check for Move overlaps in more obvious way (that also does no jumps in forward case).
2024-02-10 22:47:40 +00:00
marcoonthegit
78eb340a4f
* change elfid to 1400097 aka FreeBSD 14.0
2024-02-10 17:02:44 +01:00
Sven/Sarah Barth
244d3df869
* make Lazarus' CodeTools happy
2024-02-09 15:10:31 +01:00
Sven/Sarah Barth
75b5e8e63d
* fix #40603 :
...
- initialize thrdinfo record using Default() so that padding bytes are zeroed as well
- correctly pass the count of ULONG_PTRs
2024-02-09 15:08:27 +01:00
Michaël Van Canneyt
cde58d66fc
* Make GetEnumName safer, check actual type. Allow passing an integer
2024-02-06 18:04:44 +01:00
Michaël Van Canneyt
c9b7a3b3b5
* Use value for fmShareNoLocking which does not overlap with classes fmCreate
2024-01-30 13:35:54 +01:00
Pierre Muller
57e74e0c8b
Regenerated Makefile's after: Add linux dependency on syscall unit for libc on i386 and x86_64
2024-01-29 11:20:47 +00:00
Pierre Muller
2e6a31df8b
Add linux dependency on syscall unit for libc on i386 and x86_64
2024-01-29 11:20:09 +00:00
Michaël Van Canneyt
c3339e9a51
* Prevent file handle leak
2024-01-28 11:30:37 +01:00
Michaël Van Canneyt
e79f5ef577
* Introduce fmShareNoLocking to disable locking of file descriptors on unix
2024-01-28 11:30:37 +01:00
Rika Ichinose
48815baef6
Load oleaut32.dll for widestrings on demand.
...
Most of the applications don’t and shouldn’t use widestrings, as unicodestrings are superior.
2024-01-26 22:09:41 +00:00
florian
acb6c7f36b
* win64 has always SetThreadStackGuarantee
2024-01-26 21:42:26 +01:00
Rika Ichinose
a774075f2f
Support Windows XP where SetThreadStackGuarantee is absent.
2024-01-26 16:57:49 +03:00
florian
a2f2af87d2
* Windows CE does not support SetThreadStackGuarantee
2024-01-25 22:06:13 +01:00
florian
14ab1cfb71
* set stack margin on windows, so there is stack space left for exception handling in case of a stack overflow, resolves #40589
2024-01-24 21:31:03 +01:00
Sven/Sarah Barth
4aeb1ee223
* fix implementation comment
2024-01-22 22:27:33 +01:00
florian
40072fb762
* defines fixed
2024-01-22 22:14:06 +01:00
florian
e0a5d07e37
+ manually added new syscalls to i386-android
2024-01-21 21:14:57 +01:00
florian
dc5041d778
* fix compilation for mipsel-android (hopefully)
2024-01-21 11:32:28 +01:00
florian
3cd7c675b1
* manually added newer syscall numbers for arm-android
2024-01-20 14:10:40 +01:00
florian
785e259e62
* compilation on linux with FPC_USE_LIBC fixed
2024-01-19 23:45:07 +01:00
florian
185a346744
* fix darwin compilation after TTimespecArr changes
2024-01-18 22:19:42 +01:00
Michaël Van Canneyt
e9c6f1c152
* Delphi-compatible overloads UTF8ToUnicodeString
2024-01-18 09:32:15 +01:00
florian
54dba5738c
* cleaned up TTimespecArr declarations
2024-01-17 23:25:03 +01:00
florian
4dc4d2b2ba
* use TTimespecArr instead of tkernel_timespecs in sysutils
2024-01-17 23:25:03 +01:00
marcoonthegit
231007ebda
* check length of optstring before dereferencing (optstring[1]) it. Fixes #40596
2024-01-17 11:41:16 +01:00
Sven/Sarah Barth
21ffa221e6
* fix #40595 : correctly access the list of parameters of the extended method table
...
+ added test
2024-01-15 23:14:38 +01:00
florian
b81f92536d
* avoid that fpc_fillmem does not inline due too much nested calls
2024-01-15 22:42:53 +01:00
Sven/Sarah Barth
dd4f7e9148
* fix #40592 : make the Delphi-compatible attributes usable, but in a way that makes it clear to the user that they won't work
...
+ added test
2024-01-15 22:29:47 +01:00
Sven/Sarah Barth
38ca4f9157
* remove semicolon to make Lazarus happy
2024-01-15 22:29:47 +01:00
florian
9ee2eee293
* fix utimensat and utimensat if the rtl is compiled with -dFPC_USE_LIBC
2024-01-15 21:56:40 +01:00
florian
654d75b777
* fix bootstrapping with with 3.2.2 and -dFPC_USE_LIBC
2024-01-15 21:56:09 +01:00
florian
9bb6a32c62
* avoid wrong warning about FillChar not initializing the output parameter in case count <= 0
2024-01-15 21:54:11 +01:00
Michaël Van Canneyt
af3ebf1464
* Change GetSystemTimes signature to be delphi compatible, implement for linux
2024-01-15 15:41:49 +01:00
Pierre Muller
81ae7063f3
Add new DragonFly OS syscall number up to release 6.4.0 (v6.4.0 tag on https://gitweb.dragonflybsd.org/dragonfly.git )
2024-01-15 15:18:56 +01:00
Michaël Van Canneyt
49100cc42b
* Add Current and CurrentIsMain
2024-01-15 14:19:53 +01:00
Pierre Muller
f506df022e
Add missing syscall_nr_futimens for NetBSD OS
2024-01-15 10:00:55 +01:00
florian
774e0f9122
+ support for fputimens on non-linux OSes
...
* reworked fputimens support on linux
+ FileSetDate for all unix OSes
2024-01-14 22:23:11 +01:00
Rika Ichinose
e4a0b1adb4
Use ERMS in all eligible cases, again.
...
Namely, when Move.count > NtThreshold but move distance is too short. 8310b169b7
messed with the logic and made this case fall back to a regular loop instead of more preferable ERMS.
2024-01-11 21:51:44 +00:00
Michaël Van Canneyt
c2383fc207
* Correct casing. Fixes #40589
2024-01-10 09:43:51 +01:00
Pierre Muller
2c622e2fe6
* rtl/macos/dos.pp: Remove unused unixutil in _USES clause of rtl/macos/dos.pp source.
...
* rtl/macos/Makefile.fpc: Update dependency list DOS_DEPS: remove unixutil and add missing macostp.
* rtl/macos/Makefile: Regenerate.
2024-01-09 11:42:18 +01:00
Karoly Balogh
6ef3aef5f2
m68k-sinclairql: regenerated Makefile
2024-01-08 02:22:15 +01:00
Karoly Balogh
21156bc5d3
m68k-sinclairql: fixed the installation of many units that are otherwise built
2024-01-08 02:22:15 +01:00
Karoly Balogh
a1863d8dc8
m68k-sinclairql: also build the various softfpu flavors for the QL
2024-01-08 02:22:15 +01:00
Karoly Balogh
be4e5f240c
m68k-sinclairql: make heaptrc compile for the QL
2024-01-08 02:22:15 +01:00
Karoly Balogh
3b7a347169
m68k-human68k: regenerated Makefile
2024-01-08 02:22:15 +01:00
Karoly Balogh
919b556049
m68k-human68k: fix installation of sysconts and heaptrc units
2024-01-08 02:22:15 +01:00
Pierre Muller
3edd92dab1
Examinc OPT and CROSSOPT instead of FPCOPT in [prerules] to check if syscall unit needs objpas dependency
2024-01-07 23:23:49 +01:00
Sven/Sarah Barth
170c05592b
* ensure that the legacy method table has the correct alignment on platforms that require it (e.g. SPARC64)
2024-01-07 18:09:51 +01:00
Pierre Muller
9dc75c3005
Avoid double declaration of seterrno
2024-01-07 14:40:04 +01:00
Pierre Muller
b1e1a107d3
Fix compilation of syscall unit for i386-beos target
2024-01-07 14:13:03 +01:00
Rika Ichinose
35345fe145
Fix FillQWord_SSE2 stack usage.
2024-01-06 21:18:56 +00:00
Michaël Van Canneyt
29f2f12496
* Some code cleanup in Extract* functions. Fixes issue #40587
2024-01-06 21:42:03 +01:00
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