Commit Graph

15822 Commits

Author SHA1 Message Date
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