Commit Graph

30304 Commits

Author SHA1 Message Date
yury
f726e1691b * Fixed warnings and notes.
git-svn-id: trunk@13139 -
2009-05-13 11:26:01 +00:00
yury
e23a304254 * Set default images base to $100000000 for win64 executables as done by MS linkers. It helps to detect portability errors early.
git-svn-id: trunk@13138 -
2009-05-13 10:56:33 +00:00
yury
bba2b87064 * Use RIP relative symbol addressing in assembler blocks. Finally bug #13657 is fixed.
git-svn-id: trunk@13137 -
2009-05-13 10:45:54 +00:00
yury
82ad6b4de9 * Define FPC_HAS_RIP_RELATIVE to indicate that x86_64 internal assembler supports RIP relative symbol addressing.
git-svn-id: trunk@13136 -
2009-05-13 10:44:01 +00:00
yury
92ad06f1e8 * Always use RIP relative symbol addressing for x86_64 Windows targets. Bug #13657.
* Support for simple form of RIP relative addressing by x86_64 assembler writer. Example: movl rax,SomeSymbol(%rip)

git-svn-id: trunk@13135 -
2009-05-13 10:07:44 +00:00
sergei
4eef2b87a1 dom.pp: Moved creation of all TDOMNodeList's to TDOMDocument (another part of #13605).
git-svn-id: trunk@13134 -
2009-05-12 19:46:42 +00:00
Jonas Maebe
a24db8854c * fixed return value of InterlockedCompareExchange(64) for ppc/ppc64,
bug exposed by tw13281

git-svn-id: trunk@13133 -
2009-05-11 07:26:48 +00:00
joost
5ddddf60ae * Patch from Ladislav Karrach, in some cases SQLExecute returns SQL_NO_DATA when no error occured, bug #13654 + test
git-svn-id: trunk@13132 -
2009-05-10 20:30:01 +00:00
marco
6eeab240ba * preparation for mingw debug info, Mantis 11968 as researched by Mario Mahardhika
git-svn-id: trunk@13131 -
2009-05-10 19:54:43 +00:00
sergei
448b621ff4 xpath.pp: A slightly more efficient implementation of TXPathCompareNode.Evaluate().
git-svn-id: trunk@13130 -
2009-05-10 19:38:32 +00:00
sergei
7a478e64c2 xpath.pp: Honor axis direction when filtering step result with predicates. For reverse axes, ContextPosition is now relative to the last node of the set. The third argument of TXPathExprNode.EvalPredicate() is redundant and has been removed.
git-svn-id: trunk@13129 -
2009-05-10 19:32:22 +00:00
marco
828afdf74c * close socket if not accepted. Patch from Mantis 12675 by S. Meyer.
git-svn-id: trunk@13128 -
2009-05-10 16:08:46 +00:00
Jonas Maebe
b77bff2996 + cardinal/qword overloads for interlocked* routines (mantis #13281)
git-svn-id: trunk@13127 -
2009-05-10 15:22:38 +00:00
marco
8c3305824a * stream positioning fix from mantis 12897 as well as some minor style fixing I had lying around
git-svn-id: trunk@13126 -
2009-05-10 14:30:13 +00:00
Jonas Maebe
927dfc526a * search include files specified using relative path also in the include
search paths (mantis #13461)

git-svn-id: trunk@13125 -
2009-05-10 13:42:41 +00:00
Jonas Maebe
9ed40aa926 - reverted r13079, it gives wrong results when using heaptrc with an
program that does nothing. It was also not logical, because the expected
    free heap at the end is the total heap size minus any allocated blocks
    and minus the memory that was allocated before heaptrc was activated
    (as the old code calculated, and as it does again now -- mantis #13678)

git-svn-id: trunk@13124 -
2009-05-10 09:28:47 +00:00
sergei
4cabfad02a xpath.pp: Fixed lexical analysis in ParseStep(), now conformant with paragraph 3.7 of the specs:
* Identifier is treated as AxisName only if it is followed by '::'
* Identifier is treated as NodeType only if it is followed by '('.

git-svn-id: trunk@13123 -
2009-05-09 20:27:29 +00:00
Jonas Maebe
14558c3388 + objcrtl package by Dmitry Boyarintsev: interface for the Mac OS X
Objective-C run time 1.0 and 2.0, for 32 bit platforms

git-svn-id: trunk@13122 -
2009-05-09 20:24:21 +00:00
Jonas Maebe
0597c300f4 * applied feature dependencies patch by Sven Barth from mantis #13673 :
o i386/i386.inc used a function (fpc_truely_ansistr_unique) is now
     only included if FPC_HAS_FEATURE_ANSISTRINGS is enabled (all other
     platforms use the Pascal-only implementations)
   o inc/heap.inc relied on threading
   o inc/threads.inc relied on exceptions, consoleio and stackcheck
   o inc/system.inc: just a feature-related "variable not used"-hint

git-svn-id: trunk@13121 -
2009-05-09 20:08:57 +00:00
sergei
f3e64cf8ce xpath.pp: replaced TXPathScanner.SaveState/RestoreState by PeekToken().
git-svn-id: trunk@13120 -
2009-05-09 19:55:38 +00:00
Jonas Maebe
53ad1bcabe * fixed linux flock type by defining and using a kernel_off_t type
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 -
2009-05-09 19:47:59 +00:00
joost
1ce9d05b78 * Fixed ODBC-Widestring fields
git-svn-id: trunk@13118 -
2009-05-09 14:55:22 +00:00
joost
be72be8c8e * Fixed library name and compilation on windows, bug #12881
git-svn-id: trunk@13117 -
2009-05-09 10:05:44 +00:00
sergei
d03e569ae9 Further XPath improvements:
+ Implemented [more or less] correct parsing of last two variations of PathExpr [19].
  (only parsing - evaluation still has to be done).

git-svn-id: trunk@13116 -
2009-05-08 21:30:55 +00:00
sergei
d839aada5b xpath refactoring:
* Split parsing location steps into a separate procedure, TXPathScanner.ParseStep();
* Changed some case statements to if's, in order to improve indentation and readability.

git-svn-id: trunk@13115 -
2009-05-08 07:42:55 +00:00
paul
66b2ecd936 gtk2: fix TGtkBox declaration for windows
git-svn-id: trunk@13114 -
2009-05-08 05:07:21 +00:00
sergei
dceb9320f5 Cleanup of dom.pp:
- Removed TRefClass, memory of TDOMNodeList's must be managed in some other way (part of #13605).
- Removed unnecessary forward class declarations.

git-svn-id: trunk@13113 -
2009-05-07 18:13:14 +00:00
Jonas Maebe
74042f791d * completed making debugstart/end labels local for darwin as started
in r13111

git-svn-id: trunk@13112 -
2009-05-07 18:12:30 +00:00
Jonas Maebe
9a8ac8cecc * make the dwarf debugstart/end labels local for Darwin, because the darwin
linker does not like two global labels both pointing at the end of a
    section (causes "atom sorting error" warnings), and this happened for
    units without any code after r13098

git-svn-id: trunk@13111 -
2009-05-07 16:42:46 +00:00
yury
c4439e4e39 * Properly write 64-bit relocations into .reloc section.
* Warning when 64-bit object file contains 32-bit absolute relocations. In such case an executable image can be loaded into lower 4Gb of address space only.

git-svn-id: trunk@13110 -
2009-05-07 10:46:56 +00:00
sergei
9fe4f59c5a Three XPath scanner fixes:
* #12 is not a whitespace char;
* '!' is not valid unless it is a part of '!=' token;
* Accept full XML 1.0 name character range as identifiers.

git-svn-id: trunk@13109 -
2009-05-07 06:51:41 +00:00
ivost
b340822af2 * added FreeObjects property to TFPGObjectList (as known from TObjectList in contnrs)
git-svn-id: trunk@13108 -
2009-05-06 22:50:25 +00:00
Jonas Maebe
8193cd175d * corrected *Between() functions: add epsilon and truncate, rather than
round the results (bug reported on irc)

git-svn-id: trunk@13107 -
2009-05-06 20:35:20 +00:00
sergei
8c898e963a + Implements XPath function id() + test. Running the test is another story, however, because it requires parsing FilterExpr+'/'+RelativeLocationPath, which is currently not implemented.
git-svn-id: trunk@13106 -
2009-05-06 20:07:09 +00:00
Jonas Maebe
c1e327c8c4 * insert register allocation/deallocation information for the exception
handling code (g_exception_reason_load() now automatically allocates
    the cpu register that it loads). This fixes the bug reported in
    http://lists.freepascal.org/lists/fpc-devel/2009-May/016773.html
    on i386 with -O2)

git-svn-id: trunk@13105 -
2009-05-06 19:11:54 +00:00
yury
5cd83b26d9 * More proper check for executable image size limits.
* Proper handling of 64-bit COFF relocations.
* Use jumps with 32-bit relative addressing in imports on win64.
* This fixes are related to bug #13657. The bug is not fully fixed yet...

git-svn-id: trunk@13104 -
2009-05-06 18:07:07 +00:00
ivost
2d00cab50c * updated zlib header to version 1.2.3
git-svn-id: trunk@13103 -
2009-05-06 13:10:19 +00:00
ivost
f38c6c609d * implemented TFPGInterfacedObjectList. it's the same as TFPGObjectList but ref counted.
git-svn-id: trunk@13102 -
2009-05-05 12:26:42 +00:00
Jonas Maebe
71ecb3e83b * use a different value to test qword->double conversion, which
is less ambiguous as far as generating the "closest" floating point
    representation is concerned (fixes test on on systems where the max.
    fpu precision is double)

git-svn-id: trunk@13101 -
2009-05-05 10:48:21 +00:00
joost
67dcd3be0b * Allow string-parameters of more then 8000 characters, bug #13530
git-svn-id: trunk@13100 -
2009-05-04 21:36:21 +00:00
yury
16e19aaef3 * Some cleanup.
git-svn-id: trunk@13099 -
2009-05-04 18:45:08 +00:00
yury
9c9462cd5a * Insert DW_AT_low_pc and DW_AT_high_pc attributes for modules on Windows also. It solves debugging problems on Windows with dwarf debug info.
git-svn-id: trunk@13098 -
2009-05-04 18:36:08 +00:00
yury
9acecc0863 * Do not switch to external assembler if dwarf debug info is used.
git-svn-id: trunk@13097 -
2009-05-04 11:20:49 +00:00
yury
b1427bad2e * Fixed internal assembler writer to handle offset calculations with forward symbols involved. Internal assembler can handle dwarf debug info now.
git-svn-id: trunk@13096 -
2009-05-04 11:19:48 +00:00
yury
99917e034d * Fixed visibility notes of some overrode methods.
git-svn-id: trunk@13095 -
2009-05-04 10:24:47 +00:00
yury
2b3a54cec0 * Allow usage of internal linker when dwarf debug info is used.
git-svn-id: trunk@13094 -
2009-05-04 10:19:54 +00:00
yury
9d78ca3f19 * RELOC_SECREL32 must be relative to EXE section, not to object file section.
* Write zero to relocs in debug sections, which point to unused sections, eliminated by linker.
* It seems internal linker creates correct dwarf debug info now.

git-svn-id: trunk@13093 -
2009-05-04 09:42:51 +00:00
yury
50060dfd52 * Do not assume sizeof(pint) section alignment if no alignment is specified for the section.
git-svn-id: trunk@13092 -
2009-05-04 08:27:36 +00:00
marco
6f1f21c432 * optbase empty skeleton removed with two dependancies. Duplicate unit name caused problems.
git-svn-id: trunk@13091 -
2009-05-03 21:31:33 +00:00
joost
ce55400037 * Call UpdateServiceIndexDefs before Execute, to avoid problems with databases which do not allow processing multiple recordsets at a time (MS SQL, bug #13241)
git-svn-id: trunk@13090 -
2009-05-03 21:01:31 +00:00