Commit Graph

8691 Commits

Author SHA1 Message Date
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
florian
c2f04796b9 + only include softfpu if FPUNONE is not set
git-svn-id: trunk@17012 -
2011-02-26 20:10:49 +00:00
ivost
d4cde5eaa2 * added syscall_nr_futex = 142 for sparc architecture
git-svn-id: trunk@16994 -
2011-02-24 10:51:54 +00:00
sergei
7b948b1e38 * Type of lParam argument of EnumResourceNames, EnumResourceTypes, EnumResourceLanguages and corresponding callbacks must be LONG_PTR. Mantis #18816.
* Also assigned meaningful names to callback arguments.

git-svn-id: trunk@16993 -
2011-02-24 06:08:33 +00:00
sergei
41aeb9a22b * Rework TStream.CopyFrom (see Mantis #17980):
a) Use significantly larger buffer (128k instead of 1k)
b) When Count=0, do not try to determine the source size. Just copy until the source can be read. This should improve performance with limited seek capability sources (e.g. a decompression stream will be decompressed once rather than twice).
c) Use ReadBuffer/WriteBuffer, so an exception is raised when something goes wrong. This conforms to Delphi behavior.

git-svn-id: trunk@16992 -
2011-02-24 03:25:40 +00:00
Legolas
41c946032e * libogc for Wii needs cmem and libc statically linked
git-svn-id: trunk@16991 -
2011-02-23 22:10:19 +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
joost
979fd9b854 * Better fix for r16952 from Ladislav Karrach from bug report 18388
git-svn-id: trunk@16979 -
2011-02-22 21:28:39 +00:00
joost
7b8797afe7 * Fixed BCDToStr for values between -1 and 0
git-svn-id: trunk@16952 -
2011-02-20 17:59:12 +00:00
joost
e3885089c6 * TryStrToBcd now returns true when it succeeds, and false when it fails, not the other way around
git-svn-id: trunk@16951 -
2011-02-20 17:53:18 +00:00
marco
88e22be01a * unmerged table based initialization of libraries.
git-svn-id: trunk@16941 -
2011-02-19 17:24:37 +00:00
armin
2859348450 make netwlibc compilable with current rtl
git-svn-id: trunk@16899 -
2011-02-08 22:06:53 +00:00
Legolas
527dd56b28 + Initial Wii support
git-svn-id: trunk@16888 -
2011-02-07 16:56:45 +00:00
armin
bb09124f58 fix compilation for netware target
git-svn-id: trunk@16887 -
2011-02-06 18:14:38 +00:00
Jonas Maebe
d65839d51a * renamed NSObject.*copyWithZone to NSObject.class*CopyWithZone to prevent
identifier conflicts with the instance methods added by NSCopyingProtocol

git-svn-id: trunk@16881 -
2011-02-05 17:09:57 +00:00
Legolas
3140d1d7e7 * Fixed libgbafpc compilation
git-svn-id: trunk@16880 -
2011-02-05 14:26:09 +00:00
Jonas Maebe
7cb1c8b586 * improvement of r16001 so that allocations even closer to high(ptruint)
also fail correctly rather than overflowing to 0 bytes (mantis #18690)

git-svn-id: trunk@16877 -
2011-02-04 18:58:21 +00:00
sergei
4aeef5b150 Fixes to dispatch calls:
* Pass dispinterfaces with correct type (varDispatch).
* Pass skipped parameters as EmptyParam (vType=varError, vError=DISP_E_PARAMNOTFOUND), as COM requires to preserve correct argument count and positions.
* Since ttempcreatenode.size can be set after creation, don't calculate parameter size in first pass, this simplifies things a bit.

git-svn-id: trunk@16863 -
2011-02-01 16:43:18 +00:00
sergei
5fb58e1458 + Windows unit: add GetCPInfoEx function and related definitions, patch from G.Fink, Mantis #18654
git-svn-id: trunk@16862 -
2011-02-01 13:10:15 +00:00
florian
e99c4d1950 + support str(<boolean>,...), boolean is an enumeration type
* don't run pass_1 on str or val calls in generic method/procedure definitions, resolves #18420

git-svn-id: trunk@16849 -
2011-01-30 14:27:09 +00:00
florian
e39a220945 * patch by Jeppe Johansen: The reset vector for stm32f103 didn't have the T bit set, so it will execute a hard fault handler instead of the reset code, which by default is the same, resolves #18630
git-svn-id: trunk@16847 -
2011-01-30 11:53:38 +00:00
paul
e4a6221bf3 compiler, rtl: add vtUnicodeString (issue #0018560)
git-svn-id: trunk@16833 -
2011-01-29 09:18:53 +00:00
florian
0be59445f8 + basic i386-embedded implementation for multiboot by Jeppe Johansen, resolves #15676
git-svn-id: trunk@16801 -
2011-01-23 11:18:50 +00:00
marco
608498c64c * committed the fpc/ hierarchy parts of the patch in mants 18271:
Adding clocale to Solaris.

git-svn-id: trunk@16771 -
2011-01-16 10:37:02 +00:00
sergei
131b7fcdb2 * RTL: Replaced deprecated formatting symbols with their up-to-date counterparts, reduces compiler noise.
* Also removed some unused variables.

git-svn-id: trunk@16744 -
2011-01-09 15:27:05 +00:00
sergei
c0f6084c2e * SysUtils.Format: Fixed behavior in case when format specifier contains both index and '*' for width/precision.
+ test

git-svn-id: trunk@16740 -
2011-01-08 20:08:16 +00:00
marco
a318f1c91e * Also changed the redef version of getprocessaffinity.. to dword_ptr.
Mants 18434

git-svn-id: trunk@16735 -
2011-01-08 12:35:10 +00:00
marco
24813219da * update of openbsd sysnr by Jasper Lievisse Adriaanse
git-svn-id: trunk@16725 -
2011-01-07 14:13:16 +00:00
Jonas Maebe
0da9d36116 * fixed internal assembler for x86-64 so that it correctly handles
relocations for addr_pic_no_got references (do not go via the GOT)
  * fixed code generator so that it generates addr_pic_no_got references
    also for platforms that use the internal assembler (this will break linking
    of some tests that check static data > 2GB on Linux/x86-64, but they were
    already broken before as well because we don't use the "huge" x86-64
    execution model)
  * fixed x86-64 Linux syscall code to not expect GOT-based relocations for
    the system unit's errno variable (it's an implementation-only variable)

git-svn-id: trunk@16717 -
2011-01-06 09:28:25 +00:00
marco
a7c1e0f134 * ptypes updates from Jasper Lievens.
git-svn-id: trunk@16704 -
2011-01-04 09:33:55 +00:00
marco
ab744932b2 * errnostr by Jasper Lievens.
git-svn-id: trunk@16703 -
2011-01-04 09:14:03 +00:00
marco
56ca6b2db3 * small fix from Jasper Lievens.
git-svn-id: trunk@16702 -
2011-01-04 08:31:39 +00:00
paul
e69de6110b rtl: add mkOperatorOverload to TMethodKind enum
git-svn-id: trunk@16694 -
2011-01-03 16:10:36 +00:00
Jonas Maebe
6fe0084caa * fixed result of NSObject(Protocol).hash: cuint -> NSUInteger (fixes 64 bit
compilation of cocoain)

git-svn-id: trunk@16692 -
2011-01-03 12:14:12 +00:00
Tomas Hajny
f5d9ab3038 * fixes for OS/2 threading support by Stefan Zigulec
git-svn-id: trunk@16691 -
2011-01-02 23:08:15 +00:00
Jonas Maebe
3ca3276400 * changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
change is that it is now also allowed to specify an external name for
    formal external class definitions, but if they are later mixed with
    regular class definitions the external names have to match.
   o because the "external" status of methods is now set while parsing the
     class rather than afterwards, some procdir compatibility checks had to
     be inlined because they only have to be performed for 
  * also adapted the syntax for external cppclasses in the same way
  * fixed return type of NSObject.retainCount and NSObject.hash
    (NSUInteger instead of cint)
  * moved "patches" directory from cocoaint/src to cocoaint/utils/cocoa-skel
    so they are used by the conversion script when re-parsing the headers
  * updated Objective-C header parser script to
   o use the new external class syntax
   o not write inheritance information for root classes (NSObject, NSProxy)
   o use internal translation tables for some conflicting method names that
    are named specially in objcbase.pp
   and updated parsed headers
  * fixed rtl/inc/objcbase.pp and tests to conform to the new external class
    syntax

git-svn-id: trunk@16684 -
2011-01-02 14:50:46 +00:00
sergei
15e1abddf7 * Windows RTL: Simplify SysUtils.GetLocalTime(). TSystemTime type for these targets matches one defined in Windows unit, so WinAPI function result can be used directly. Resolves #18346.
git-svn-id: trunk@16665 -
2010-12-30 20:40:47 +00:00
marco
ff2292aafa * Patch from LacaK2 to improve decimalpoint localisation. (Mantis 18338)
git-svn-id: trunk@16653 -
2010-12-29 12:33:14 +00:00
Jonas Maebe
780e75bfac o patch by Jeppe Johansen to fix mantis #17472:
* generate add.w instead of add for thumb-2 in case one of the registers
      is > r8
    * add register interferences for the "add" instruction so the register
      allocator can detect invalid instruction forms (even for assembler code)
    * fixed error in thumb2.inc detected by the previous change

git-svn-id: trunk@16633 -
2010-12-24 15:54:39 +00:00
Tomas Hajny
934ab56c0a + most of OS/2 threading support implemented; not debugged yet though
git-svn-id: trunk@16601 -
2010-12-19 22:05:05 +00:00
Tomas Hajny
9b79fb3ac9 * avoid range error for sem_indefinite_wait - fix for web bug #18263 (EMX target)
git-svn-id: trunk@16595 -
2010-12-19 15:38:54 +00:00
Tomas Hajny
87c53a6e29 * Sem_Indefinite_Wait constant changed to avoid range check errors - fix for web bug #18263
git-svn-id: trunk@16594 -
2010-12-19 15:34:33 +00:00
marco
df16200a75 * Patch from LacaK2 fixing else clause of vartobcd, bug #16853
git-svn-id: trunk@16584 -
2010-12-17 18:57:16 +00:00
pierre
0fabda01a8 * Added code to support Windows 95 again
This code is disabled by default, you need to complie the RTL
  with option -dSUPPORT_WIN95.

    2.4.2 release is already not usable on Windows 95 because
  the kernel32 DLL function TryEnterCriticalSection is loaded
  into system unit unconditionnally, while this function does
  not exist in Winddows 95 kernel32.

    This patch uses LoadLibrary/GetProcAddress coupple to check if
  TryEnterCriticalSection exists and provides an alternate implementation
  that will be used on Windows 95 systems only (Windows 98 kernel32
  DLL does export TryEnterCriticalSection).

git-svn-id: trunk@16579 -
2010-12-17 14:12:43 +00:00
pierre
9276fa437f * Fix tw1041 test failure
git-svn-id: trunk@16571 -
2010-12-16 13:25:20 +00:00
sergei
13bea29253 * win/sysutils.pp, FileOpen and FileCreate, removed manual zero-termination of strings. This unit compiles in {$h+} state, and AnsiString zero-termination is handled automatically these days.
git-svn-id: trunk@16558 -
2010-12-12 15:07:38 +00:00
sergei
3c2d918cfe * Partially undo revision 16529: removing VariantToShortString breaks webtbs/tw14536 which calls the mentioned function directly instead of using typecast.
git-svn-id: trunk@16557 -
2010-12-11 23:25:20 +00:00
florian
3eec5d1b12 + added Makefile
git-svn-id: trunk@16554 -
2010-12-11 20:39:37 +00:00
florian
382dc3e413 o update by Sven Barth to the NativeNT RTL:
* Many more RTL units are enabled now, like SysUtils, Classes, Math, FGL, etc and Text-, File- and ConsoleIO features are enabled now as well (Threading and Processes are enabled, too, but their implementations are only stubs!). ConsoleIO isn't tested though, because the processes that are started by SMSS have their Standard Handles set to 0.

git-svn-id: trunk@16553 -
2010-12-11 20:39:05 +00:00