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