Description: rtl/linux and rtl/unix

This file as text.
(active) Revisions in this set:
e949276d9d91fa49e88f014bbb97b8cbf0ea39cd,9c041afc7c11e9d47a1f866e09881237f0817a71,31ae109a317d480dec469a000603d82f58d813b7
32121de8aea0dfd64109f73696ed7530285fdbe1,dc681a75ecdd001fe5f3ce6d245f3c83651e35e5,f0213a2c46a9fd1ea047da6c8f54b78823ef9c71
693e72ade31fda191fac405b81dd5f28afc6e47a,bd35c02257c37ef18d28df181583205ce126fa69,c189af0e3d8e1c5293e9b3f0aa11092cd262d976
9bd19b050b3b5edce7d6d1cb98c6ec87528e3620,6929da66a87b0185fe1f2d3762a189ed5b44fbf2,3335104da26fd1750f200cbdcbd815a56856b217
3b39ec84e46f32eba0d2d328391f7b67595f8e9a,7b4ef925f0502e4627d3a7a4bcfa8846be89852c,4888c379c433c51d7dfa68adff8d69d785cff9a0
4d25558519f9662785c16ef3717f11e1716c1617,eb6f503badb9d8f5475ad81f1146466090c98b09,9f60f5093d0754474dfb49550a3842dbbcc431f6
04cbf32b1ba789ff52f5669af195cffddfc39ff3,48cc5250f9c17a1dafa3ecb4ec6b43501d557566,313790502da4de79b8c7b67c1d5e5df59025e923
b49aa071ca8e4d2396afee7a85cdf34695a664d8,277d98431c0aa3a72664b639fcc02124bf870a14,288c7e3c9eeea0b079dafe0f73c98c23426eb968
2b023c62c5bd7877c890a7701b38fd3275d0af93,f316121d53dcb540390ca8fcda64a67e53cf0f17,8a543dbc8ad339c0a2693a2df1848a5bb070a06a
f80bd9b034171030819d9ff7efb0f45de375c1e4,1fdf940d0b2937969df7ce2c7fa14a27bef30e62,a36caf90435ae9ebdf620d75efffcbea057c0e07
7ad4694e4bd4f2b369b0599b880ad0b9b3031aca,e154b9933fc030f4f4e894c48c91b026f688f8c0,7b88d1127ff9e4d011b4ad4cab8dac70e190811f
a33256c1fbd5896ef346b95fb95ef966361afd92,91229dcee9f6b783f7268da54aec3fe416735657,6854f171d1ab1e7bbe3916d29b0e379e21e75f4e
f982317ebd3fbbd180f354b72dad502d8e5f694b,d2b0bcdf1fbc5426b6f4c2331f3ea34cb38f99cc,359bb64aedafca34fee136e053b69a897b9c428a
efe6b32638c26cdd511b8ed35ffa9074817dcf20,83a1f5fbc3f60760e36fa2832648b82690543b45,0055023394e23271b641f9bcfc38606b6b4e4f36
91586331b550f102ee2a90e460807b75177ceb2d,3a0eb110ec513fad178844309b16d66347f7525d,71c314d7d498c6c346f11f5f703272a2307bac1e
5e7a512777b6c1ca9aa544fedcf5c28c7f42b87c,5afa26ddd1e80d78959af421ff64edf756e5ab13,bb97c5ab693b170a31bb7844d2bcff1e809da1f0
b7fe338bbee54f18f2ed4e7bb44883972a5e2fbc,d0b1402e103cec251219270215591240103d8bd3,0ed69fc662821756b873ad3bf9e81fd0c26ca9e4
aca327d7873f16e89b3ed89846c1a91b6e2cf0ca,f8c92914c2f33be7a3f53b4278b50792c9c73b13,7baf2461f06eb90429c07950459801e93d286b05
e1a739d15d6e344727b196890e8afb0b0bd235ea,d5b368988f34e631d2e065971713690fb691ebf3,644263277fe49d9be901527f02d8aa0170c840a2
0b2a58027c3171a3ba2962d472653e2f8839e1f2,d42f577a3ff2bd02b6ce709b6c89bf6fc08b32ae,1fce64fa0a780d4b0753eae79c2ae172ca8fb58e
727e25e93eea38a44e493722a9aa74aeb7333f6a,1f328cf362768d56dfe6101661209e6aeffdded5,8c251db2c1bb15d4f9ee8ef84a6998babca199f1
fd83fd5779e5f19373202c57209f648bae072640,0758aa1143a6498532b3d100ed15edd63ca878b6,75c252fd8f754788a4ab2f9ca8da110f6dd6aa86
f1abd2c2f00c69ae25a02df3d06d394c8dfdb546,88ae6721c65e5eb62e16627c6ec9555674c6f04c,1ded960fc8da793f1339ad7cb2a752b0a7af6f97
45b5f58c4ae667abe3541fc213540ab9922743f2,4c2b54ee0d9c3ced0b6ed6d8e9f1535fec82add9,4c529287c66689ee5e750abf4e34acab9d439511
9d6a495c0272124f134dbe93ae0c7f9ee0f09b38,0d0317b3af32e7d366acb8000607a1797fa6c5af,96c83e7f39d2f02d5ab26a18fc5031e22c6e139e
bf3ced76b244385edbadeea1c9d2c7c19f48c5a5,0641ea33d1fea5499d414dd8d4e95c509bb3270a,a06c034189304457633b01adbc978231674b7498
3e3b96e08878da9b828a3530b0f70bfd2bcf376f,a304962ea04633be422527bbe64c44cf635450b1,0efa4cbc678f8c9fd6baa09eb9386858522bacb4
bcf7701887088598606eca13de251f7d0eab60c7,bad62d51fa1eb41ea7ab811df5b12617abb433a7,2928837225267b3fc95acffe029712c61a6a8c48
f202dda5c5d9c2f8dd82c4d36c376659017eccb4,6ef31c643abc5ce46651ef4f6ddb3ba4ff1e8621,a3a827eba5593f57bae6d0131b18bdd5cd7b071c
fcb5cf42bfd26e076628902778c65f7d6cc3b7ec,75338da133a5c278bab44a4acb85076912fe0abe,c09e8778bdfc30e9dd669a6ba6d18de952befcaf
bc641cc76be7375eba14e343c300476d5af95f4c,0f0454a0921b31cbf80dc52b83a06f8860d1cd06,25c75b1784d0a0d37337c15810fc7fe462a96bbe
ab3b7f8f69bad57e6ff9e664ac60f326d390bb6d,f0b714d5adaa8a660aeaad55d73d6bdbc9805804,95dce3c5a81679ca919411aec27b6fb94199aaef
c11772decaa00925feb543aac383c01da0ad918b,2cb7e44a1bd86b4a43e7fa777acd8a5d21798d9a,7c9cf75418b9fc60c968820df62a77f162e4d213
37ffd4051a1a31acdd8735ddd4758a8172a9b422,774e0f912213dcba17d6f0e0a876d0b243f47df4,9dc75c300538a724d4dcf61b5a9b763dbcedcb7e
3edd92dab1e1aa6968985903761bceaa879b14e5,f506df022e10bbba50e997c925c93b9e750bb39a,654d75b777565fa55c9694c0c67e16e44e8e00ea
9ee2eee293a157ca05a90344feb82518ed7d7ebe

Clicking a revision will expand files
 


* basic implementation for pure pascal programs to allocate tls space
Commit consists out of
  • M rtl/linux/arm/prt0.as
  • M rtl/linux/arm/syscall.inc
  • M rtl/linux/system.pp


* disable generic threadvar handling if section thread vars are available
Commit consists out of
  • M rtl/inc/threadvr.inc
  • M rtl/unix/cthreads.pp


* properly initialize phdr and phnum
Commit consists out of
  • M rtl/linux/system.pp


* do not call InitTLS when a compiler is used which does not include the abi tag section
Commit consists out of
  • M rtl/linux/i386/si_prc.inc


* properly return from the signal handler on ARM/Linux instead of calling
HandleErrorAddrFrame directly (fixes psabieh exception handling, and
generally is cleaner)
Commit consists out of
  • M rtl/linux/arm/sighnd.inc


+ make use of the mremap syscall of linux to re-allocate large memory blocks faster
Commit consists out of
  • M .gitattributes
  • M rtl/inc/heap.inc
  • M rtl/linux/ossysc.inc
  • M rtl/unix/sysheap.inc
  • A tests/test/theap2.pp


* Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap
+ added sysrealloc support for Darwin (Darwin does not have mremap)
Commit consists out of
  • M .gitattributes
  • M rtl/bsd/sysos.inc
  • M rtl/bsd/system.pp
  • A rtl/darwin/sysmach.inc
  • M rtl/unix/sysheap.inc


* cosmetics: indention
Commit consists out of
  • M rtl/linux/i386/si_prc.inc


* improved software floating point exception handling in the rtl
Commit consists out of
  • M rtl/arm/arm.inc
  • M rtl/arm/mathu.inc
  • M rtl/arm/thumb.inc
  • M rtl/inc/genmath.inc
  • M rtl/linux/arm/sighnd.inc


Also use syscall_nr_fstatat for FpStat function for riscv32 cpu
Commit consists out of
  • M rtl/linux/ossysc.inc


+ Enable FPU exception handling for m68k processor
Commit consists out of
  • M rtl/linux/system.pp


* get paramstr(0) only if really needed
Commit consists out of
  • M rtl/linux/system.pp


Examine all exception bits in m68k fpsr register to decide which into which run time error it is converted
Commit consists out of
  • M rtl/linux/m68k/sighnd.inc


* attempt at crt1 translation to get freebsd 12 running.
Commit consists out of
  • M .gitattributes
  • A rtl/freebsd/csucommon/ignore_init.inc
  • M rtl/freebsd/si_crt.pp
  • M rtl/freebsd/si_intf.inc
  • A rtl/freebsd/x86_64/reloc.inc
  • M rtl/freebsd/x86_64/si_c.inc


Use same field type and name as in /ust/include/sys/stat.h
Commit consists out of
  • M rtl/linux/powerpc/stat.inc
  • M rtl/linux/powerpc64/stat.inc


* Use off_t type for l_start and l_end fields instead of kernel_off_t
+ Distinguish rlim_t type depending on fs32bit macro being set or not.
Commit consists out of
  • M rtl/linux/ostypes.inc


* fix O_LARGEFILE for Aarch64, RISC-V 32-bit and RISC-V 64-bit
Commit consists out of
  • M rtl/linux/ostypes.inc


F_GetLk/SetLk have different values for sparc/sparc64
Commit consists out of
  • M rtl/linux/ostypes.inc
  • M tests/tbs/tb0561a.pp
  • M tests/tbs/tb0561b.pp


* rename local import of fpc_geteipasebx
Commit consists out of
  • M rtl/linux/i386/syscall.inc


* fpc_geteipasebx and fpc_geteipasecx are used as procedures, not functions, so declare them as such
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/linux/i386/si_prc.inc


* linux-m68k: depend on FPU defines to compile FPU code, instead of CPU68020. also, minor cosmetics
Commit consists out of
  • M rtl/linux/m68k/sighnd.inc
  • M rtl/linux/m68k/sighndh.inc


* linux: fix some formatting in ostypes.inc, no functional change
Commit consists out of
  • M rtl/linux/ostypes.inc


* linux: use ugetrlimit syscall on m68k for rlimits retrieval. this fixes fpgetrlimit() call, and stack checking on Linux/m68k (tstack.pp test), at least on anything newer than kernel 2.4+ (2001)
Commit consists out of
  • M rtl/linux/osdefs.inc


* Do_IsDevice treats pipes and sockets the same way as character devices
Commit consists out of
  • M rtl/aix/sysos.inc
  • M rtl/beos/sysos.inc
  • M rtl/bsd/sysos.inc
  • M rtl/emx/sysfile.inc
  • M rtl/gba/sysfile.inc
  • M rtl/haiku/sysos.inc
  • M rtl/linux/sysos.inc
  • M rtl/nds/sysfile.inc
  • M rtl/os2/sysfile.inc
  • M rtl/solaris/sysos.inc
  • M rtl/win/sysfile.inc
  • M rtl/win16/sysfile.inc


Do not set __USE_LARGEFILE64 macro for sparc CPU, as it does not seem to be used for regular linux kernels
Commit consists out of
  • M rtl/linux/ptypes.inc


Add handling of extra parameters, using eval if equal sign is found.
+ Add TMP_DIR variable and use it.
* Only remove temp files if verbose is not set.
Commit consists out of
  • M rtl/unix/scripts/check_rtl_types.sh


Use RTE 207 for FPU_Invalid and FPU_Denormal exceptions on i386/x86_64 beos/haiku/*bsd as for Linux
Commit consists out of
  • M rtl/beos/i386/sighnd.inc
  • M rtl/freebsd/i386/sighnd.inc
  • M rtl/freebsd/x86_64/sighnd.inc
  • M rtl/haiku/i386/sighnd.inc
  • M rtl/haiku/x86_64/sighnd.inc
  • M rtl/netbsd/i386/sighnd.inc
  • M rtl/netbsd/x86_64/sighnd.inc
  • M rtl/openbsd/i386/sighnd.inc
  • M rtl/openbsd/x86_64/sighnd.inc


Fix typo in script comment
Commit consists out of
  • M rtl/unix/scripts/check_rtl_types.sh


Fix compilation failure of i386-netbsd target after last commit
Commit consists out of
  • M rtl/netbsd/i386/sighnd.inc


Unix LocalToEpoch: fix typo
Commit consists out of
  • M rtl/unix/unix.pp


* remove the BaseUnix dependency added by mistake
Commit consists out of
  • M rtl/unix/unixutil.pp


Add some types and records to rtl/linux/t_linux.h2paschk and set macro _LARGEFILE64_SOURCE for __i386__ C code
Commit consists out of
  • M rtl/linux/t_linux.h2paschk


* remove unused file
Commit consists out of
  • M .gitattributes
  • D rtl/linux/m68k/cprt21.as


* cwstring: try to load the iconv library with .6 suffix as well
Commit consists out of
  • M rtl/unix/cwstring.pp


* cwstring: open iconv with the transliterate flag instead of setting it later with iconvctl because it may be unavailable
Commit consists out of
  • M rtl/unix/cwstring.pp


* revert 0047631: cwstring: open iconv with the transliterate flag instead of setting it later with iconvctl because it may be unavailable
Commit consists out of
  • M rtl/unix/cwstring.pp


* cwstring: open iconv with the transliterate flag if iconvctl is not available
Commit consists out of
  • M rtl/unix/cwstring.pp


+ linux implementation of System.GetCPUCount
Commit consists out of
  • M rtl/linux/ossysc.inc
  • M rtl/linux/ostypes.inc
  • M rtl/linux/system.pp


* if the Linux target is compiled with FPC_USE_LIBC the initialization of TLS is not required (according to one comment by Florian), so disable all related code in that case (as for example the syscall numbers are not available then)
Commit consists out of
  • M rtl/linux/i386/si_prc.inc
  • M rtl/linux/si_impl.inc
  • M rtl/linux/system.pp
  • M rtl/linux/x86_64/si_prc.inc


+ add declaration of FpSchedGetAffinity when the Linux target is compiled with FPC_USE_LIBC
Commit consists out of
  • M rtl/unix/oscdeclh.inc


Also set __stkptr inside cprt0.as startup assembly source
Commit consists out of
  • M rtl/linux/mips/cprt0.as
  • M rtl/linux/mips/prt0.as


Also set __stkptr inside cprt0.as and dllprt0.as startup assembly sources
Commit consists out of
  • M rtl/linux/m68k/cprt0.as
  • M rtl/linux/m68k/dllprt0.as


* x86_64-linux: assembler helpers syscalls do not need a stackframe
Commit consists out of
  • M rtl/linux/x86_64/syscall.inc


* FPC_VERSION => FPC_FULLVERSION
Commit consists out of
  • M rtl/linux/arm/sighnd.inc


* another FPC_VERSION => FPC_FULLVERSIOn fix
* switch back to 32 Bit mode if no thumb code is generated
Commit consists out of
  • M rtl/linux/arm/sighnd.inc


* arm-linux: sighnd.inc must check for CPUTHUMB and CPUTHUMB2
Commit consists out of
  • M rtl/linux/arm/sighnd.inc


* fix compilation for CPUs without thumb
Commit consists out of
  • M rtl/linux/arm/sighnd.inc


+ RiscV: set threadvarblocksize
* sanity check if threadvarblocksize is really set
Commit consists out of
  • M rtl/unix/cthreads.pp


* mips and xtensa compilation fixed
Commit consists out of
  • M rtl/unix/cthreads.pp


* fix for Mantis 0037252: apply patch by Bi0T1N to implement TThread.NameThreadForDebugging for Mac OS X 10.6 and newer (older versions don't provide the required functions)
Commit consists out of
  • M rtl/darwin/pthread.inc
  • M rtl/unix/cthreads.pp


Fix compilation with 3.2.2 release for arm and i386 CPUs
Commit consists out of
  • M rtl/linux/system.pp


+ added baud rate constants for arm as proposed by Piotr Kardasz in 0039101
Commit consists out of
  • M rtl/linux/termios.inc


* indention fixed
Commit consists out of
  • M rtl/linux/termios.inc


* check paramstr argument for negative values, resolves gitlab 0039410
Commit consists out of
  • M rtl/aix/system.pp
  • M rtl/beos/system.pp
  • M rtl/bsd/system.pp
  • M rtl/haiku/system.pp
  • M rtl/linux/system.pp
  • M rtl/nds/system.pp
  • M rtl/solaris/system.pp
  • M rtl/wii/system.pp


FreeBSD CSU fixes

* Assembler blocks in non-pure assembler functions must always declare all
changed registers
* argc is read as *(long*) in C -> changed plongint to pptrint
* fixed ident section
Commit consists out of
  • M rtl/freebsd/x86_64/reloc.inc
  • M rtl/freebsd/x86_64/si_c.inc


LLVM: add Read/WritePort* implementations

Fixes Unix graph compilation on x86 with LLVM
Commit consists out of
  • M rtl/unix/x86.pp


* clean up of assembler files not used anymore
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc
  • D rtl/linux/x86_64/cprt0.as
  • D rtl/linux/x86_64/dllprt0.as
  • D rtl/linux/x86_64/gprt0.as
  • D rtl/linux/x86_64/prt0.as


* powerpc64-linux: unused assembler loader files removed
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc
  • D rtl/linux/powerpc64/cprt0.as
  • D rtl/linux/powerpc64/dllprt0.as
  • D rtl/linux/powerpc64/gprt0.as
  • D rtl/linux/powerpc64/prt0.as


+ additional skeleton files for mips64
Commit consists out of
  • A rtl/linux/mips64/sighndh.inc
  • A rtl/linux/mips64/stat.inc
  • A rtl/linux/mips64/syscall.inc
  • A rtl/linux/mips64/syscallh.inc
  • A rtl/linux/mips64/sysnr.inc
  • A rtl/linux/mips64el/sighndh.inc
  • A rtl/linux/mips64el/stat.inc
  • A rtl/linux/mips64el/syscall.inc
  • A rtl/linux/mips64el/syscallh.inc
  • A rtl/linux/mips64el/sysnr.inc
  • A rtl/mips64/math.inc
  • A rtl/mips64/setjumph.inc
  • A rtl/mips64el/setjumph.inc


Disable range and overflow checks inside detect_linuxvcs procedure
Commit consists out of
  • M rtl/linux/linuxvcs.pp


* make __lib_csu* weak symbols on m68k-linux
Commit consists out of
  • M rtl/linux/m68k/cprt0.as


Darwin: use recent versions of stat(fs) records when available

When the RTL is built for Mac OS X 10.6 or newer, use the new versions
and the corresponding alternate system library functions.

Also extracted the Darwin stat record definition to reduce the
ifdef hell.
Commit consists out of
  • M rtl/bsd/ostypes.inc
  • M rtl/darwin/ptypes.inc
  • M rtl/unix/oscdeclh.inc
  • M rtl/unix/unxdeclh.inc


Darwin: fix compilation on macOS/AArch64 after 1f328cf3

No function suffixes there since there's no backward compatibility issue.
Commit consists out of
  • M rtl/unix/oscdeclh.inc
  • M rtl/unix/unxdeclh.inc


m68k-linux: try to be as ColdFire compatible in the startup code as possible, so explicitly use jsr, otherwise this might compile to a long bsr, that is not CF compatible (except cfv4)
Commit consists out of
  • M rtl/linux/m68k/prt0.as


FPU exception mask: generlised system unit interface
Commit consists out of
  • M rtl/aarch64/aarch64.inc
  • M rtl/aarch64/cpuh.inc
  • M rtl/aarch64/mathu.inc
  • M rtl/aix/system.pp
  • M rtl/arm/arm.inc
  • M rtl/arm/cpuh.inc
  • M rtl/arm/mathu.inc
  • M rtl/arm/thumb.inc
  • M rtl/arm/thumb2.inc
  • M rtl/avr/avr.inc
  • M rtl/i386/cpuh.inc
  • M rtl/i386/i386.inc
  • M rtl/i386/math.inc
  • M rtl/i8086/cpuh.inc
  • M rtl/i8086/i8086.inc
  • M rtl/i8086/math.inc
  • M rtl/inc/dynlib.inc
  • M rtl/inc/generic.inc
  • M rtl/inc/mathh.inc
  • M rtl/inc/system.inc
  • M rtl/inc/thread.inc
  • M rtl/java/jsystem.inc
  • M rtl/java/jsystemh.inc
  • M rtl/jvm/cpuh.inc
  • M rtl/jvm/jvm.inc
  • M rtl/linux/powerpc/sighnd.inc
  • M rtl/linux/powerpc64/sighnd.inc
  • M rtl/m68k/cpuh.inc
  • M rtl/m68k/m68k.inc
  • M rtl/mips/cpuh.inc
  • M rtl/mips/mathu.inc
  • M rtl/mips/mips.inc
  • M rtl/mips64/cpuh.inc
  • M rtl/powerpc/cpuh.inc
  • M rtl/powerpc/mathu.inc
  • M rtl/powerpc/powerpc.inc
  • M rtl/powerpc64/cpuh.inc
  • M rtl/powerpc64/mathu.inc
  • M rtl/powerpc64/powerpc64.inc
  • A rtl/ppcgen/ppcfpuex.inc
  • A rtl/ppcgen/ppcmathu.inc
  • M rtl/riscv/riscv.inc
  • M rtl/riscv32/cpuh.inc
  • M rtl/riscv32/riscv32.inc
  • M rtl/riscv64/cpuh.inc
  • M rtl/riscv64/mathu.inc
  • M rtl/riscv64/riscv64.inc
  • M rtl/sparc/cpuh.inc
  • M rtl/sparc/mathu.inc
  • M rtl/sparc/sparc.inc
  • M rtl/sparc64/cpuh.inc
  • M rtl/sparc64/mathu.inc
  • M rtl/sparc64/sparc64.inc
  • M rtl/wasm32/cpuh.inc
  • M rtl/wasm32/wasm32.inc
  • M rtl/x86_64/cpuh.inc
  • M rtl/x86_64/math.inc
  • M rtl/x86_64/x86_64.inc
  • M rtl/xtensa/cpuh.inc
  • M rtl/xtensa/xtensa.inc
  • M rtl/z80/cpuh.inc
  • M rtl/z80/z80.inc
  • A tests/webtbs/tw38230.pp


* Extra linux fcntl constants
Commit consists out of
  • M rtl/linux/ostypes.inc


Linux: fix pthread types

Remove legacy implementation-specific fields (they don't match the current
glibc fields anymore since a long time) and fix alignment fields (they are
union fields that overlap with the rest of the record).

All platforms now use the modern opaque array-based definitions.
Commit consists out of
  • M rtl/linux/pmutext.inc
  • M rtl/linux/ptypes.inc


Linux mutex: restored the __m_kind field

This particular field is at the same offset on all architectures with the same
bit width, and is guaranteed by glibc to remain at this offset for backward
compatibility with static initialisers.

Resolves gitlab 0040021
Commit consists out of
  • M rtl/linux/pmutext.inc


* Char -> AnsiChar
Commit consists out of
  • M rtl/freebsd/aarch64/si_c.inc
  • M rtl/freebsd/console.pp
  • M rtl/freebsd/csucommon/ignore_init.inc
  • M rtl/freebsd/errnostr.inc
  • M rtl/freebsd/freebsd.pas
  • M rtl/freebsd/i386/si_crt.inc
  • M rtl/freebsd/i386/x86.inc
  • M rtl/freebsd/pthread.inc
  • M rtl/freebsd/ptypes.inc
  • M rtl/freebsd/si_intf.inc
  • M rtl/freebsd/signal.inc
  • M rtl/freebsd/sysctlh.inc
  • M rtl/freebsd/termios.inc
  • M rtl/freebsd/unxsysc.inc
  • M rtl/freebsd/x86_64/si_c.inc


* Char -> AnsiChar
Commit consists out of
  • M rtl/netbsd/errnostr.inc
  • M rtl/netbsd/pmutext.inc
  • M rtl/netbsd/pthread.inc
  • M rtl/netbsd/ptypes.inc
  • M rtl/netbsd/signal.inc
  • M rtl/netbsd/sysctlh.inc
  • M rtl/netbsd/systypes.inc
  • M rtl/netbsd/termios.inc
  • M rtl/netbsd/unxsysc.inc


* Char -> AnsiChar
Commit consists out of
  • M rtl/linux/bunxsysc.inc
  • M rtl/linux/errnostr.inc
  • M rtl/linux/fpcylix.pp
  • M rtl/linux/i386/si_c.inc
  • M rtl/linux/i386/si_c21.inc
  • M rtl/linux/i386/si_uc.inc
  • M rtl/linux/i386/syscall.inc
  • M rtl/linux/linux.pp
  • M rtl/linux/linuxvcs.pp
  • M rtl/linux/mips64/si_c.inc
  • M rtl/linux/osmacro.inc
  • M rtl/linux/ossysc.inc
  • M rtl/linux/ostypes.inc
  • M rtl/linux/pmutext.inc
  • M rtl/linux/powerpc64/si_c.inc
  • M rtl/linux/powerpc64/si_dll.inc
  • M rtl/linux/powerpc64/si_g.inc
  • M rtl/linux/powerpc64/si_prc.inc
  • M rtl/linux/pthread.inc
  • M rtl/linux/ptypes.inc
  • M rtl/linux/riscv64/si_c.inc
  • M rtl/linux/riscv64/si_g.inc
  • M rtl/linux/si_intf.inc
  • M rtl/linux/sparc64/si_c.inc
  • M rtl/linux/sysosh.inc
  • M rtl/linux/system.pp
  • M rtl/linux/termio.pp
  • M rtl/linux/termios.inc
  • M rtl/linux/unxsysc.inc
  • M rtl/linux/unxsysch.inc
  • M rtl/linux/x86_64/si_c.inc
  • M rtl/linux/x86_64/si_g.inc
  • M rtl/linux/xtensa/si_c.inc


* string -> shortstring
Commit consists out of
  • M rtl/emx/system.pas
  • M rtl/inc/flt_core.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/text.inc
  • M rtl/netware/dynlibs.inc
  • M rtl/os2/system.pas
  • M rtl/unix/sysunixh.inc


* string -> shortstring
Commit consists out of
  • M rtl/linux/suuid.inc
  • M rtl/linux/system.pp


* string -> shortstring
Commit consists out of
  • M rtl/linux/termio.pp


* move $H here
Commit consists out of
  • M rtl/amicommon/classes.pp
  • M rtl/atari/classes.pp
  • M rtl/beos/classes.pp
  • M rtl/embedded/classes.pp
  • M rtl/freertos/classes.pp
  • M rtl/gba/classes.pp
  • M rtl/go32v2/classes.pp
  • M rtl/haiku/classes.pp
  • M rtl/macos/classes.pp
  • M rtl/msdos/classes.pp
  • M rtl/nativent/classes.pp
  • M rtl/nds/classes.pp
  • M rtl/netware/classes.pp
  • M rtl/netwlibc/classes.pp
  • M rtl/os2/classes.pp
  • M rtl/sinclairql/classes.pp
  • M rtl/symbian/classes.pp
  • M rtl/unix/classes.pp
  • M rtl/wasi/classes.pp
  • M rtl/watcom/classes.pp
  • M rtl/wii/classes.pp
  • M rtl/win16/classes.pp
  • M rtl/win32/classes.pp
  • M rtl/win64/classes.pp
  • M rtl/wince/classes.pp


* Remove use of internal conversion routines
Commit consists out of
  • M rtl/unix/cwstring.pp


Both _STAT_VER_KERNEL and _STAT_VER_LINUX are equal to zero for aarch64-linux
Commit consists out of
  • M rtl/linux/ostypes.inc


* cleanup of outdated defines
Commit consists out of
  • M rtl/inc/systemh.inc
  • M rtl/linux/system.pp
  • M rtl/solaris/system.pp
  • M rtl/win/syswin.inc


* fix of Erroneous reading of the value of the StackLength variable at program start based on issue report by Sergey Larin, resolves gitlab 0040211
Commit consists out of
  • M rtl/linux/x86_64/si_c.inc
  • M rtl/linux/x86_64/si_g.inc
  • M rtl/linux/x86_64/si_prc.inc
  • A tests/webtbs/tw40211.pp


Try to implement linux si_uc.inc for xtensa CPU
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc
  • A rtl/linux/xtensa/si_uc.inc


Attempt to use local _init and _fini procedures
Commit consists out of
  • M rtl/linux/xtensa/si_uc.inc


Support use statx syscall in fpstat and fpfstat
Commit consists out of
  • A rtl/linux/loongarch64/cp_new_stat.inc
  • M rtl/linux/osdefs.inc
  • M rtl/linux/ossysc.inc
  • M rtl/linux/ostypes.inc


fix when FPC_USE_LIBC is disabled not call PASCALMAIN
Commit consists out of
  • M rtl/linux/loongarch64/si_prc.inc


fix store stacklength but not its addr in info
Commit consists out of
  • M rtl/linux/loongarch64/si_c.inc
  • M rtl/linux/loongarch64/si_g.inc
  • M rtl/linux/loongarch64/si_prc.inc


Use prlimit64 in FpSetRLimit and FpSetRLimit
Commit consists out of
  • M rtl/linux/osdefs.inc
  • M rtl/linux/ossysc.inc


Set STACK_MARGIN_MAX to four times of pagesize on LoongArch64

It fixed a test named tstack. Actually, Linux user get the stacktop is
incorrect in current. The value of stack pointer when enter the procedure
is thought as it is in the highest stack page. But if the parameters is
enough large, lager than 16k, most of arch will also fail this test.
Since the LoongArch default pagesize is 16k, it fail often because
stack-layout-randomization causes the stackpointer underflow to next page.
I had tried fixed it in rtl/linux/[arch]/si_*. But because the codes is
unworthy and hardly the parameters is enough large, just expand
STACK_MARGIN_MAX for simplicity.
Commit consists out of
  • M rtl/inc/system.inc


* Fix for i386 breakage after merge request !433
Commit consists out of
  • M rtl/linux/loongarch64/cp_new_stat.inc
  • M rtl/linux/ossysc.inc
  • M rtl/linux/ostypes.inc


* Additional fix
Commit consists out of
  • M rtl/linux/loongarch64/si_prc.inc


Sockets errors redefined as regular Berkeley error constants also for Linux + add EINTR for Win
Commit consists out of
  • M packages/rtl-extra/src/linux/unxsockh.inc
  • M packages/rtl-extra/src/win/winsock2.pp
  • M packages/rtl-extra/src/wince/winsock2.pp


* Small improvement in inittls. Fixes issue 40408
Commit consists out of
  • M rtl/linux/system.pp


Use frame register $r22 (aliased as $fp) inside SignalToRunerror for loongarch64 CPU to fix backtrace dumps
Commit consists out of
  • M rtl/linux/loongarch64/sighnd.inc


Modify references to old syslinux unit in comments
Commit consists out of
  • M rtl/linux/arm/syscall.inc
  • M rtl/linux/i386/syscall.inc
  • M rtl/linux/mips/syscall.inc
  • M rtl/linux/mips64/syscall.inc
  • M rtl/linux/powerpc/syscall.inc
  • M rtl/linux/powerpc64/syscall.inc
  • M rtl/linux/sparc/syscall.inc
  • M rtl/linux/sparc64/syscall.inc
  • M rtl/linux/x86_64/syscall.inc
  • M rtl/linux/xtensa/syscall.inc
  • M rtl/netware/sysfile.inc
  • M rtl/netwlibc/sysfile.inc
  • M rtl/unix/dos.pp


* Ensure null-terminated strings. Patch by modersohn, fixes issue gitlab 0040499
Commit consists out of
  • M rtl/unix/cwstring.pp


* Do not use namespace prefix for lnfodwarf
Commit consists out of
  • M rtl/aix/Makefile
  • M rtl/amiga/Makefile
  • M rtl/android/Makefile
  • M rtl/aros/Makefile
  • M rtl/atari/Makefile
  • M rtl/beos/Makefile
  • M rtl/darwin/Makefile
  • M rtl/dragonfly/Makefile
  • M rtl/embedded/Makefile
  • M rtl/emx/Makefile
  • M rtl/freebsd/Makefile
  • M rtl/freertos/Makefile
  • M rtl/gba/Makefile
  • M rtl/go32v2/Makefile
  • M rtl/haiku/Makefile
  • M rtl/inc/lineinfo.pp
  • M rtl/inc/lnfodwrf.pp
  • M rtl/java/Makefile
  • M rtl/linux/Makefile
  • M rtl/macos/Makefile
  • M rtl/morphos/Makefile
  • M rtl/msdos/Makefile
  • M rtl/msxdos/Makefile
  • M rtl/nativent/Makefile
  • M rtl/nds/Makefile
  • M rtl/netbsd/Makefile
  • M rtl/netware/Makefile
  • M rtl/netwlibc/Makefile
  • M rtl/openbsd/Makefile
  • M rtl/os2/Makefile
  • M rtl/palmos/Makefile
  • M rtl/sinclairql/Makefile
  • M rtl/solaris/Makefile
  • M rtl/symbian/Makefile
  • M rtl/wasi/Makefile
  • M rtl/watcom/Makefile
  • M rtl/wii/Makefile
  • M rtl/win16/Makefile
  • M rtl/win32/Makefile
  • M rtl/win64/Makefile
  • M rtl/wince/Makefile
  • M rtl/zxspectrum/Makefile


* Add pthread_mutex_timedlock, sem_timedwait may be needed in future
Commit consists out of
  • M rtl/freebsd/pthread.inc
  • M rtl/linux/pthread.inc


*
Commit consists out of
  • M rtl/freebsd/sysnr.inc


* ensure that the SysCall unit is also usable when FPC_USE_LIBC is defined
Commit consists out of
  • M rtl/unix/syscall.pp


Fix compilation of syscall unit for Linux with -dFPC_USE_LIBC option
Commit consists out of
  • M rtl/unix/syscall.pp


Fix syscall unit compilation for i386-linux using -dFPC_USE_LIBC
Commit consists out of
  • M rtl/linux/i386/syscall.inc
  • M rtl/linux/system.pp
  • M rtl/unix/syscall.pp


Add dependency on objpas unit for syscall unit compiled with -dFPC_USE_LIBC
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc


+ support for fputimens on non-linux OSes
* reworked fputimens support on linux
+ FileSetDate for all unix OSes
Commit consists out of
  • M rtl/bsd/bunxsysc.inc
  • M rtl/linux/bunxsysc.inc
  • M rtl/linux/linux.pp
  • M rtl/unix/bunxh.inc
  • M rtl/unix/oscdeclh.inc
  • M rtl/unix/sysutils.pp


Avoid double declaration of seterrno
Commit consists out of
  • M rtl/unix/syscall.pp


Examinc OPT and CROSSOPT instead of FPCOPT in [prerules] to check if syscall unit needs objpas dependency
Commit consists out of
  • M rtl/linux/Makefile
  • M rtl/linux/Makefile.fpc


Add missing syscall_nr_futimens for NetBSD OS
Commit consists out of
  • M rtl/netbsd/sysnr.inc


* fix bootstrapping with with 3.2.2 and -dFPC_USE_LIBC
Commit consists out of
  • M rtl/linux/x86_64/si_c.inc


* fix utimensat and utimensat if the rtl is compiled with -dFPC_USE_LIBC
Commit consists out of
  • M rtl/linux/linux.pp