tom_at_work
b0bd6a13ec
Fixed argc/argv/envp for arm/linux shared libraries. They are by default in registers a1/a2/a3 as per ABI: the first arguments when calling a method (in this case the FPC_SHARED_LIB_START) are passed via registers, not on the stack.
...
git-svn-id: trunk@17033 -
2011-02-27 17:22:29 +00:00
tom_at_work
a8bf34d3fc
Correctly return to caller in ARM/Linux shared library startup code instead of fall-through to system exit.
...
git-svn-id: trunk@16982 -
2011-02-23 09:41:19 +00:00
tom_at_work
56d30e7da0
Set up environment variables and call Pascal initialization in arm/linux shared library initialization
...
git-svn-id: trunk@16981 -
2011-02-22 22:32:44 +00:00
daniel
3307d98c40
- Revert micro-exe mode for now.
...
git-svn-id: trunk@16170 -
2010-10-15 16:49:48 +00:00
daniel
2139a229d3
+ If no unit is used, no symbol inside the system unit is used,
...
and no language features requiring initialization are used,
do not initialize units, but just configure the fpu and
signal handlers.
git-svn-id: trunk@16124 -
2010-10-10 17:40:39 +00:00
daniel
f4ec65add8
- Remove unused variable fpustate.
...
git-svn-id: trunk@16123 -
2010-10-10 15:09:05 +00:00
Jonas Maebe
eda7a8d672
* replaced the "quick exit" instruction sequences from the syscall variants
...
lacking "nostackframe" with branches to an exit label, because in that
case the compiler-generated exit code must be executed to balance the
stack (only done for EABI; should probably also be done for OABI, but
I can't test that)
git-svn-id: trunk@16073 -
2010-10-01 15:06:57 +00:00
florian
3668be7ee4
* minimal implementation by Benjamin 'BeRo' Rosseaux
...
git-svn-id: trunk@15484 -
2010-06-27 11:07:35 +00:00
florian
5692c9e787
* tabs by spaces replaced
...
git-svn-id: trunk@15483 -
2010-06-27 11:04:27 +00:00
michael
e8a375c774
* Patch from Henry Vermaak to fix EABI kernel API for arm.
...
git-svn-id: trunk@13563 -
2009-08-20 08:00:50 +00:00
Jonas Maebe
f6d452c2c0
* remove the RTL's installed signal handlers at the end of the system
...
unit's initialization code in case we're in a library
+ implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
UnhookSignal() in the sysutils unit
* for Kylix compatibility, these routines support operating on
SIGINT and SIGQUIT as well, although they are not hooked by default
by FPC. The run time errors/exception codes for these signals are
resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
to 234).
* changed the BSD syscall version of fpsigaction to use pointer
rather than "var" arguments (compatible with other targets, and
required to be able to pass nil arguments inside the system unit)
-> together fixes mantis #12704
git-svn-id: trunk@13077 -
2009-05-02 09:40:44 +00:00
florian
4bc28de96f
* use different haltproc for arm-linux-eabi, this should be cleaned up by using also pascal units for the startup code for arm-linux
...
git-svn-id: trunk@12808 -
2009-02-27 15:20:20 +00:00
Jonas Maebe
3216e8c7bc
* mark produced object files as "does not require executable stack" by
...
default for Linux (overridable using -WX switch) (mantis #11563 )
git-svn-id: trunk@12356 -
2008-12-12 16:26:25 +00:00
micha
04d8ad3f17
* fix linux syscall numbers naming consistency #2 (overlooked some)
...
git-svn-id: trunk@12154 -
2008-11-17 21:48:02 +00:00
micha
176f545c3b
* fix linux syscall numbers naming consistency (fixes x86_64 unit linux build)
...
git-svn-id: trunk@12153 -
2008-11-17 21:46:34 +00:00
florian
10e0f0e387
* keep stack aligned at 8 byte boundary inside the startup code
...
git-svn-id: trunk@11934 -
2008-10-18 21:20:54 +00:00
florian
2cbdf2cd61
+ arm linux syscalls updated
...
git-svn-id: trunk@11930 -
2008-10-18 18:57:20 +00:00
florian
037f95c451
* fixed syscall0 for arm eabi
...
git-svn-id: trunk@11914 -
2008-10-18 13:49:39 +00:00
florian
3b5699e488
* removed packed, the stat record should be c packed
...
* deprecated old fields as it is done on other architectures
git-svn-id: trunk@11912 -
2008-10-18 13:48:17 +00:00
yury
9ef6e6bc24
* Fixed comments for EABI syscalls.
...
git-svn-id: trunk@11200 -
2008-06-05 07:47:45 +00:00
florian
3341418267
* fixed eabi syscalls: preserve non-volative registers
...
git-svn-id: trunk@11197 -
2008-06-04 18:18:08 +00:00
florian
72dd35a0d5
* set syscall base properly for eabi, submitted by Henry Vermaak
...
git-svn-id: trunk@11179 -
2008-06-03 13:29:16 +00:00
florian
c544d97de9
* fix edsp instructions detection
...
git-svn-id: trunk@10458 -
2008-03-07 21:51:14 +00:00
micha
a9972548b0
+ add arm-linux/uclibc startup code
...
git-svn-id: trunk@9725 -
2008-01-12 17:08:43 +00:00
florian
3036e1052f
+ gprof startup code
...
git-svn-id: trunk@9482 -
2007-12-16 17:36:46 +00:00
florian
0cb965fdbe
* comment in eabi code fixed
...
git-svn-id: trunk@9163 -
2007-11-08 21:03:14 +00:00
florian
4328d626cf
+ eabi syscall support
...
git-svn-id: trunk@9153 -
2007-11-07 20:42:25 +00:00
micha
07ab578088
* fix loading of exit code in haltproc for armeb, exitcode is 32 bit
...
git-svn-id: trunk@8949 -
2007-10-26 18:39:04 +00:00
florian
ea61793ca2
* fix by Carsten Bager
...
git-svn-id: trunk@8211 -
2007-08-02 07:44:32 +00:00
yury
b0834a01a0
* Don't use changed registers list. Save used registers directly in asm code.
...
git-svn-id: trunk@8201 -
2007-07-30 17:26:45 +00:00
yury
4b8777eb5a
* Optimize syscalls for arm-linux.
...
git-svn-id: trunk@8191 -
2007-07-29 15:57:15 +00:00
yury
27db4ec55a
* Final fix for threadvar access in syscall helpers on arm-linux. It fixes bugs #9191 and #9290 .
...
git-svn-id: trunk@8189 -
2007-07-29 15:21:44 +00:00
yury
a24803c63d
* Fixed threadvar access in syscall helpers on arm-linux. Bug #9290 .
...
git-svn-id: trunk@8186 -
2007-07-29 12:01:22 +00:00
florian
edebd84426
* fixed arm compilation
...
git-svn-id: trunk@6993 -
2007-03-25 10:57:17 +00:00
daniel
ae15527637
* Make ARM stat structure backwards compatible too.
...
git-svn-id: trunk@6965 -
2007-03-23 23:10:09 +00:00
florian
31c9a91af0
+ edsp detection for arm-linux
...
git-svn-id: trunk@6429 -
2007-02-11 16:21:04 +00:00
florian
9fe04923ad
* don't destroy registers in syscall helpers
...
git-svn-id: trunk@6342 -
2007-02-04 20:43:05 +00:00
florian
f9eefa118c
* newer kernels don't need anymore those braindead sigaction handler calling conventions
...
git-svn-id: trunk@6287 -
2007-02-01 20:07:17 +00:00
micha
b14c83a7e1
* stat records differ too much: use stat include file
...
git-svn-id: trunk@5126 -
2006-10-31 15:45:22 +00:00
peter
cfc810420a
* fixed base
...
git-svn-id: trunk@2645 -
2006-02-20 08:22:27 +00:00
marco
05bb11b2ba
* syscalls regenerated by Neli.
...
git-svn-id: trunk@2552 -
2006-02-12 21:45:34 +00:00
peter
94f2b1d941
* add initialstkptr to get the stackpointer at startup before
...
PASCALMAIN is called so the main body framepointer is seen as
a valid pointer with backtracing
git-svn-id: trunk@2266 -
2006-01-12 09:29:57 +00:00
florian
d4bb99a5fb
+ runerror 214: bus error/data misaligment
...
git-svn-id: trunk@1263 -
2005-10-03 08:25:20 +00:00
peter
4ace790492
* remove $Log
...
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
16b121f8c4
* unblock signal in signalhandler, remove the sigprocmask call
...
from setjmp
2005-04-24 21:19:22 +00:00
florian
314fe14247
+ routines in baseunix can be overriden by processor specifics in bsyscall.inc
2005-03-03 20:58:38 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
7fb8c3dfbd
* signal cleanup for linux
...
* sigactionhandler instead of tsigaction for bsds
* sigcontext moved to cpu dir
2005-01-30 18:01:15 +00:00