Commit Graph

2053 Commits

Author SHA1 Message Date
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
michael
bd775267ca * Fix bug #30310
git-svn-id: trunk@34484 -
2016-09-10 17:08:07 +00:00
yury
419c6ce61e * android:
+ API to write to the Android system log. 
  + API to redirect standard output and error to the Android system log. The redirection is performed automatically for shared libraries loaded by Java applications.

git-svn-id: trunk@34352 -
2016-08-19 20:21:52 +00:00
yury
c2ba68df44 * android: Added functions GetSystemProperty() and SystemApiLevel().
git-svn-id: trunk@34346 -
2016-08-19 14:50:18 +00:00
pierre
b2467eae3b * Pass exitcode correctly down to __libc_start_main in _haltproc
git-svn-id: trunk@34258 -
2016-08-09 06:50:54 +00:00
svenbarth
7f5352280d Fix si_g.inc for x86_64-linux:
* it's 'atexit' and not '__libc_atexit'
* initialstkptr is a global symbol so it needs to be loaded using GOTPCREL

git-svn-id: trunk@34235 -
2016-07-29 22:03:54 +00:00
marco
c335a3ea6e * change TDIR fields to longint. Should have been abandonned long ago.
git-svn-id: trunk@34041 -
2016-06-30 18:51:05 +00:00
marco
5038b944f1 * fix for bug #30331
git-svn-id: trunk@34039 -
2016-06-30 18:45:33 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
svenbarth
266eccde9f Merge revision(s) 32484 from branches/svenbarth/packages
Move PascalMain external from the si_*.inc files to a new include file si_impl.inc that's included in the implementation sections of the si_*.pp units

git-svn-id: trunk@33970 -
2016-06-12 16:49:56 +00:00
Jonas Maebe
69ad962544 * fixed cross-assembling the Linux/ppc32 loader files on a 64 bit Linux host
git-svn-id: trunk@33538 -
2016-04-20 22:17:11 +00:00
marco
2221e4e4bd * fix timespec=nil for -dgeneric_linux_syscalls (aarch64) case.
git-svn-id: trunk@33392 -
2016-03-30 19:21:05 +00:00
marco
9c03d0d6ba * fix for mantis #25931 return error 5 on EBUSY and ENOTDIR
git-svn-id: trunk@33262 -
2016-03-17 21:14:07 +00:00
florian
84bb46a35d + cpu unit for arm (linux only so far)
git-svn-id: trunk@33184 -
2016-03-06 13:33:20 +00:00
Jonas Maebe
9e3c7f175f * load the address of envp before storing it, so we don't overwrite argv
with envp (fixes bug in fix from r32528, mantis #29587 for FPC 3.0.x
    -- FPC 3.1.1+ uses si_*.inc instead, which already works correctly)

git-svn-id: trunk@33045 -
2016-02-04 11:37:29 +00:00
Jonas Maebe
2e64c63993 * fixed dependencies for lineinfo unit after r33007
* also made lnfodwrf dependent on lineinfo for all platforms,
    because both units implicitly depend on the exeinfo unit
    and if both are compiled at the same time they can fall
    over each other while writing its .ppu or .s file

git-svn-id: trunk@33039 -
2016-02-01 22:52:50 +00:00
sergei
77285b63eb * i386-linux: reworked and cleaned up libc-related startup code:
* Don't replace intended initialization routines with dummy ones, so libc can properly initialize itself.
  * Profiling support (si_c21g.pp) only needs to contain the __gmon_start__ procedure, so it can reuse the entire si_c21.inc, and separate si_21g.inc file is no longer needed.

git-svn-id: trunk@32984 -
2016-01-22 17:11:08 +00:00
sergei
53d7018482 * removed 'nostackframe' attribute, since on i386 assembler procedures reference non-register parameters relative to ebp.
git-svn-id: trunk@32981 -
2016-01-22 16:35:20 +00:00
sergei
7381c66161 - i386-linux RTL: removed assembler startup files, which are unused since version 2.0.x.
git-svn-id: trunk@32972 -
2016-01-21 15:11:31 +00:00
Jonas Maebe
ec4342cc65 * fixed parallel building after r32857
git-svn-id: trunk@32924 -
2016-01-11 15:27:48 +00:00
sergei
903ddf8403 - Cleaned out some more assembler PIC hacks around ExitCode variable
git-svn-id: trunk@32680 -
2015-12-18 11:49:20 +00:00
pierre
60070169bb Regenerated Makefile's for rtl/linux and rtl/win32, aarch64-linux target was missing
git-svn-id: trunk@32601 -
2015-12-06 11:35:28 +00:00
pierre
42e08b4c01 Set PIC_OPT if -Cg of -fPIC option is used, also use -KPIC for mips and mipsel ASTARGET if PIC_OPT is set
git-svn-id: trunk@32588 -
2015-12-05 11:45:09 +00:00
Jonas Maebe
f65cb5d933 * equivalent of r32525/32526 for the assembler version of the startup code
git-svn-id: trunk@32528 -
2015-11-25 00:10:26 +00:00
Jonas Maebe
2249d95ddb * call external routines via their TOC entry instead of directly
(mantis #29004)

git-svn-id: trunk@32527 -
2015-11-25 00:10:23 +00:00
Jonas Maebe
740f8532df * fixed saving the stack pointer in r32525
git-svn-id: trunk@32526 -
2015-11-25 00:10:19 +00:00
Jonas Maebe
816c66107e * fixed dynamic startup of programs that don't link against libc (they get
argc/argv/envp in r3/r4/r5)

git-svn-id: trunk@32525 -
2015-11-24 23:34:30 +00:00
Jonas Maebe
4d53455379 * the "types" unit depends on "math" since r32333 -> updated Makefiles
git-svn-id: trunk@32337 -
2015-11-15 19:38:49 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
marco
266ebc351b * remove some deprecated functions. Most have alternatives since at least 2.4, and more often 2.2
I left getdomainname in "unix" for now, I don't know the exact status.

git-svn-id: trunk@32255 -
2015-11-06 14:55:38 +00:00
yury
63813f3e96 * android: Fixed crash when using writeln during shared library finalization on Android 4.4+.
git-svn-id: trunk@32033 -
2015-10-12 22:35:51 +00:00
Jonas Maebe
d49b69581a * removed fake _init/_fini symbols (patch by Edmund Grimley Evans)
git-svn-id: trunk@31977 -
2015-10-08 18:41:32 +00:00
Jonas Maebe
36c6a190a8 * execute the real libc init/fini routines instead of dummies
(patch by Edmund Grimley Evans)

git-svn-id: trunk@31976 -
2015-10-08 18:40:31 +00:00
Jonas Maebe
e0f3296bbb * fixed case of ppuext in r31775, causing the unix unit to be rebuilt all the
time (mantis #28764)

git-svn-id: trunk@31908 -
2015-10-02 05:49:10 +00:00
Jonas Maebe
530a08b779 * added some missing unit dependencies
git-svn-id: trunk@31775 -
2015-09-22 13:48:57 +00:00
yury
e1a0b1204a * Removed unused vars in RTL.
git-svn-id: trunk@31750 -
2015-09-17 16:48:53 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Jonas Maebe
e54d0a41af * fixed ppoll for infinite timeouts (patch by Edmund Grimley Evans)
git-svn-id: trunk@31042 -
2015-06-13 21:02:02 +00:00
Jonas Maebe
3634262437 + Linux/AArch64 gprof-enabled startup code (patch by Edmund Grimley Evans)
git-svn-id: trunk@30934 -
2015-05-29 06:14:27 +00:00
Jonas Maebe
4fa2edc638 + Linux/AArch64 RTL support (patch by Edmund Grimley Evans)
o uses new generic Linux syscall numbers, used for recent architectures

git-svn-id: trunk@30895 -
2015-05-23 21:04:08 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
Jonas Maebe
23254e7ce2 * refactored definition of pthread_mutex_t into single location
(pmutext.inc) like for *BSD; fixes the definition of
    TRTLCriticalSection for MIPS (and AArch64, as found by
    Edmund Grimley Evans)

git-svn-id: trunk@30875 -
2015-05-17 11:08:02 +00:00
Jonas Maebe
0a1b851b5c - removed commented out MIPS mutex size constants
git-svn-id: trunk@30874 -
2015-05-17 11:08:00 +00:00
michael
dd6f45d1d0 * Added setregid and setreuid functions to linux unit (they are not POSIX), bug ID #25403
git-svn-id: trunk@30621 -
2015-04-17 16:48:32 +00:00
nickysn
492101df76 * fixed a race condition during parallel build on linux, when the loaders are
built before mkdir has created the output directory

git-svn-id: trunk@30231 -
2015-03-14 22:27:03 +00:00
Jonas Maebe
82d92dbf50 * call seterrno instead of manually handling the setting setting the errno
threadvar (and having to deal with differences between the ELFv1 and ELFv2
    ABIs regarding indirect function calls, + future ability to have the
    compiler generate PIC for those routines)
   o includes workaround for lack of linkage area size allocation in current
     released PPC64 versions, remove after 3.0.2 has been released

git-svn-id: trunk@30213 -
2015-03-14 18:36:17 +00:00
Jonas Maebe
3ab62dcfed * switched Linux/PowerPC64 to Pascal startup code so that we can used ifdefs
to detect whether we're compiling for ELFv1/SYSV or ELFv2

git-svn-id: trunk@30210 -
2015-03-14 18:36:08 +00:00
Jonas Maebe
53680329d3 * changed type of operatingsystem_parameter_argc from ptruint to longint,
as that's the type of argc in the system unit (which maps onto this
    variable), and even in C it's "int argc". This fixes the use of this
    variable on big endian targets

git-svn-id: trunk@30209 -
2015-03-14 18:36:05 +00:00
nickysn
6bd2ab0ab7 * fixed parallel build for i386-linux and x86_64-linux
git-svn-id: trunk@30122 -
2015-03-07 16:01:06 +00:00
florian
e0c4e0456f * fix parallel building of linux rtl
git-svn-id: trunk@30076 -
2015-03-02 19:46:19 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
svenbarth
2d454dc8fa Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages.
Each port that allows the usage of dynamic libraries should call InitSystemDynLibs during initialization of the System unit.
The DynLibs unit has been adjusted to be a forwarder for the functions that now reside in the System unit (for backwards compatiblity just in case). Additionally the unit will register the DynLibsManager if it doesn't reside in the System unit anyway.
Currently only the Windows targets (Win32, Win64 and WinCE) implement the DynLibsManager inside the System unit. For other systems using the LoadLibrary, etc. functions will lead to a run error/exception.
If a port wants to implement its own DynLibsManager then it needs to define DISABLE_NO_DYNLIBS_MANAGER. TLibHandle, NilHandle and optionally TOrdinalEntry (it's set to SizeUInt otherwise) should be defined in sysdlh.inc which needs to be enabled using the define FPC_SYSTEM_HAS_SYSDLH (because there are targets which have FEATURE_DYNLIBS enabled, but don't support them... e.g. powerpc-wii -.-).
The DynLibsManager contains methods for loading a library based on a RawByteString and based on a UnicodeString. BOTH should be implemented, but internally one can forward to the other.
The loading by ordinal *can* be be implemented. If it is set to Nil then the implementation of GetProcAddress(lib,ordinal) will return Nil.

+ new functions SetDynLibsManager and GetDynLibsManager to set and retrieve the current DynLibsManager
* provide interface of DynLibs unit in unit System

git-svn-id: trunk@29613 -
2015-02-03 20:00:00 +00:00
florian
c1091e1724 * added more asmmode directives to make compilation more robust in case the asmmode is changed by configuration files, resolves #27255
git-svn-id: trunk@29589 -
2015-01-31 10:37:48 +00:00
Jonas Maebe
16183bebfe * libc's open() function is a varargs function
git-svn-id: trunk@29585 -
2015-01-30 19:31:25 +00:00
sergei
50639d89e7 * x86_64-linux startup: use ABI tag from abitag.o, cleaned out inlined versions.
git-svn-id: trunk@29578 -
2015-01-29 17:07:45 +00:00
sergei
2efa348b19 - Cleaned out more assembler hacks around ExitCode variable
git-svn-id: trunk@29560 -
2015-01-26 20:08:11 +00:00
sergei
d6f5bcee45 - Cleaned out assembler hacks around ExitCode variable
git-svn-id: trunk@29559 -
2015-01-26 19:55:58 +00:00
sergei
e2eb6dffbb + x86_64-linux: build ABI tag separately, the purpose it twofold: 1) it is the only part of startup that cannot be yet handled directly by compiler, 2) it provides a single point to modify whenever necessary.
git-svn-id: trunk@29558 -
2015-01-26 17:15:48 +00:00
pierre
3a9abf75a9 Reset FPU state in SignalToRunError for SIGFPE, fixes tw12214 failure
git-svn-id: trunk@29551 -
2015-01-26 09:00:32 +00:00
sergei
3a3f7859f7 * x86_64-linux: ExitCode is passed as parameter to _haltproc, so assembler hacking with global variable is not necessary.
git-svn-id: trunk@29542 -
2015-01-24 15:28:00 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
svenbarth
fe49a4b60c Fix Fp*Stat calls when compiling with FPC_USE_LIBC for x86_64-linux.
rtl/linux/ostypes.inc:
  * correctly define the _STAT_VER_* constants for x86_64 (the ifdefs are based on those in the C header; for other platforms this needs to be checked)

git-svn-id: trunk@29241 -
2014-12-09 21:23:39 +00:00
svenbarth
01278e2800 Fix three warnings when compiling with FPC_USE_LIBC.
osmacro.inc:
  * FpFstat, fpLstat and FpStat: correctly set the result value instead of relying on the result location being the same for cdecl functions as for register functions

git-svn-id: trunk@29240 -
2014-12-09 21:21:45 +00:00
florian
0d717c7e0e * update by newer lazarus version
git-svn-id: trunk@29212 -
2014-12-07 18:44:33 +00:00
sergei
66d735c536 - MIPS: forward declaration of fpc_threadvar_relocate_proc is not needed.
git-svn-id: trunk@29115 -
2014-11-22 20:48:53 +00:00
sergei
3a5e6485b5 - RTL: removed InitVariantManager, it was an empty procedure since day 1.
git-svn-id: trunk@29114 -
2014-11-22 20:35:46 +00:00
yury
c40960466a * More correctly scan Elf Auxiliary Vector. Fixes possible crash when the first vector entry is AT_NULL. Issue #26973.
git-svn-id: trunk@29065 -
2014-11-12 14:52:56 +00:00
Károly Balogh
6381280ebd arm-linux: new gprt0 based on cprt0, plus gmon initialization, so profiling output generation actually works now
git-svn-id: trunk@28663 -
2014-09-14 17:07:35 +00:00
sergei
ad2963783e * m68k-linux startup code:
+ initialize __stkptr variable (was missing, causing any stack check to fail)
 + non-executable stack marker.

git-svn-id: trunk@28249 -
2014-07-23 13:55:38 +00:00
sergei
e65c4e13e0 * m68k: updated/fixed dllprt0.as, now able to link a shared library.
git-svn-id: trunk@28189 -
2014-07-09 22:59:13 +00:00
sergei
15ff2c1236 * m68k: Fixed name of ELF interpreter, and updated cprt0.as to somewhat working state. Now a "hello world" program using libc can be linked and launched, but anything more complex needs another round of fixing the parameter passing code, in order to get the stack properly balanced.
git-svn-id: trunk@28181 -
2014-07-07 20:08:50 +00:00
sergei
12e0416323 * m68k-linux: now actually fixed syscall failure conditions.
git-svn-id: trunk@28092 -
2014-06-27 19:41:02 +00:00
sergei
4b4651d298 * m68k-linux: syscalls are expected to return -1 on failure, not -errno. This fixes some of the tests, webtbs/tw2494 is one of them.
git-svn-id: trunk@28089 -
2014-06-27 15:41:51 +00:00
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +00:00
sergei
7f9c65d4c1 * x86_64-linux: include startup units into build.
git-svn-id: trunk@27415 -
2014-03-31 15:58:22 +00:00
sergei
eb30da60a6 * x86_64-linux: fixed existing Pascal startup code (syntax only, operation not tested yet) and added missing files.
git-svn-id: trunk@27414 -
2014-03-31 15:57:11 +00:00
sergei
1643c175f2 + .so startup code for sparc-linux.
git-svn-id: trunk@27412 -
2014-03-31 15:45:16 +00:00
marco
a818559481 * clocale moved to rtl-extra.
git-svn-id: trunk@27376 -
2014-03-30 15:27:35 +00:00
marco
d6f5ca21b9 * moved units ipc for *BSD, darwin/iphonesim and linux. The others are
makefile cleanups.

git-svn-id: trunk@27373 -
2014-03-30 13:13:13 +00:00
marco
c6424b2e0b * moved unit terminfo to rtl-console
git-svn-id: trunk@27353 -
2014-03-29 21:00:50 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
marco
7f8a9bcf6e * serial to rtl-extra
git-svn-id: trunk@27350 -
2014-03-29 20:06:36 +00:00
marco
c465d3d64a * moving 4 cp9* units. These are 16-bit and big.
git-svn-id: trunk@27349 -
2014-03-29 19:43:13 +00:00
marco
ed3a49372d * strutils moved to packages/rtl-objpas
git-svn-id: trunk@27339 -
2014-03-29 17:51:44 +00:00
marco
c376210946 * regenned makefiles which were regennerated with a 2.6.x fpcmake in the rtl-unicode transition
Mantis #25897

git-svn-id: trunk@27231 -
2014-03-22 20:11:13 +00:00
marco
a1351db576 * rtl-unicode package, containing unicodeducet, collation units and *bidi* units
git-svn-id: trunk@27207 -
2014-03-20 18:28:38 +00:00
sergei
cfd2600b24 - Don't include softfpu code on SPARC, unless bootstrapping with 2.6.
- Atari is never compiled on SPARC or MIPS (and even it does one day, softfpu is not needed).

git-svn-id: trunk@27203 -
2014-03-20 17:20:58 +00:00
sergei
7ba4e67564 * Fixed Linux FPU exception mapping for x86_64 and MIPS, might be still incomplete, but at least operations yielding NaNs no longer produce EAccessViolation.
git-svn-id: trunk@27194 -
2014-03-20 01:59:06 +00:00
sergei
9801288cdc * Removed SysInitFPU/SysResetFPU from (remaining) system units initialization code. It is redundant there because it is called from fpc_cpuinit, or, in case of i386, from fpc_cpucodeinit.
* It fixes regression of tw16283b after r27169. 
* BeOS, Haiku: added fpc_cpucodeinit to compensate for removal of SysInitFPU, it also enables use of CPU features like SSE.

git-svn-id: trunk@27171 -
2014-03-17 10:53:52 +00:00
sergei
3a55c4301e * Since StackTop=StackBottom+StackLength, any two variables are sufficient to describe stack, the third one is redundant.
* As a first part of cleanup, replaced StackTop with function returning StackBottom+StackLength.
* On Win32 and Win64, StackTop returns the stack base from TIB instead.

git-svn-id: trunk@27119 -
2014-03-12 19:48:03 +00:00
marco
2d9aa35d22 * now also stdconv and convutils removed from Makefile.fpc
git-svn-id: trunk@26916 -
2014-03-01 21:07:36 +00:00
marco
48e4555c12 * Removed some redundant rules
git-svn-id: trunk@26915 -
2014-03-01 21:06:16 +00:00
svenbarth
e734ca7a9b M68k: Fix passing of environment variables. Fixes the compiler not being able to execute the external assembler and linker.
* rtl/linux/m68k/prt0.as:
    between the arguments and the environment variables is a NULL; keep this in mind when loading the address of the first environment variable.

git-svn-id: trunk@26851 -
2014-02-23 12:41:05 +00:00
Károly Balogh
c6d60979d2 set errno after syscalls. this fixes tiorte test at least. this code ideally should be in assembly, but it seems the assembler reader needs some fixing first...
git-svn-id: trunk@26828 -
2014-02-22 05:30:04 +00:00
svenbarth
1e48c7c930 Now that spilling correctly works on m68k we definitely need to store/restore the registers inside the FpSyscall functions. Fixes quite some tests.
* rtl/linux/m68k/syscall.inc:
    Remove "assembler" modifier and instead use an inline asm block with an accurate list of modified registers so that the compiler correctly stores/restores them

git-svn-id: trunk@26804 -
2014-02-16 21:21:40 +00:00
sergei
ead8d0c1d4 * Clean up i386-Linux startup code for shared libraries:
* The initialization code is a normal function called by runtime linker, stack layout at process startup is irrelevant.
  * Stack pointer can be replaced by frame pointer, they are just a few bytes away.
  * IsLibrary is set to true in fpc_libinitializeunits and therefore assigning it here is redundant.
  * The exitcode is passed as argument to haltproc, so messing with PIC is not necessary.

git-svn-id: trunk@26759 -
2014-02-13 04:54:21 +00:00
sergei
83fda1e6a9 * Frame size on MIPS must be divisible by 8, thanks to Vsevolod Alekseyev for spotting this.
git-svn-id: trunk@26734 -
2014-02-08 21:06:30 +00:00
yury
73c26bd6be * mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
Tomas Hajny
be6fdf21ce + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26527 -
2014-01-20 00:23:36 +00:00
marco
f09374a197 * winsock(and -2), sockets and gpm to rtl-extra.
git-svn-id: trunk@26426 -
2014-01-11 19:45:37 +00:00