Commit Graph

8304 Commits

Author SHA1 Message Date
florian
cc0d946f16 * fixes bootstrapping with 2.2.4
git-svn-id: trunk@14442 -
2009-12-14 18:51:57 +00:00
florian
d3cd6132f2 * handle rounding of currency values correctly, resolves #12207
git-svn-id: trunk@14438 -
2009-12-13 16:19:56 +00:00
florian
230142f08b * change length parameter of CompareMem/CompareMemRange into PtrUInt, resolves #15190
* use CompareByte inside these routines instead of simple handmade code

git-svn-id: trunk@14435 -
2009-12-13 11:42:05 +00:00
florian
7a82669942 * forgotten part of r14432
git-svn-id: trunk@14433 -
2009-12-13 11:18:49 +00:00
micha
347d71db10 * rtl/heap: optimization, while looking for a big enough block, also use blocks that are exactly large enough
git-svn-id: trunk@14420 -
2009-12-12 09:37:36 +00:00
micha
a6e6e9d453 * rtl/heap: fix SysReallocMem corruption in multi-thread use (thanks to Burkhard Carstens, #15323)
git-svn-id: trunk@14419 -
2009-12-12 09:28:41 +00:00
pierre
461c459821 * fix SigActionRec for x86_64 cpu
git-svn-id: trunk@14394 -
2009-12-10 19:55:14 +00:00
pierre
4d30275d7f * Adapt start.inc to pic code
git-svn-id: trunk@14391 -
2009-12-10 13:23:20 +00:00
pierre
05c1097395 * simplify SysInitFPU assmebler using local variables
git-svn-id: trunk@14390 -
2009-12-10 13:11:40 +00:00
florian
092823308a + mips(el) support in the compiler makefile
* regenerated some makefiles to support mipsel-linux

git-svn-id: trunk@14371 -
2009-12-08 19:57:16 +00:00
florian
a3884c4e49 * fixes bootstrapping with 2.2.x
git-svn-id: trunk@14355 -
2009-12-07 20:16:31 +00:00
pierre
90ddd046bc * Use default functions if call to iconv_open failed
git-svn-id: trunk@14352 -
2009-12-07 16:57:12 +00:00
Jonas Maebe
722d48c8c2 * only return an error if locking a file fails when the file is already
locked, but not when another error occurs (such as EsysNOLCK, because
    this error may always be returned if the kernel doesn't support
    locking, in which case programs such as fpcmake no longer work on
    such systems)

git-svn-id: trunk@14350 -
2009-12-07 13:30:19 +00:00
pierre
c7179f243b * fix problem with tcsetattr overloadwith const parameter
git-svn-id: trunk@14348 -
2009-12-07 11:07:55 +00:00
Legolas
ec841a86f5 * Updated to devkitARM r27 and libnds 1.4.0
git-svn-id: trunk@14344 -
2009-12-06 19:37:58 +00:00
florian
9e59c6dec7 * more mipsel code
git-svn-id: trunk@14340 -
2009-12-06 12:12:15 +00:00
Jonas Maebe
3138093fdf * changed errnum parameter of halt() from byte to longint to match the
definition of exitcode (mantis #15231)

git-svn-id: trunk@14339 -
2009-12-06 10:02:05 +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
Jonas Maebe
e7d7867082 + added new tstatfs structure available on Mac OS X 10.6, which appears to
be the only one that's supported on iPhonsOS (fixes webtbs/tw1041 on
    iPhoneOS)

git-svn-id: trunk@14333 -
2009-12-05 10:51:48 +00:00
Jonas Maebe
fbebd87593 * use BLX instead of "mov r14, r15; mov r15, reg" for a_call_reg on ARMv6
and above, so this also works when calling thumb code (should actually
    also be done for ARMv5T, but we don't have a monicker for that yet)
  * use BX instead of "mov r15, r14" for simple returns from subroutines
    on ARMv6+ to support returning to thumb code from ARM code (idem)

git-svn-id: trunk@14332 -
2009-12-04 22:38:50 +00:00
Jonas Maebe
91fc26a530 * the bits in the VFP fpscr don't mask exceptions, but enable them
(was used correctly in fpu init code in arm.inc, but inverted in
     setexcetionmask logic)

git-svn-id: trunk@14328 -
2009-12-04 19:54:35 +00:00
paul
4e29be8a36 rtl: DoVarCopyComplex should copy variant strings by ref (reason: this is delphi compatible behavior)
git-svn-id: trunk@14325 -
2009-12-04 14:57:17 +00:00
marco
d72c2991e5 * group type to u_long as per mantis 15241
git-svn-id: trunk@14320 -
2009-12-04 08:37:18 +00:00
Jonas Maebe
d1538ab023 o added ARM VPFv2/VFPv3 support:
+ RTL support:
      o VFP exceptions are disabled by default on Darwin,
        because they cause kernel panics on iPhoneOS 2.2.1 at least
      o all denormals are truncated to 0 on Darwin, because disabling
        that also causes kernel panics on iPhoneOS 2.2.1 (probably
        because otherwise denormals can also cause exceptions)
    * set softfloat rounding mode correctly for non-wince/darwin/vfp
      targets
    + compiler support: only half the number of single precision
      registers is available due to limitations of the register
      allocator
    + added a number of comments about why the stackframe on ARM is
      set up the way it is by the compiler
    + added regtype and subregtype info to regsets, because they're
      also used for VFP registers (+ support in assembler reader)
    + various generic support routines for dealing with floating point
      values located in integer registers that have to be transferred to
      mm registers (needed for VFP)
    * renamed use_sse() to use_vectorfpu() and also use it for
      ARM/vfp support
    o only superficially tested for Linux (compiler compiled with -Cpvfpv6
      -Cfvfpv2 works on a Cortex-A8, no testsuite run performed -- at least
      the fpu exception handler still needs to be implemented), Darwin has
      been tested more thoroughly
  + added ARMv6 cpu type and made it default for Darwin/ARM
  + ARMv6+ implementations of atomic operations using ldrex/strex
  * don't use r9 on Darwin/ARM, as it's reserved under certain
    circumstances (don't know yet which ones)
  * changed C-test object files for ARM/Darwin to ARMv6 versions
  * check in assembler reader that regsets are not empty, because
    instructions with a regset operand have undefined behaviour in that
    case
  * fixed resultdef of tarmtypeconvnode.first_int_to_real in case of
    int64->single type conversion
  * fixed constant pool locations in case 64 bit constants are generated,
    and/or when vfp instructions with limited reach are present

  WARNING: when using VFP on an ARMv6 or later cpu, you *must* compile all
    code with -Cparmv6 (or higher), or you will get crashes. The reason is
    that storing/restoring multiple VFP registers must happen using
    different instructions on pre/post-ARMv6.

git-svn-id: trunk@14317 -
2009-12-03 22:46:30 +00:00
Jonas Maebe
36ebb6a980 * fixed clearing fpscr "exception happened" flags
git-svn-id: trunk@14313 -
2009-12-03 20:21:27 +00:00
paul
1cd32f5327 rtl: implement TCollection.SetPropName
git-svn-id: trunk@14295 -
2009-12-02 03:40:26 +00:00
giulio2
d257b19798 * Skip UTF-8 BOM in TParser (classes) and dfmreader (fcl-res)
git-svn-id: trunk@14292 -
2009-11-30 21:55:25 +00:00
Jonas Maebe
184d0d6a64 * use full precision in random():extended calculation
git-svn-id: trunk@14280 -
2009-11-27 19:14:28 +00:00
florian
28ac4a8dda * several mips/mipsel related stuff fixed
* regenerated linux makefile to support mipsel

git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00
michael
e2387a5ac5 * Fixed OnBeep
git-svn-id: trunk@14271 -
2009-11-25 09:37:04 +00:00
florian
80fc5f05dc + system unit part of David Zhang's MIPS port
git-svn-id: trunk@14268 -
2009-11-24 21:26:36 +00:00
pierre
af7974973d fix stat type for x86_64 cpu
git-svn-id: trunk@14266 -
2009-11-24 16:36:20 +00:00
florian
38c68b58aa + MIPS specific part of the rtl, by David Zhang
git-svn-id: trunk@14255 -
2009-11-22 18:35:03 +00:00
michael
01ed4a6745 * Implemented OnBeep to install custom beep handler
git-svn-id: trunk@14254 -
2009-11-22 17:33:56 +00:00
pierre
26869de684 * fix argc error
git-svn-id: trunk@14250 -
2009-11-21 22:20:15 +00:00
paul
64b6700c61 rtl: add enumerator for the TFPGList type
git-svn-id: trunk@14245 -
2009-11-21 18:51:48 +00:00
pierre
ff80903341 * Correct wrong size suffixes
git-svn-id: trunk@14238 -
2009-11-21 16:12:48 +00:00
pierre
2480a6bad1 + x86_64 processor specific solaris files
git-svn-id: trunk@14235 -
2009-11-21 00:18:13 +00:00
pierre
79ec403774 Fix for multiple exception troubles
git-svn-id: trunk@14218 -
2009-11-19 21:25:04 +00:00
marco
c83ee377c1 * some defines from winioctl updated, mantis 15137
git-svn-id: trunk@14216 -
2009-11-19 11:51:03 +00:00
marco
4104d9f481 * More pluggability of the RTL. Mantis 15124
git-svn-id: trunk@14212 -
2009-11-18 21:16:12 +00:00
marco
17062d667c * ansistring versions of mk/rm/chdir in objpas, Mantis 15010. The os-dependant routines of *nix/os2/win/dos have been converted
git-svn-id: trunk@14211 -
2009-11-18 18:04:51 +00:00
pierre
59204b21d5 * Correct SigContext structures
git-svn-id: trunk@14203 -
2009-11-17 10:27:20 +00:00
florian
c288e6c105 * deallocate thread variables for the main thread as well, as described in #15002
git-svn-id: trunk@14201 -
2009-11-16 19:36:32 +00:00
marco
805e5a79c6 * writer.writeset, reader.readset as per mantis 10501
git-svn-id: trunk@14200 -
2009-11-16 12:50:18 +00:00
Jonas Maebe
c1408d164f * added some prefetch commands based on profile information about
l2 misses

git-svn-id: trunk@14197 -
2009-11-16 00:18:34 +00:00
Jonas Maebe
38c09952a3 * don't exit the program in the exit code of shared libraries under Linux
(mantis #14958)

git-svn-id: trunk@14184 -
2009-11-15 13:50:14 +00:00
pierre
27fc51ce82 * handle cpu specific unists
git-svn-id: trunk@14173 -
2009-11-14 16:24:56 +00:00
michael
8bfab6d4c2 * Added warning about thread-safety
git-svn-id: trunk@14172 -
2009-11-14 11:34:28 +00:00
michael
3e9b6151ee * Added warning about thread-safety
git-svn-id: trunk@14169 -
2009-11-14 10:29:45 +00:00