Commit Graph

2053 Commits

Author SHA1 Message Date
nickysn
cf3b883bce * synchronized with trunk
git-svn-id: branches/wasm@48513 -
2021-02-04 21:34:40 +00:00
florian
91586331b5 * x86_64-linux: assembler helpers syscalls do not need a stackframe
git-svn-id: trunk@48512 -
2021-02-04 20:57:11 +00:00
pierre
64bd8336f1 Fix compilation of linux unit with -dFPC_USE_LIBC option
git-svn-id: trunk@48504 -
2021-02-02 23:56:22 +00:00
nickysn
9de09f1d28 * synchronized with trunk
git-svn-id: branches/wasm@48498 -
2021-02-02 04:02:02 +00:00
florian
3922926d17 * disable new syscalls on android
git-svn-id: trunk@48495 -
2021-02-01 21:05:23 +00:00
nickysn
d52e918fc8 * synchronized with trunk
git-svn-id: branches/wasm@48480 -
2021-02-01 01:13:27 +00:00
florian
b4a1c27c58 * renamed new syscall wrapper in linux to be consist with the others
git-svn-id: trunk@48479 -
2021-01-31 22:25:18 +00:00
florian
b8ab06aae7 + futimens syscall
* make use of futimens syscall in sysutils unit
  + tests

git-svn-id: trunk@48472 -
2021-01-31 17:12:39 +00:00
florian
0c77536f11 + linux.fputimensat which properly uses the _tim64 version if needed and available
+ test

git-svn-id: trunk@48470 -
2021-01-31 16:24:47 +00:00
nickysn
1d9d1ab859 * regenerated makefiles
git-svn-id: branches/wasm@48369 -
2021-01-24 02:01:11 +00:00
nickysn
780ded903a * synchronized with trunk
git-svn-id: branches/wasm@48225 -
2021-01-19 23:01:55 +00:00
pierre
0055023394 Also set __stkptr inside cprt0.as and dllprt0.as startup assembly sources
git-svn-id: trunk@48223 -
2021-01-19 22:30:59 +00:00
pierre
83a1f5fbc3 Also set __stkptr inside cprt0.as startup assembly source
git-svn-id: trunk@48222 -
2021-01-19 22:28:37 +00:00
nickysn
8b4aceea50 * synchronized with trunk
git-svn-id: branches/wasm@48134 -
2021-01-11 07:01:01 +00:00
svenbarth
359bb64aed * 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)
git-svn-id: trunk@48120 -
2021-01-09 15:58:13 +00:00
nickysn
c1b37a3cb5 * synchronized with trunk
git-svn-id: branches/wasm@48109 -
2021-01-08 08:46:38 +00:00
florian
d2b0bcdf1f + linux implementation of System.GetCPUCount
git-svn-id: trunk@48106 -
2021-01-07 22:44:49 +00:00
nickysn
cf6c173653 * regenerated makefiles
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00
nickysn
a84b091b5e * makefiles regenerated after fpcmake update
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00:00
florian
7b88d1127f * remove unused file
git-svn-id: trunk@47619 -
2020-11-28 13:41:44 +00:00
ondrej
1a0ba60de6 * revert r47598: implement TRandomGenerator
git-svn-id: trunk@47605 -
2020-11-27 04:53:06 +00:00
ondrej
c4dd3b661a * rtl: implement TRandomGenerator for thread-safe random
git-svn-id: trunk@47598 -
2020-11-26 05:59:00 +00:00
pierre
233d883731 Correct computation of operatingsystem_parameter_envp, which wrongly pointed to the NIL pointer separating argv from environment variables
git-svn-id: trunk@47552 -
2020-11-24 09:39:55 +00:00
pierre
68d3962889 Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483
git-svn-id: trunk@47484 -
2020-11-20 14:03:57 +00:00
Károly Balogh
9d67adcbb6 * regenerated all Makefiles after Sinclair QL support was added
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
pierre
e154b9933f Add some types and records to rtl/linux/t_linux.h2paschk and set macro _LARGEFILE64_SOURCE for __i386__ C code
git-svn-id: trunk@47439 -
2020-11-16 22:37:04 +00:00
florian
b2a67d4656 * fixed comments in sysnr.inc files
git-svn-id: trunk@47426 -
2020-11-15 19:30:19 +00:00
Jonas Maebe
629b2a8951 * regenerated
git-svn-id: trunk@47303 -
2020-11-03 21:34:30 +00:00
Jonas Maebe
24e188f0d2 * add missing unixutils -> baseunix dependency
git-svn-id: trunk@47302 -
2020-11-03 21:34:26 +00:00
svenbarth
985c4fafeb * regenerate Makefiles after adding the softfpu units
git-svn-id: trunk@47188 -
2020-10-24 20:58:24 +00:00
svenbarth
0df460f56e * simplify rules for softfpu units
git-svn-id: trunk@47186 -
2020-10-24 20:57:56 +00:00
florian
80394fc6e8 - removed cvs remainders ($Id$ and $Log$ tags)
git-svn-id: trunk@47119 -
2020-10-16 21:19:10 +00:00
florian
91fe098eb4 * check first for x86 exception and only for sse if no x87 exceptions is thrown, clear all exception afterwards
* throw rte 206 instead of rte 216 for denormal on m68k-linux as well

git-svn-id: trunk@47117 -
2020-10-16 19:44:25 +00:00
florian
15695b317c * denormalized value floating point exception has to result in an rte 206, resolves part of #37926
git-svn-id: trunk@47114 -
2020-10-15 19:52:57 +00:00
florian
1a2b99bc09 * correctly reset fpu on x86_64-linux after a floating point exception, resolves second part of #37468
git-svn-id: trunk@46992 -
2020-09-28 20:50:25 +00:00
Jonas Maebe
322d04cdee * regenerated after adding unixtype dependencies
git-svn-id: trunk@46990 -
2020-09-28 14:02:03 +00:00
Jonas Maebe
de095258a7 * add missing unixtype dependencies
git-svn-id: trunk@46989 -
2020-09-28 14:02:00 +00:00
pierre
2b023c62c5 Do not set __USE_LARGEFILE64 macro for sparc CPU, as it does not seem to be used for regular linux kernels
git-svn-id: trunk@46882 -
2020-09-16 20:40:36 +00:00
florian
1b60060eb1 * Aarch64-linux: debugging define disabled
git-svn-id: trunk@46872 -
2020-09-15 21:08:58 +00:00
florian
a22d8a7c38 * Aarch64-linux: return properly from the signal handler
* Aarch64-linux: clear FPU exception flags before returning from the signal handler

git-svn-id: trunk@46870 -
2020-09-15 20:35:15 +00:00
Tomas Hajny
288c7e3c9e * Do_IsDevice treats pipes and sockets the same way as character devices
git-svn-id: trunk@46863 -
2020-09-13 22:08:18 +00:00
Károly Balogh
277d98431c * 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)
git-svn-id: trunk@46811 -
2020-09-09 15:15:52 +00:00
Károly Balogh
b49aa071ca * linux: fix some formatting in ostypes.inc, no functional change
git-svn-id: trunk@46810 -
2020-09-09 14:58:45 +00:00
Károly Balogh
313790502d * linux-m68k: depend on FPU defines to compile FPU code, instead of CPU68020. also, minor cosmetics
git-svn-id: trunk@46447 -
2020-08-15 09:07:30 +00:00
pierre
ca40956a3a Regenerated all Makefile's
git-svn-id: trunk@46224 -
2020-08-04 10:19:49 +00:00
florian
7281ea7a2c * floating point division by zero should throw run time error 208, fixed
git-svn-id: trunk@46210 -
2020-08-03 19:42:16 +00:00
florian
b60ac4c2db * @PLT is needed for calls to link it properly with pic code
git-svn-id: trunk@46209 -
2020-08-03 19:42:14 +00:00
florian
4c2c540b29 * fixed resetting of state, broken in r45995
+ debugging output
  * check magic properly
  * cosmetics

git-svn-id: trunk@46208 -
2020-08-03 19:42:13 +00:00
florian
893225770c * updated tfpstate
git-svn-id: trunk@46207 -
2020-08-03 19:42:13 +00:00
florian
eac6675cba * reset exception flags, resolves #37468 on x86_64
git-svn-id: trunk@45995 -
2020-08-02 21:23:29 +00:00
svenbarth
48cc5250f9 * fpc_geteipasebx and fpc_geteipasecx are used as procedures, not functions, so declare them as such
git-svn-id: trunk@45980 -
2020-08-01 17:26:34 +00:00
svenbarth
04cbf32b1b * rename local import of fpc_geteipasebx
git-svn-id: trunk@45979 -
2020-08-01 17:26:29 +00:00
pierre
2e6bba76bf Define __USE_LARGEFILE64 for sparc-linux, and adapt filed ffree type to that macro
git-svn-id: trunk@45837 -
2020-07-23 21:03:19 +00:00
pierre
1d5c714ff2 Fix error in assembly startup code for sparc linux
git-svn-id: trunk@45836 -
2020-07-23 20:59:03 +00:00
pierre
9f60f5093d F_GetLk/SetLk have different values for sparc/sparc64
git-svn-id: trunk@45829 -
2020-07-22 23:15:03 +00:00
florian
d6d92e3666 * revert part of r44879: flock must use kernel_off_t: off_t breaks e.g. i386
git-svn-id: trunk@45810 -
2020-07-19 19:54:22 +00:00
Jonas Maebe
fb23834367 * regenerated Makefiles again
git-svn-id: trunk@45766 -
2020-07-11 09:51:28 +00:00
Jonas Maebe
350d2d92f9 * regenerated Makesfiles
git-svn-id: trunk@45762 -
2020-07-10 22:08:30 +00:00
svenbarth
eb6f503bad * fix O_LARGEFILE for Aarch64, RISC-V 32-bit and RISC-V 64-bit
git-svn-id: trunk@45613 -
2020-06-07 19:09:08 +00:00
svenbarth
b3ddd4e786 * regenerate Makefiles
git-svn-id: trunk@45601 -
2020-06-06 17:18:48 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
nickysn
56b79257a1 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
svenbarth
0906714aa4 * fix for Mantis #36950: apply (slightly adjusted) patch by Bi0T1N to implement SetThreadDebugNameA and -U for Linux and Android targets
git-svn-id: trunk@45233 -
2020-05-03 15:08:35 +00:00
svenbarth
2840e5e1fd * fix for Mantis #36895: the new epoll_pwait was missing the size parameter for the sigmask parameter
git-svn-id: trunk@45208 -
2020-05-01 13:11:02 +00:00
svenbarth
4faf56353e * fix for Mantis #36949: apply patch by Bi0T1N to exclude the same pthread functions for Android for the static case that are excluded for the dynamic case
git-svn-id: trunk@45207 -
2020-05-01 13:10:58 +00:00
nickysn
86643f8a34 * synchronized with trunk
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
184d6d61ed * regenerate makefiles
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
nickysn
d57ffc4745 * changed the object file format for z80-embedded and z80-zxspectrum to .rel
git-svn-id: branches/z80@44899 -
2020-04-20 23:36:15 +00:00
nickysn
2f68090dd6 * synchronized with trunk
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
pierre
cd6de6a4ca Regenerate all Makefiles
git-svn-id: trunk@44882 -
2020-04-20 13:58:47 +00:00
pierre
4d25558519 * 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.

git-svn-id: trunk@44879 -
2020-04-20 09:50:07 +00:00
pierre
4888c379c4 Use same field type and name as in /ust/include/sys/stat.h
git-svn-id: trunk@44878 -
2020-04-20 09:37:55 +00:00
nickysn
0f323df7a3 * synchronized with trunk
git-svn-id: branches/z80@44873 -
2020-04-19 21:10:31 +00:00
Jonas Maebe
26ec913725 * regenerated makefiles
git-svn-id: trunk@44861 -
2020-04-19 17:33:47 +00:00
nickysn
b868d653bb * regenerated makefiles after sync with trunk
git-svn-id: branches/z80@44847 -
2020-04-19 13:00:50 +00:00
nickysn
daf22383b0 * makefiles regenerated with the zxspectrum target
+ added zxspectrum to ppudump

git-svn-id: branches/z80@44820 -
2020-04-19 01:56:06 +00:00
Jonas Maebe
4b59bcb0ca * regenerated makefiles
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
Károly Balogh
afe8a7596a arm-linux: enable epoll_pwait syscall number. this fixes the ARM Linux build after r44666
git-svn-id: trunk@44675 -
2020-04-10 09:26:00 +00:00
michael
76e64749aa * Fix bug #35914: add epoll_pwait, epoll_create1
git-svn-id: trunk@44666 -
2020-04-09 21:27:22 +00:00
florian
1dd914ffc8 + initial xtensa-linux rtl
git-svn-id: trunk@44636 -
2020-04-07 21:01:07 +00:00
florian
460369405e + xtensa-linux: OS specific system unit header files
git-svn-id: trunk@44612 -
2020-04-05 21:12:13 +00:00
florian
e32027c8d3 + add missing semicolon, resolves #36868
git-svn-id: trunk@44578 -
2020-04-04 20:04:01 +00:00
florian
0ff034216a + xtensa-linux support for the rtl makefile
git-svn-id: trunk@44577 -
2020-04-04 20:01:13 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
florian
17158c3587 * mmap2 expects that offset is divided by 4096
git-svn-id: trunk@44198 -
2020-02-16 20:14:28 +00:00
florian
2b7447c78d * EPoll_Event is packed only on x86-64, not other 64 Bit CPUs, resolves #34416
* epoll_pwait expects the SigSet size as sixth parameter (kernel syscall only)
  + simple epoll* test

git-svn-id: trunk@44093 -
2020-02-02 14:23:51 +00:00
florian
3cd4168ab3 + introduce TOSTimestamp
git-svn-id: trunk@44033 -
2020-01-25 14:14:41 +00:00
marco
ee760a60f4 * changed copyright to Sven since he is the first one with an implementation.
Florian added the file, but as empty skeleton

git-svn-id: trunk@43965 -
2020-01-17 17:51:20 +00:00
marco
edb07af423 * more GPL -> GPL with modification.
git-svn-id: trunk@43964 -
2020-01-17 15:01:23 +00:00
marco
3053f8c2e8 * many syscallh header files had GPL license instead of modified. I owned the copyright, or in one case, Thomas did, but it was a full copy of mine. -> changed to modified
* removed the remark about calling convention from several implementations. Oldfpccall no longer used.

git-svn-id: trunk@43962 -
2020-01-17 12:07:50 +00:00
pierre
3b39ec84e4 Examine all exception bits in m68k fpsr register to decide which into which run time error it is converted
git-svn-id: trunk@43909 -
2020-01-10 22:58:34 +00:00
florian
3335104da2 * get paramstr(0) only if really needed
git-svn-id: trunk@43898 -
2020-01-09 20:35:37 +00:00
pierre
6929da66a8 + Enable FPU exception handling for m68k processor
git-svn-id: trunk@43894 -
2020-01-08 23:09:21 +00:00
florian
df6cf6637d * fplstat needs to pass AT_SYMLINK_NOFOLLOW if the newfstatat syscall is used, reported by bald zhang, resolves #36528
git-svn-id: trunk@43880 -
2020-01-06 21:35:13 +00:00
florian
49d4371784 * duplicate syscall number removed, resolves #36508
git-svn-id: trunk@43849 -
2020-01-03 10:44:57 +00:00
florian
d425a85f8d + Linux.fpstatx, resolves #36501
git-svn-id: trunk@43837 -
2020-01-02 14:10:31 +00:00
florian
295041e523 * updated linux syscall numbers
git-svn-id: trunk@43835 -
2020-01-02 11:08:40 +00:00
florian
f5496c9d11 * improved build unit lazarus project for linux
git-svn-id: trunk@43618 -
2019-12-01 08:41:26 +00:00
florian
3edc0560b0 * patch by Benjamin Rosseaux: TEvent.WaitFor on *nix uses Monotonic Clock now
git-svn-id: trunk@43589 -
2019-11-25 20:58:18 +00:00
pierre
9bd19b050b Also use syscall_nr_fstatat for FpStat function for riscv32 cpu
git-svn-id: trunk@43528 -
2019-11-20 23:04:33 +00:00
pierre
b990c59693 + riscv32 cpu: Use SYSINIT_UNITS instead of LOADERS
* mips/mipsel cpus: pass -xgot on to AS call for LOADERS,
     if OPT contains -ao-xgot.

git-svn-id: trunk@43527 -
2019-11-20 22:57:49 +00:00
pierre
0e0407ad57 Add si_XXX.inc files, pointing to riscv64 counterparts
git-svn-id: trunk@43526 -
2019-11-20 22:51:03 +00:00
pierre
23111a71ea Add missing and needed syscall_nr_XXX
git-svn-id: trunk@43525 -
2019-11-20 22:48:47 +00:00
pierre
e8b9d8442e Replace obsolete scall by ecall instruction
git-svn-id: trunk@43524 -
2019-11-20 22:48:06 +00:00
pierre
247f80abfb prepare source to also support riscv32 code
git-svn-id: trunk@43523 -
2019-11-20 22:46:31 +00:00
florian
f5d5e84649 * more libunits
git-svn-id: trunk@43494 -
2019-11-16 14:04:46 +00:00
florian
18c5881e60 * update sharedlibs variable
git-svn-id: trunk@43488 -
2019-11-16 11:04:28 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
florian
7e3acda739 * TIOCtlRequest is declared as unsigned long according to man 2 ioctl
git-svn-id: trunk@43427 -
2019-11-09 18:27:21 +00:00
florian
c7fb1b8db7 * update dependencies of sysutils
git-svn-id: trunk@43315 -
2019-10-27 12:45:20 +00:00
florian
c189af0e3d * improved software floating point exception handling in the rtl
git-svn-id: trunk@43163 -
2019-10-10 20:31:31 +00:00
florian
245b58c249 + support for arm attributes
* abi notes fixed

git-svn-id: trunk@43157 -
2019-10-09 17:45:40 +00:00
florian
56d91b4ca7 + support tls threadvars with the internal assembler
git-svn-id: trunk@43070 -
2019-09-25 21:19:03 +00:00
florian
f6667a5143 * we have to use __tls_get_addr from the dyn. linker lib else tls on programs with pure pascal dyn. libraries fail
git-svn-id: trunk@43069 -
2019-09-25 21:19:01 +00:00
florian
719ff5fb4c * converted _FPC_libc21_haltproc into a pascal subroutine so stack alignment is kept
git-svn-id: trunk@43013 -
2019-09-15 17:17:32 +00:00
florian
bd35c02257 * cosmetics: indention
git-svn-id: trunk@43010 -
2019-09-15 17:17:30 +00:00
michael
ee6c426e05 * Fix bug ID #0035596: better detection of vcs device
git-svn-id: trunk@42766 -
2019-08-23 06:45:11 +00:00
pierre
5ed7bd35df Update all trunk/fpcsrc Makefile's after commit 42749
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
pierre
e8ae490128 sparc32 bit needs SA_SIGINFO
git-svn-id: trunk@42748 -
2019-08-20 14:25:32 +00:00
florian
f0213a2c46 + make use of the mremap syscall of linux to re-allocate large memory blocks faster
git-svn-id: trunk@42713 -
2019-08-16 20:47:37 +00:00
Jonas Maebe
faf75095cd * synchronised with trunk till r42189
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
svenbarth
90278f4859 + add fpmprotect function to complete fpmmap/fpmunmap
git-svn-id: trunk@42181 -
2019-06-06 20:46:01 +00:00
pierre
8e5e877417 Fix compilation with release 3.0.4 ppcarm
git-svn-id: trunk@42175 -
2019-06-05 12:00:53 +00:00
Jonas Maebe
dc681a75ec * properly return from the signal handler on ARM/Linux instead of calling
HandleErrorAddrFrame directly (fixes psabieh exception handling, and
    generally is cleaner)

git-svn-id: trunk@42166 -
2019-06-02 18:33:01 +00:00
Jonas Maebe
1b6425176b * synchronised with trunk till r42049
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
pierre
83d72bdf19 Use TIOCtlRequest type for local variable nr inside TCSetAttr function
git-svn-id: trunk@42024 -
2019-05-10 07:23:31 +00:00
pierre
ebf2e277ab Update syscall number for sparc and sparc64 based on results from unix/scripts/check_sys.sh
git-svn-id: trunk@42019 -
2019-05-07 11:26:44 +00:00
pierre
fae45b2075 Add first linux RTL compliance test file t_linux.h2paschk
git-svn-id: trunk@42016 -
2019-05-06 21:13:42 +00:00
Jonas Maebe
3a1fb45315 * synchronised with trunk till r41976
git-svn-id: branches/debug_eh@41977 -
2019-05-02 19:44:41 +00:00
pierre
ae5a9e033a Add flags field to TStatfs record
git-svn-id: trunk@41973 -
2019-05-02 12:59:11 +00:00
pierre
ce1ba76ce5 Add st_ctime_nsec field for stat powerpc record
git-svn-id: trunk@41972 -
2019-05-02 12:57:51 +00:00
pierre
0690df1733 Update syscall numbers for powerpc-linux and powerpc64-linux
git-svn-id: trunk@41971 -
2019-05-02 12:56:56 +00:00
pierre
66401652fd * Update syscall list for i386 and x86_64 cpus,
based on values found on gcc121 machine,
     CentOS Linux release 7.6.1810 (Core)
   * Commented out values not accepted by GNU C compiler.
     For i386: madvise1(219), security(223),set_zone_reclaim(251)
     New last number: 382(pkey_free).
     For x86_64: 331(pkey_free).

git-svn-id: trunk@41929 -
2019-04-25 06:23:37 +00:00
Jonas Maebe
128bf046b4 * regenerated Makefiles with LLVM bitcode installation support
git-svn-id: branches/debug_eh@41914 -
2019-04-20 18:56:45 +00:00
Jonas Maebe
a0f850d57f * synchronised with trunk till r41885
git-svn-id: branches/debug_eh@41886 -
2019-04-16 16:20:44 +00:00
Jeppe Johansen
53542b7c5e - Port RISC-V64 startup code to native inline routines.
git-svn-id: trunk@41871 -
2019-04-14 23:36:08 +00:00
Jonas Maebe
dc2cbf8018 * synchronised with trunk till r41725
git-svn-id: branches/debug_eh@41726 -
2019-03-17 15:25:31 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
florian
21860480ad * use trampoline on x86-64/linux to convert signals properly in exceptions for psabieh
git-svn-id: branches/debug_eh@41566 -
2019-03-02 23:05:26 +00:00
florian
62f890efa3 * improved floating point signal handling on x86/linux
git-svn-id: branches/debug_eh@41451 -
2019-02-24 20:03:02 +00:00
Jonas Maebe
ac883969a9 * synchronised with trunk till r41423
git-svn-id: branches/debug_eh@41424 -
2019-02-23 17:08:03 +00:00
florian
8db9b211d5 * fixed unwinding from signal handlers, the approach used now is very simple and clean
git-svn-id: branches/debug_eh@41414 -
2019-02-22 22:01:45 +00:00
yury
ad6642edc0 * android: Fixed stdio redirection for threads.
git-svn-id: trunk@41400 -
2019-02-20 15:11:45 +00:00
nickysn
178217821c + added sortbase as a dependency to unit fgl in the makefiles
git-svn-id: trunk@41180 -
2019-02-02 23:22:09 +00:00
nickysn
248fd313f8 + introduced unit SortBase, which implements the foundation for pluggable
sorting algorithms. A default QuickSort implementation is provided by the
  unit. Other units can be added, to provide other sorting algorithms (e.g.
  HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
  in SortBase for their .Sort method.

git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
florian
597a23d278 + tls support for x86_64-linux (not yet enabled by default)
git-svn-id: trunk@41081 -
2019-01-27 09:37:25 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
florian
91a0de27aa * pass -meabi=5 when calling the assembler in the linux rtl Makefile, non-eabi target are not supported for years already, so this should cause little problems
git-svn-id: trunk@40738 -
2019-01-01 19:29:43 +00:00
yury
f7efca92ec * android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
git-svn-id: trunk@40536 -
2018-12-12 14:04:57 +00:00
florian
32121de8ae * do not call InitTLS when a compiler is used which does not include the abi tag section
git-svn-id: trunk@40468 -
2018-12-04 21:25:48 +00:00
florian
eeadf618b8 + abi tag for i386
* arm abi tag moved into pascal file

git-svn-id: trunk@40454 -
2018-12-02 22:56:12 +00:00
florian
31ae109a31 * properly initialize phdr and phnum
git-svn-id: trunk@40448 -
2018-12-02 08:49:03 +00:00
pierre
04debba9de Fix arm-android compilation by prepending syscall_nr_ prefix also to __ARM_NR_XXX arm specific linux syscalls
git-svn-id: trunk@40300 -
2018-11-13 11:11:49 +00:00
florian
72416edcc4 + support for tlsm_general on i386-linux
git-svn-id: trunk@40281 -
2018-11-11 17:32:20 +00:00
florian
063415fa72 + i386-linux support for tls-based threadvars
git-svn-id: trunk@40272 -
2018-11-07 22:03:02 +00:00
florian
e949276d9d * basic implementation for pure pascal programs to allocate tls space
git-svn-id: trunk@40268 -
2018-11-07 22:02:59 +00:00
yury
78a26e53f8 * Fixed warnings.
git-svn-id: trunk@40187 -
2018-11-02 19:04:52 +00:00
pierre
044c835197 Add explicit typecast to avoid range ccheck error
git-svn-id: trunk@40002 -
2018-10-20 22:30:20 +00:00
yury
d1b1655441 * x86_64-android requires sigreturn for proper signal handling.
git-svn-id: trunk@39960 -
2018-10-17 17:53:57 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
5fc2ea362f * Use syscall_nr_renameat for android.
git-svn-id: trunk@39917 -
2018-10-12 15:07:55 +00:00
yury
42c46207cd * Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
git-svn-id: trunk@39871 -
2018-10-06 18:36:02 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
florian
51644f497b * fixes broken compilation after merging
git-svn-id: trunk@39815 -
2018-09-26 20:22:13 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
Jeppe Johansen
2b4532d3fa asm-generic syscalls only selectively include nr_renameat. Instead nr_renameat2 seems to be the new default.
git-svn-id: branches/laksen/riscv_new@39795 -
2018-09-22 12:34:48 +00:00
yury
15476898ca * Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
git-svn-id: trunk@39749 -
2018-09-12 16:54:52 +00:00
yury
3a2884df70 * Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.

git-svn-id: trunk@39739 -
2018-09-11 16:10:50 +00:00
pierre
32001975bf * Add PAGESIZE local constant.
+ Set LAST_PAGE_GENERATES_SIGNAL macro for linux powerpc/powerpc64.
  + Use page_size for StackBottom computation.
  + Use LAST_PAGE_GENERATES_SIGNAL in StackBottom computation.

git-svn-id: trunk@39736 -
2018-09-11 13:13:50 +00:00
pierre
b279f24f26 Add FPC_SOFT_FPUX80 and FPC_SOFT_FPU128 define handling
git-svn-id: trunk@39732 -
2018-09-11 08:02:48 +00:00
Jeppe Johansen
ba8245dccb argc is a longint.
git-svn-id: branches/laksen/riscv_new@39696 -
2018-09-01 19:46:04 +00:00
marco
315fe21718 * deprecations, remove oldlinux.
git-svn-id: trunk@39663 -
2018-08-23 07:57:56 +00:00
marco
1e60364572 * another stat file cleanup.
git-svn-id: trunk@39655 -
2018-08-20 14:27:59 +00:00
marco
bffbff73e1 * remove deprecated parts linux stat records (FPC 1.0 leftovers)
git-svn-id: trunk@39644 -
2018-08-19 15:10:22 +00:00
marco
d143ab60e1 * regenned makefile without date/rev components for easier merging.
git-svn-id: trunk@39630 -
2018-08-18 15:06:25 +00:00
pierre
bc75e8547e Improve detect_linuxvcs to allow parsing of /proc/PID/stat even with spaces in exe name
git-svn-id: trunk@39579 -
2018-08-06 16:10:28 +00:00
Jeppe Johansen
90d5f5e760 Added library search paths.
Removed GP and TP from allocatable registers for now. GP should not be overwritten.
Ported dllprt0.as
Fixed register usage in cprt0.as

git-svn-id: branches/laksen/riscv_new@39522 -
2018-07-29 13:08:15 +00:00
Jeppe Johansen
27ab039366 Fixed _fini and _init references in cprt0.as
Add RiscV to fcl-res and fpcres.
Check that constant is a valid imm12 when doing overflow checking.

git-svn-id: branches/laksen/riscv_new@39494 -
2018-07-23 11:40:55 +00:00
florian
65a415c13e * fix assembling with official binutils
* fix compilation on 32 bit hosts
+ compile with -Sew

git-svn-id: branches/laksen/riscv_new@39482 -
2018-07-22 13:10:24 +00:00
Jeppe Johansen
dcb0f4fdb5 Fixed setjmp that overwrote a callee save register.
Disable relaxation for the gp load part of the prt0 code.
Fixed up some syscall definitions.

git-svn-id: branches/laksen/riscv_new@39478 -
2018-07-20 15:00:14 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
Jeppe Johansen
6352328f3a Update packages with information about RiscV.
Fix g_external_wrapper, since it uses a register.
Fixed calling of gas.
Ported cprt0.

git-svn-id: branches/laksen/riscv_new@39475 -
2018-07-20 10:40:28 +00:00
Jeppe Johansen
ceb38833f2 Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
nickysn
65d8836952 * updated dependencies of unit ports (objpas and x86 is no longer required on
certain platforms) and regenerated makefiles

git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
pierre
d6be56e225 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38750 -
2018-04-12 15:23:03 +00:00
florian
b24eb3cce7 * x86_64-linux uses now pascal init code
git-svn-id: trunk@38409 -
2018-03-04 18:22:04 +00:00
florian
05a92d55e4 * partly reverted #38320, the code was correct
git-svn-id: trunk@38402 -
2018-03-03 16:41:52 +00:00
florian
c6af4e42c0 * ensure that the stack is aligned after haltproc, should resolve #33311
git-svn-id: trunk@38400 -
2018-03-03 16:14:51 +00:00
florian
92776e1864 * keep stack aligned when using profiler stubs
git-svn-id: trunk@38320 -
2018-02-23 19:35:20 +00:00
michael
94b6fe6ad3 * added O_CLOEXEC
git-svn-id: trunk@38100 -
2018-02-02 10:33:13 +00:00
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
Károly Balogh
a3a7285df4 linux: an attempt to clean up and fix syscall calling conventions for ftruncate64, pread64 and pwrite64 on platforms which use aligned register pairs to pass the 64bit parameters
git-svn-id: trunk@37719 -
2017-12-12 02:39:45 +00:00
Károly Balogh
961757934a linux: removed some old junk which was commented out over a decade ago
git-svn-id: trunk@37718 -
2017-12-12 02:24:40 +00:00
Károly Balogh
ee37c507d0 tabs to spaces. no functional changes
git-svn-id: trunk@37717 -
2017-12-12 02:03:34 +00:00
yury
af0fdea815 * Android: Include list of supported syscalls for each CPU.
Adjust Linux RTL to work with supported Android syscalls. 
  It should fix issues with Android 8.

git-svn-id: trunk@37480 -
2017-10-17 18:15:02 +00:00
yury
dbf482d62b * Fixed version of FpSysCall() with 6 params for Linux with PIC.
git-svn-id: trunk@37479 -
2017-10-17 18:03:29 +00:00
svenbarth
ddf91a4d19 * regenerate Makefile after r37337
git-svn-id: trunk@37338 -
2017-09-27 20:18:45 +00:00
svenbarth
c38efb692b * fix parallel compilation of Linux RTL: the software FPU units require the ObjPas unit
git-svn-id: trunk@37337 -
2017-09-27 20:18:15 +00:00
pierre
a706c3900f Fix loading of argc field (longint type) of TEntryInformation.OS record
git-svn-id: trunk@37329 -
2017-09-26 21:02:45 +00:00
pierre
e7fe9ddfbc Add units softfpu, sfpux80, sfpu128, ufloatx80 and ufloat128 to list of units for all linux targets
git-svn-id: trunk@37258 -
2017-09-19 21:01:08 +00:00
florian
50fab14389 * TIOCtlRequest is 64 bit on sparc64
git-svn-id: trunk@36946 -
2017-08-20 15:21:50 +00:00
pierre
dc0e8de99f Fix PIC code
git-svn-id: trunk@36791 -
2017-07-26 14:52:12 +00:00
pierre
1c3996979a Fix PIC code
git-svn-id: trunk@36790 -
2017-07-26 14:47:28 +00:00
pierre
5491cf9519 Force PIC usage for sparc64 CPU
git-svn-id: trunk@36789 -
2017-07-26 14:46:41 +00:00
pierre
031c28c58e Add -KPIC to ASSHAREDOPT for sparc and sparc64
git-svn-id: trunk@36785 -
2017-07-25 06:51:06 +00:00
pierre
1ff7f061ff Sparc64 uses the same value as sparc for O_APPEND
git-svn-id: trunk@36782 -
2017-07-24 10:01:14 +00:00
florian
3b48c6e316 * sparc64 uses the same different signal numbers as sparc32 on linux
git-svn-id: trunk@36764 -
2017-07-22 13:26:48 +00:00
florian
d4e6824862 * sparc64-linux has to use syscall_nr_gettimeofday instead of syscall_nr_time as well
git-svn-id: trunk@36761 -
2017-07-21 19:51:44 +00:00
florian
10f52f1cac * fixed fppipe for sparc64-linux
git-svn-id: trunk@36760 -
2017-07-21 19:32:52 +00:00
pierre
0c404918e1 sparc64 also uses 0245408 TCGETS constant
git-svn-id: trunk@36728 -
2017-07-13 22:01:28 +00:00
florian
13e76ccc01 * some type declarations for sparc64-linux fixed
git-svn-id: trunk@36714 -
2017-07-09 20:28:30 +00:00
florian
4a107ac079 * cosmetics
git-svn-id: trunk@36713 -
2017-07-09 20:28:28 +00:00
michael
52cd572cec * Use specific type for TFPSet elements
git-svn-id: trunk@36710 -
2017-07-09 14:47:27 +00:00
svenbarth
c66daeb69f * forgot to correctly enable bootstrapping from direct to indirect entry for x86_64-linux
git-svn-id: trunk@36695 -
2017-07-08 21:40:50 +00:00
svenbarth
0f9451fbb7 * switch x86_64-linux to indirect entry, essentially allowing for the use of dynamic packages on that target
git-svn-id: trunk@36690 -
2017-07-08 20:39:36 +00:00
svenbarth
533789777b * prepare Linux RTL for a platform-by-platform switch to indirect entry information, including the capability to bootstrap a direct entry target to an indirect one while using the assembly startup files of the indirect one
git-svn-id: trunk@36689 -
2017-07-08 20:37:43 +00:00
florian
47bdbb2d1f * fix Fpfstat as Fpstat has been fixed in r36664, sparc64 needs explictly an stat64 call for 64 bit stat
git-svn-id: trunk@36674 -
2017-07-07 22:18:14 +00:00
florian
8ce6140476 * initial implementation of c startup code for sparc64-linux
git-svn-id: trunk@36673 -
2017-07-07 22:18:13 +00:00
florian
568d6d1486 * revert r36666 as it interferes with r36664
git-svn-id: trunk@36671 -
2017-07-07 20:30:05 +00:00
pierre
de3f4e72ed Try to get a correct stat record
git-svn-id: trunk@36666 -
2017-07-07 15:10:46 +00:00
florian
e2226598ab * force usage of stat64 on sparc64
* always use packrecords c for the stat records on sparc64

git-svn-id: trunk@36664 -
2017-07-07 12:22:49 +00:00
pierre
b6d2c7ee69 Fix fprt_sigreturn_stub for sparc64 cpu
git-svn-id: trunk@36654 -
2017-07-06 07:17:25 +00:00
pierre
56039f2fc6 Share SPARC signal constants with SPARC64 cpu
git-svn-id: trunk@36652 -
2017-07-05 21:23:11 +00:00
pierre
ece9547ea7 * Sparc64 CPU also uses Fprt_sigreturn for extra rt_sigaction syscall
git-svn-id: trunk@36651 -
2017-07-05 20:59:39 +00:00
florian
0d296001a8 * argv is a longint in fpc
git-svn-id: trunk@36640 -
2017-07-03 20:49:08 +00:00
florian
7fd359bb78 * setup of envp fixed
* use STACK_BIAS constant

git-svn-id: trunk@36544 -
2017-06-19 21:18:01 +00:00
florian
1e619a3479 * syscall error and parameter handling for sparc64 fixed
git-svn-id: trunk@36543 -
2017-06-19 21:18:00 +00:00
florian
e78dbbccc4 * adaption of some rtl code for sparc64-linux
git-svn-id: trunk@36516 -
2017-06-18 15:44:30 +00:00
florian
c7d4a64ae4 + basic sparc64-linux specific rtl code, based on the sparc-linux one
git-svn-id: trunk@36515 -
2017-06-18 15:44:06 +00:00
florian
278d33f611 + first implementation of sparc64-linux startup code, partly dummies
git-svn-id: trunk@36512 -
2017-06-18 15:39:37 +00:00
Károly Balogh
78970fa3c4 linux/m68k: enable inlining and compiler mul32to64 in the softfpu
git-svn-id: trunk@36490 -
2017-06-12 13:05:09 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
florian
4036ecb5b5 + stat record definition for SPARC64
git-svn-id: trunk@36432 -
2017-06-05 21:35:06 +00:00
florian
8754858c2d * SPARC64 uses pascal startup code
git-svn-id: trunk@36426 -
2017-06-05 21:30:22 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
florian
96f28cbb11 * move sysnr.inc to a rtl/linux/sparcgen dir
* adapt makefiles to reflect this

git-svn-id: trunk@36411 -
2017-06-03 20:52:41 +00:00
pierre
bc3adb9078 Regenerated after: Add -32 to ASTARGET for sparc 32-bit and add sparc64 ASTARGET modifications
git-svn-id: trunk@36390 -
2017-06-01 13:35:32 +00:00
pierre
4a5f5f84d0 Add -32 to ASTARGET for sparc 32-bit and add sparc64 ASTARGET modifications
git-svn-id: trunk@36389 -
2017-06-01 13:34:47 +00:00
florian
a3aa2616fc * Makefiles regenerated
git-svn-id: trunk@36382 -
2017-05-31 20:59:41 +00:00
pierre
ac3b9ac979 Avoid placing COMPILER_UNITTARGETDIR in the prerequisite list of assmebler files,
as those directories are modified by any new file in that directory, which
  lead to repeated (and useless) recompilation of assembler files on linux systems.

git-svn-id: trunk@36173 -
2017-05-10 13:06:39 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
michael
5bbf299c22 * Fix bug #31555, disbablefile locking
git-svn-id: trunk@35611 -
2017-03-17 07:58:59 +00:00
marco
7ef8f00100 * more occured -> occurred spelling fixes.
git-svn-id: trunk@35130 -
2016-12-14 20:05:21 +00:00
Jonas Maebe
e5a1231931 * updated FSF address (mantis #30198, patch by Paul Gevers)
git-svn-id: trunk@34598 -
2016-10-02 12:56:59 +00:00
michael
480d22a4aa * Reallocmem uses installed memory manager
git-svn-id: trunk@34487 -
2016-09-10 17:56:17 +00:00