Commit Graph

296 Commits

Author SHA1 Message Date
Jonas Maebe
69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so
that the type of the parameters can be determined automatically
   o added compilerproc declarations for all helpers called in the compiler
     via their assembler name, so we can look up the corresponding procdef

git-svn-id: trunk@23325 -
2013-01-06 15:05:40 +00:00
Jonas Maebe
5f3d762788 * when the stack size is overestimated so much that it's larger than the
stack pointer (can happen for externally started threads), truncate it
    to a legal value (should stop crashes when enabling stack checking on
    iOS 6)

git-svn-id: trunk@23320 -
2013-01-06 15:05:16 +00:00
pierre
7457a0f321 Use new getdirentriesi49 syscall, contributed by Pascal Stumpf
git-svn-id: trunk@23223 -
2012-12-26 14:33:30 +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
paul
d7d8c10aaf bsd: set DefaultSystemCodePage without cwstring.pas
git-svn-id: trunk@22410 -
2012-09-17 02:33:06 +00:00
marco
1a895a875b * move fpgetenv(pchar) to unit system for syscall based *nix rtls.
It was already available for libc based *nix rtls

git-svn-id: trunk@22365 -
2012-09-10 09:21:56 +00:00
Jonas Maebe
c71cb9dc69 * fixed null termination of cmdline (based on patch by C Western,
mantis #22742) -- that function seems like a good candidate to
    put in a shared include file though

git-svn-id: trunk@22270 -
2012-08-30 21:30:31 +00:00
pierre
23f21254bd + Add USE_SIGACTION_SIGTRAMP
git-svn-id: trunk@21027 -
2012-04-24 23:03:08 +00:00
pierre
e3aabfec79 * OpenBSD uses a special sigprocmask syscall
git-svn-id: trunk@20900 -
2012-04-16 15:43:44 +00:00
pierre
2d130d20e7 + Add forward declaration of InstallDefaultSignalHandler for use inside sighnd.inc
git-svn-id: trunk@20782 -
2012-04-11 12:56:11 +00:00
pierre
db3346994c * Use correct sign extension for FPC_DOSYS1w
git-svn-id: trunk@20775 -
2012-04-09 21:57:13 +00:00
pierre
b98529673c Explicitly set fpSigAction return value
git-svn-id: trunk@20774 -
2012-04-09 21:56:02 +00:00
pierre
78e129931b Add NETBSD_USE_STAT30 conditional for recent NetBSD changes, not yet used
git-svn-id: trunk@20741 -
2012-04-07 15:37:03 +00:00
pierre
67bc3c0e0b st_mode is before st_ino for NetBSD in stat record
git-svn-id: trunk@20737 -
2012-04-06 23:55:57 +00:00
pierre
981ec54226 NetBSD code added
git-svn-id: trunk@20338 -
2012-02-13 16:44:23 +00:00
Jonas Maebe
aefe5acd72 - removed "packed" modifiers from record types, the C versions don't have any
__attribute__((__packed__)) either (and {$packrecords c} is always active
    when compiling this file)

git-svn-id: trunk@19612 -
2011-11-08 22:04:36 +00:00
Jonas Maebe
c7d38570fd * fixed file descriptor control and locking flags (patch by Barlone,
bug #20617)

git-svn-id: trunk@19611 -
2011-11-08 21:44:49 +00:00
pierre
3f4dd5ac9b * Fix parameter type for sigsuspend syscall for OpenBSD
git-svn-id: trunk@19609 -
2011-11-08 17:01:02 +00:00
paul
1ccf16358c rtl: init widestring and unitcodestring managers before initialization of Standard IO files (stdin,stdout,stderr)
git-svn-id: trunk@19542 -
2011-10-25 02:29:29 +00:00
pierre
216113e80d Fix compilation error introduced in my last patch for non-openbsd systems
git-svn-id: trunk@19468 -
2011-10-11 23:07:20 +00:00
marco
199f7535b4 * fix pipe call for openbsd. fpmake now seems to work.
git-svn-id: trunk@19440 -
2011-10-09 19:34:21 +00:00
pierre
a6280de177 * Fix getdirentries problem for openbsd
git-svn-id: trunk@19418 -
2011-10-08 16:46:38 +00:00
pierre
03b4681c1b * Rectify position of BirthTime fields in Stat record for openbsd
git-svn-id: trunk@19416 -
2011-10-08 13:01:05 +00:00
pierre
d1b2e2d439 Fix fpgetcwd for openbsd
git-svn-id: trunk@19410 -
2011-10-07 21:51:03 +00:00
pierre
902ba04ecd * Fix stat type for openbsd
git-svn-id: trunk@19409 -
2011-10-07 21:28:08 +00:00
pierre
7f69e6426d * Try to update i386/openbsd port
git-svn-id: trunk@19350 -
2011-10-03 23:22:28 +00:00
pierre
b9009d8c02 * Fix PIC code for BSD x86_64 syscall and x86_64 freebsd startup assembler files
git-svn-id: trunk@19181 -
2011-09-22 21:16:42 +00:00
marco
07fabab526 * fpgetsid, Mantis #20329
git-svn-id: trunk@19178 -
2011-09-22 13:21:38 +00:00
Jonas Maebe
6920c7a0c1 * fixed stat/fstat-related types for iphonesim platform
(mantis #20249)

git-svn-id: trunk@19078 -
2011-09-17 09:31:32 +00:00
pierre
889caf5911 * fix type of fourth parameter of msgrcv function
git-svn-id: trunk@16409 -
2010-11-23 23:44:34 +00:00
pierre
56a35214ad * Avoid warning at compilation
git-svn-id: trunk@15894 -
2010-08-24 14:57:01 +00:00
marco
6cc641c7bb * another fix for mmap from Chrisopher Key. 32-bit this time. Mostly in
unused arguments atm, but could be important for other uses of mmap.

git-svn-id: trunk@15871 -
2010-08-22 09:46:17 +00:00
marco
c59973d149 * patch from Christopher Key (via Alonso Cardenas Marquez) to fix mmap
syscall.  Recent versions of FreeBSD check the seventh parameter, and
    that code wasn't correct in FPC.

git-svn-id: trunk@15785 -
2010-08-12 10:56:31 +00:00
daniel
1009a84e25 + Add modify_ldt to linux unit
+ 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 -
2010-07-18 21:53:26 +00:00
marco
5fac78e334 * start exchanging untyped "Pointer" handle types to pointer to empty records.
see discussion mantis 16607

git-svn-id: trunk@15404 -
2010-06-10 20:22:22 +00:00
Jonas Maebe
255a9e7d22 * dirent structure available on 10.6 and iPhoneOS
* added some missing private fields to "dir" type for all Darwin platforms

git-svn-id: trunk@14334 -
2009-12-05 11:29:59 +00:00
marco
778505701c * set/getrlimit now also visible in baseunix when syscalls are used.
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 -
2009-10-17 19:14:09 +00:00
marco
5121f470a2 * moved ugetrlimit to the implementation (as linux specific call it shouldn't be exported)
* syscall implementation for FreeBSD of get/setrlimit

git-svn-id: trunk@13875 -
2009-10-16 18:47:43 +00:00
Jonas Maebe
c40d6cca8b + Darwin-specific fcntl constants
git-svn-id: trunk@13186 -
2009-05-23 10:10:56 +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
Jonas Maebe
d6f3ecc9fc * fixed definition of ino_t (64 instead of 32 bit) and of stat record
(slightly different order of fields) for darwin/arm

git-svn-id: trunk@13069 -
2009-05-01 11:18:18 +00:00
Jonas Maebe
1f6ec36064 * save/restore errno inside reenable_signal, because it can be called
from inside signal handlers

git-svn-id: trunk@12997 -
2009-04-04 09:59:41 +00:00
Jonas Maebe
590f4d2efc - deleted (old 1.0.x compatibility file)
git-svn-id: trunk@12928 -
2009-03-19 22:38:05 +00:00
Jonas Maebe
a8eb1cc30b - removed FPC_DARWIN_JMP_MAIN and FPC_DARWIN_PASCALMAIN defines and ifdefs
git-svn-id: trunk@12897 -
2009-03-15 12:21:59 +00:00
Jonas Maebe
d4d7b695c7 - removed all "islibrary:=false;" assignments from system unit
initialisation code, because that's a typed constant already initialised
    to that value and it interferes with a generic solution to set islibrary
    to true for libraries

git-svn-id: trunk@12376 -
2008-12-17 17:48:04 +00:00
Jonas Maebe
d9c5cd76cd * some more darwin/arm stuff I forgot to commit earlier:
o softfloat support for bsd/system.pp (enabled when compiling for ARM)
    o include darwin/arm sigaction structs in darwin/signal.inc when
      compiling for ARM (can't commit the file itself that contains
      those structs due to licensing issues though)

git-svn-id: trunk@12327 -
2008-12-10 21:10:59 +00:00
micha
4594758ae5 + add poll support for unix
git-svn-id: trunk@12128 -
2008-11-16 17:05:47 +00:00
marco
699a0ba70f * another part of Almindor's fix.
git-svn-id: trunk@12007 -
2008-11-01 11:53:21 +00:00
Almindor
dbe3cfba21 * remove unused oldfpccall from amd64 BSD syscall code
git-svn-id: trunk@12003 -
2008-10-31 18:19:44 +00:00