loop when attempting to terminate a process via the RTL compiled into
a Linux shared library (mantis #17383)
* call FPC_LIB_EXIT (the internal/generic RTL finalisation routine) instead
of FPC_SHARED_LIB_EXIT (the Linux-specific "process exit" code for shared
libraries) as "fini" routine (fixes#14958 again after reverting r14184)
git-svn-id: trunk@16418 -
Pablo Alfaro (mantis #14075, also fixes#13363):
* ipc msgtyp is clong, not cint
* TIPC_Perm and TSEMid_ds are different on 64 bit systems
* fixed passing semun arguments (have to be passed by value, not reference)
* fixed the order of parameters to msg* syscalls, and don't use
TIPC_Kludge for msgrcv syscall (only for ipccall.inc variants)
* use new operation variants on 64 bit platforms in ipccall.inc
* introduced use kernel_mode/uid/gid_t types for use by the Linux ipc
records
* fixed type of TSEMid_ds.sem_base for Darwin
* added {$packrecords c} to ipc unit, and {$packrecords 4} around
certain structs for Darwin as in the C headers
* fixed passing semun argument to semctl for libc platforms (by
value, not reference)
git-svn-id: trunk@16336 -
* startup code in c/g/prt0.as does not contain .text references anymore
* fixed shared library startup code for ppc64: startup and shutdown code is properly called, making the tlibrary2 test succeed now
git-svn-id: trunk@16199 -
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 -
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 -
later: the same as i386/darwin, except
a) uses the non-fragile Objective-C ABI/runtime
b) does not require stubs for direct calls/jumps (not required for
i386/darwin under 10.6 and later either, but still generated
there for backwards compatibility)
c) only the same packages are enabled as for ARM/Darwin
d) MacOSAll is compiled specifically for the iPhoneSimulator SDK
This target also defines the symbol "darwin" apart from the target
name "iphonesim" for source code compatibility reasons.
git-svn-id: trunk@16065 -
(mantis #17100)
* also use a syscall to call modify_ldt when FPC_USE_LIBC is defined,
because it's not exported as a function from libc
git-svn-id: trunk@15838 -
+ Add sched_yield to linux unit
- Remove clone for m68k from linux unit (unimplemented assembler section)
+ Add fpsigtimedwait to baseunix unit
git-svn-id: trunk@15602 -
This means it is not aliased in the body of the system unit (which causes
trouble with the delphi type of the same name), but baseunix/unix/unixtype
will containue to export the type.
git-svn-id: trunk@14584 -
on systems that force ugetrlimit, use that transparently. (since
ugetrlimit is not posix in theory or practice, we can't export it),
resolves 13916
git-svn-id: trunk@13903 -
o fixed gprof under linux/i386
o fixed pic-compilation of the linux/i386 rtl
o initialisation of linux shared libraries is now possible with pic-code
git-svn-id: trunk@13703 -
whose size depends on whether the run time environment is 32 or
64 bit (mantis #13647)
+ added flock64 type for 32 bit systems (usable with special 64 bit
fcntl operations)
git-svn-id: trunk@13119 -
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 -