Pierre Muller
0f0454a092
Modify references to old syslinux unit in comments
2023-09-19 21:53:26 +00:00
florian
7ff6d78543
* mips(el)-linux: provide __libc_csu_* as weak symbols
2022-04-11 22:22:34 +02:00
Pierre Muller
ae3c0a2151
Add _IO_stdin_used global
2022-03-06 12:14:51 +00:00
pierre
83a1f5fbc3
Also set __stkptr inside cprt0.as startup assembly source
...
git-svn-id: trunk@48222 -
2021-01-19 22:28:37 +00:00
florian
295041e523
* updated linux syscall numbers
...
git-svn-id: trunk@43835 -
2020-01-02 11:08:40 +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
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
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
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
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
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
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
sergei
a3364a4b80
- RTL, Linux/FreeBSD shared library startup: removed FPC_SHARED_LIB_EXIT label, it is a leftover from times when library startup code was erroneously halting owning process on exit.
...
git-svn-id: trunk@25737 -
2013-10-10 13:14:56 +00:00
Jonas Maebe
81597bf171
* updated address of FSF (mantis #24646 , patch by Alexey Svistunov)
...
git-svn-id: trunk@24986 -
2013-06-27 14:01:18 +00:00
sergei
6f1997f5e5
+ MIPS: added profiling support
...
git-svn-id: trunk@23950 -
2013-03-21 13:40:50 +00:00
sergei
be1fcc8e3d
* Forgotten delay slot was causing exit code loss in most library-related tests.
...
git-svn-id: trunk@23874 -
2013-03-16 20:01:33 +00:00
sergei
0a155e3ae1
MIPS startup code:
...
- Removed tabs.
- Removed nonsense code involving $s7.
+ Call finalization procedure in the end, fixes webtbs/tw9089.
+ added non-executable stack marker.
git-svn-id: trunk@23842 -
2013-03-15 12:33:10 +00:00
sergei
58f8a00814
* MIPS fppipe(): added error handling, and fixed parameter location (assembler procedures should not modify initial location of parameters, but one of MIPS code generator hacks copies parameters to stack. That hack is subject to remove).
...
git-svn-id: trunk@23610 -
2013-02-13 18:01:12 +00:00
pierre
bb1e7646cb
* More changes to better obey ABI rules
...
git-svn-id: trunk@23588 -
2013-02-10 13:01:49 +00:00
pierre
f74954dd32
Correct code for shared library start
...
git-svn-id: trunk@23559 -
2013-02-01 21:14:44 +00:00
sergei
ea36d4996a
+ MIPS: In PIC mode, set $t9 to correct value before exiting SignalToRunError, without it any subsequent access to global variable will repeatedly crash.
...
+ Added alias name to SignalToRunError, to be consistent with other targets.
git-svn-id: trunk@23553 -
2013-01-31 21:44:06 +00:00
pierre
bb418a1c94
Try to convert dllprt0.as code to PIC
...
git-svn-id: trunk@23444 -
2013-01-18 15:02:26 +00:00
pierre
bba4932ef9
* Fix commit 23220, by moving declaration from syscallh.inc to syscall.inc
...
git-svn-id: trunk@23221 -
2012-12-25 22:54:49 +00:00
pierre
70a29668a4
Try to fix simply the fpc_threadvar_relocate_proc problem
...
git-svn-id: trunk@23220 -
2012-12-24 16:23:30 +00:00
sergei
278fbb742e
* mips-linux: call SetErrno in order to remove dependence on threadvar implementation details.
...
git-svn-id: trunk@23197 -
2012-12-21 04:42:41 +00:00
pierre
a311c53167
Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu)
...
git-svn-id: trunk@21900 -
2012-07-12 11:53:59 +00:00
pierre
c38b78ba65
+ Add missing implementation of pipe syscall
...
git-svn-id: trunk@21859 -
2012-07-11 07:48:54 +00:00
pierre
75420e78a8
Reset FPU exceptions and retrun after changing sigc_pc value if UContext is assigned
...
git-svn-id: trunk@21847 -
2012-07-10 13:34:25 +00:00
pierre
b0fcb8cb2f
Third field of SignalToRunError must be PUContext type
...
git-svn-id: trunk@21842 -
2012-07-10 10:06:02 +00:00
pierre
645698183d
Integer Overflow signal must be mapped to error 215, not 205, which is for floating point overflow
...
git-svn-id: trunk@21807 -
2012-07-06 15:54:45 +00:00
pierre
c156b5a8b2
First version working to link with shared c library
...
git-svn-id: trunk@21789 -
2012-07-05 20:58:27 +00:00
pierre
d8d7c38aec
* Use to call PASCALMAIN to allow linking with PIC Code
...
git-svn-id: trunk@21788 -
2012-07-05 20:57:25 +00:00
pierre
5597af2279
* Try to adapt sigcontext record to MIPS linux system
...
git-svn-id: trunk@21714 -
2012-06-26 16:23:06 +00:00
pierre
150578f2c0
+ Use SigContext sigc_sp and sigc_pc fields for HandleErrorAdrFrame parameters
...
git-svn-id: trunk@21703 -
2012-06-25 12:02:02 +00:00
pierre
0cf5b9abdb
+ Set __stkptr value
...
git-svn-id: trunk@21702 -
2012-06-25 11:59:27 +00:00
pierre
6b57f3a3d1
* Use include prt0.as for cprt0, gprt0 and dllprt0 as files
...
git-svn-id: trunk@21665 -
2012-06-20 20:27:55 +00:00
pierre
e4ebe2e52e
* Fix wrong .size for _synamic_start
...
git-svn-id: trunk@21664 -
2012-06-20 20:27:07 +00:00
pierre
007ea17f36
* Move incorrect delay slot instruction before jump instruction
...
git-svn-id: trunk@21629 -
2012-06-17 12:39:39 +00:00
pierre
b5807cb907
Merge of 21562 by Foxsen, adapted to work for different ABIs
...
git-svn-id: trunk@21610 -
2012-06-14 15:04:53 +00:00
pierre
bd060f4627
Stat record matching closer system include file
...
git-svn-id: trunk@21528 -
2012-06-07 23:03:41 +00:00
pierre
a7c9e4768e
* Patch from Fuxin Zhang
...
git-svn-id: trunk@21527 -
2012-06-07 23:02:29 +00:00
florian
4890ec240e
* padding corrected
...
git-svn-id: trunk@21426 -
2012-05-29 05:38:47 +00:00
florian
181bc24945
* fix mips(el) stat record
...
git-svn-id: trunk@21418 -
2012-05-28 16:22:11 +00:00
florian
48d3eb86a6
* fixes _haltproc, Hello world works on mipsel
...
git-svn-id: trunk@21125 -
2012-04-29 21:34:03 +00:00
florian
16e79969aa
* started to fix simple mips syscalls
...
* corrected SA_* values
git-svn-id: trunk@20326 -
2012-02-12 18:20:43 +00:00
florian
a2009af76e
* updated MIPS code so the compiler gets through the system unit
...
git-svn-id: trunk@20259 -
2012-02-05 08:14:46 +00:00
florian
8b339ded7a
* started to fix the mips(el) linux rtl
...
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
florian
5a64b05cb4
* put generic mips code into mips dir
...
git-svn-id: trunk@20254 -
2012-02-04 20:14:41 +00:00
tom_at_work
9ce34c63c9
Fix shared library loading and unloading for Linux platforms. Shared library initialization and finalization are now called correctly at program startup for compile-time linked dynamic libraries on powerpc-/powerpc64-/arm-/i386- and x86_64-linux.
...
Every startup code must now provide an additional entry point called "_dynamic_start" that is set as new the entry point if the program links to a Pascal shared library. Its purpose is to set up an exit hook usually passed via a register, which should be called during program finalization if non-nil.
We use this additional entry point because this register only has meaningful content when there are any compile-time linked shared libraries, otherwise it often contains random garbage. The difference between the _dynamic_start and the original code is minimal; actually in all implementations the _dynamic_start code passes on control to the old startup code, so we use an additional entry point instead of an additional startup file.
Detailed changes and fixes list:
compiler:
always link to the dynamic loader (ld.so) when compiling shared libraries. Fixes crashes in the loader during shared library finalization on some Linuxes
remove additional ENTRY() section in arm linker script
select either _dynamic_start or _start as entry point depending on whether this is a static or dynamic executable
powerpc*:
do not set System.isLibrary in startup code, it will be set during library initialization anyway
trap in case of reaching code locations that should not be reached instead of looping (possibly endlessly)
powerpc:
register atexit() function pointer if supplied to the executable and call it during shutdown
correctly set argc/argv/envp in shared library code and return correctly to the caller after initialization
pass on exitcode in shared library haltproc
use the more recent exit_group system call if available for shutdown
powerpc64
fix .ptrgl stub, do not set the environment register to the value of the GOT entry in the function descriptor
arm
do not set System.isLibrary in startup code, it will be set during library initialization anyway
reload exitcode to pass to shutdown
mips,mipsel,sparc
added stubs to allow correct linking
git-svn-id: trunk@19036 -
2011-09-08 21:17:35 +00:00
daniel
3307d98c40
- Revert micro-exe mode for now.
...
git-svn-id: trunk@16170 -
2010-10-15 16:49:48 +00:00