summaryrefslogtreecommitdiff
path: root/rtl/linux
Commit message (Collapse)AuthorAgeFilesLines
* * m68k-linux startup code:sergei2014-07-231-0/+2
| | | | | | | | + initialize __stkptr variable (was missing, causing any stack check to fail) + non-executable stack marker. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28249 3ad0048d-3df7-0310-abae-a5850022a9f2
* * m68k: updated/fixed dllprt0.as, now able to link a shared library.sergei2014-07-091-26/+31
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28189 3ad0048d-3df7-0310-abae-a5850022a9f2
* * m68k: Fixed name of ELF interpreter, and updated cprt0.as to somewhat ↵sergei2014-07-071-55/+64
| | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@28181 3ad0048d-3df7-0310-abae-a5850022a9f2
* * m68k-linux: now actually fixed syscall failure conditions.sergei2014-06-271-7/+7
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28092 3ad0048d-3df7-0310-abae-a5850022a9f2
* * m68k-linux: syscalls are expected to return -1 on failure, not -errno. ↵sergei2014-06-271-7/+35
| | | | | | This fixes some of the tests, webtbs/tw2494 is one of them. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28089 3ad0048d-3df7-0310-abae-a5850022a9f2
* Makefiles updated with fpcmake rev 27428pierre2014-04-101-4/+10
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27508 3ad0048d-3df7-0310-abae-a5850022a9f2
* * x86_64-linux: include startup units into build.sergei2014-03-312-2/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27415 3ad0048d-3df7-0310-abae-a5850022a9f2
* * x86_64-linux: fixed existing Pascal startup code (syntax only, operation ↵sergei2014-03-314-24/+270
| | | | | | not tested yet) and added missing files. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27414 3ad0048d-3df7-0310-abae-a5850022a9f2
* + .so startup code for sparc-linux.sergei2014-03-311-0/+68
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27412 3ad0048d-3df7-0310-abae-a5850022a9f2
* * clocale moved to rtl-extra.marco2014-03-302-81/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27376 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved units ipc for *BSD, darwin/iphonesim and linux. The others aremarco2014-03-304-301/+76
| | | | | | | makefile cleanups. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27373 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moved unit terminfo to rtl-consolemarco2014-03-292-81/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27353 3ad0048d-3df7-0310-abae-a5850022a9f2
* * printer unit moved. Amiga unit also moved but it is not actively used.marco2014-03-292-94/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27351 3ad0048d-3df7-0310-abae-a5850022a9f2
* * serial to rtl-extramarco2014-03-292-81/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27350 3ad0048d-3df7-0310-abae-a5850022a9f2
* * moving 4 cp9* units. These are 16-bit and big.marco2014-03-292-76/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27349 3ad0048d-3df7-0310-abae-a5850022a9f2
* * strutils moved to packages/rtl-objpasmarco2014-03-292-89/+107
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27339 3ad0048d-3df7-0310-abae-a5850022a9f2
* * regenned makefiles which were regennerated with a 2.6.x fpcmake in the ↵marco2014-03-221-10/+299
| | | | | | | | | rtl-unicode transition Mantis #25897 git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27231 3ad0048d-3df7-0310-abae-a5850022a9f2
* * rtl-unicode package, containing unicodeducet, collation units and *bidi* ↵marco2014-03-202-459/+145
| | | | | | units git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27207 3ad0048d-3df7-0310-abae-a5850022a9f2
* - Don't include softfpu code on SPARC, unless bootstrapping with 2.6. sergei2014-03-201-4/+4
| | | | | | | - Atari is never compiled on SPARC or MIPS (and even it does one day, softfpu is not needed). git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27203 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Fixed Linux FPU exception mapping for x86_64 and MIPS, might be still ↵sergei2014-03-202-11/+7
| | | | | | incomplete, but at least operations yielding NaNs no longer produce EAccessViolation. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27194 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Removed SysInitFPU/SysResetFPU from (remaining) system units ↵sergei2014-03-171-3/+0
| | | | | | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@27171 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Since StackTop=StackBottom+StackLength, any two variables are sufficient ↵sergei2014-03-121-2/+1
| | | | | | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@27119 3ad0048d-3df7-0310-abae-a5850022a9f2
* * now also stdconv and convutils removed from Makefile.fpcmarco2014-03-011-8/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26916 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Removed some redundant rulesmarco2014-03-011-25/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26915 3ad0048d-3df7-0310-abae-a5850022a9f2
* M68k: Fix passing of environment variables. Fixes the compiler not being ↵svenbarth2014-02-231-1/+1
| | | | | | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@26851 3ad0048d-3df7-0310-abae-a5850022a9f2
* set errno after syscalls. this fixes tiorte test at least. this code ideally ↵karoly2014-02-221-0/+7
| | | | | | should be in assembly, but it seems the assembler reader needs some fixing first... git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26828 3ad0048d-3df7-0310-abae-a5850022a9f2
* Now that spilling correctly works on m68k we definitely need to ↵svenbarth2014-02-161-15/+28
| | | | | | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@26804 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Clean up i386-Linux startup code for shared libraries:sergei2014-02-131-57/+3
| | | | | | | | | | * 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: http://svn.freepascal.org/svn/fpc/trunk@26759 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Frame size on MIPS must be divisible by 8, thanks to Vsevolod Alekseyev ↵sergei2014-02-081-2/+2
| | | | | | for spotting this. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26734 3ad0048d-3df7-0310-abae-a5850022a9f2
* * mipsel-android: Regenerated makefiles. From now the mipsel-android target ↵yury2014-02-071-4/+28
| | | | | | can be built and used. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26705 3ad0048d-3df7-0310-abae-a5850022a9f2
* + character sets for central Europe added also to Makefiles as implicit unitshajny2014-01-202-74/+74
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26527 3ad0048d-3df7-0310-abae-a5850022a9f2
* * winsock(and -2), sockets and gpm to rtl-extra.marco2014-01-117-1723/+76
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26426 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Initial active version of marco2014-01-052-154/+154
| | | | | | | | | rtl-extra : objects matrix ucomplex rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26398 3ad0048d-3df7-0310-abae-a5850022a9f2
* rtl: add cp856 to makefilespaul2014-01-052-74/+74
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26387 3ad0048d-3df7-0310-abae-a5850022a9f2
* * rtl-console initial version.marco2014-01-033-94/+95
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26372 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Clean out of $i textrec and filerec includes that are redundant now that ↵marco2014-01-022-6/+0
| | | | | | | | cpstrrtl exposes those records via system. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26356 3ad0048d-3df7-0310-abae-a5850022a9f2
* + SPARC: support finalization routine supplied by dynamic linker.sergei2013-12-261-9/+44
| | | | | | + Added "stack not executable" marker. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26287 3ad0048d-3df7-0310-abae-a5850022a9f2
* - SPARC RTL: removed assembler PIC/threadvar hacks.sergei2013-12-221-295/+8
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26260 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fix FPC_USE_LIBC for inotify and clock* functions, and always link librt ↵marco2013-12-081-9/+15
| | | | | | | | | when this unit is used under FPC_USE_LIBC. make all building failed otherwise because fppkg seems to import unit linux somewhere. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26199 3ad0048d-3df7-0310-abae-a5850022a9f2
* * Initial FPC_USE_LIBC implementation of termios for Linux.marco2013-12-061-11/+116
| | | | | | | * Removed VER2_0 defines. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26189 3ad0048d-3df7-0310-abae-a5850022a9f2
* * increased the size of tdirent tojonas2013-11-271-2/+14
| | | | | | | | | | | a) compensate for the fact that the kernel assumes it's a multiple of 8 bytes b) reduce the number of system calls we have to perform when walking a directory (fixes mantis #24885 and probably also #20125 and #23732) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26150 3ad0048d-3df7-0310-abae-a5850022a9f2
* - Linux RTL: MIPS no longer needs the softfloat code, don't compile it.sergei2013-10-301-4/+4
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25882 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fixed the stack traces under linux (StackTop wasn't initialized)nickysn2013-10-271-1/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25861 3ad0048d-3df7-0310-abae-a5850022a9f2
* - RTL, Linux/FreeBSD shared library startup: removed FPC_SHARED_LIB_EXIT ↵sergei2013-10-106-16/+1
| | | | | | label, it is a leftover from times when library startup code was erroneously halting owning process on exit. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25737 3ad0048d-3df7-0310-abae-a5850022a9f2
* * regenerated fpcmake makefiles after r25642nickysn2013-10-051-2/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25644 3ad0048d-3df7-0310-abae-a5850022a9f2
* * synchronized with trunk up to and including r25430cpstrrtljonas2013-09-061-0/+4
|\ | | | | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/cpstrrtl@25431 3ad0048d-3df7-0310-abae-a5850022a9f2
| * * insert it statements for arm thumb2 in syscall assembler proceduresflorian2013-08-231-0/+4
| | | | | | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25342 3ad0048d-3df7-0310-abae-a5850022a9f2
* | * synchronised with trunk up to r25167 (fixes glib compilation via r25164,jonas2013-07-2414-20/+27
|\ \ | |/ | | | | | | | | | | and occasional crashes in executeprocess on libc platforms via r25167) git-svn-id: http://svn.freepascal.org/svn/fpc/branches/cpstrrtl@25169 3ad0048d-3df7-0310-abae-a5850022a9f2
| * * updated address of FSF (mantis #24646, patch by Alexey Svistunov)jonas2013-06-2714-20/+27
| | | | | | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24986 3ad0048d-3df7-0310-abae-a5850022a9f2
* | + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where wejonas2013-06-271-0/+6
| | | | | | | | | | | | | | | | | | | | use a single byte API for file system operations + FPCRTL_FILESYSTEM_TWO_BYTE_API define that is set for targets where we use a single byte API for file system operations o in principle, both can be set if both are supprted and implemented in the RTL in order to minimise conversions depending on the scenario git-svn-id: http://svn.freepascal.org/svn/fpc/branches/cpstrrtl@24991 3ad0048d-3df7-0310-abae-a5850022a9f2