Commit Graph

38230 Commits

Author SHA1 Message Date
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
marco
e245802fa8 * deprecated old shortstring getenv func.
git-svn-id: trunk@22364 -
2012-09-10 09:01:24 +00:00
Jonas Maebe
670509cbf1 - disabled multithreading because it has causes crashes
git-svn-id: trunk@22363 -
2012-09-09 23:33:51 +00:00
florian
67744ef46e * fix methodpointers in registers on big endian targets
git-svn-id: trunk@22362 -
2012-09-09 17:54:35 +00:00
joost
a74b6e8573 * Added ability to add targets to a packagevariant
git-svn-id: trunk@22361 -
2012-09-09 12:57:08 +00:00
florian
9ebf2aa984 * project file updates
git-svn-id: trunk@22360 -
2012-09-08 21:58:45 +00:00
joost
8459c12af7 * Fixed compilation of programs when using a buildunit
git-svn-id: trunk@22359 -
2012-09-08 15:50:06 +00:00
joost
982c7ca9a9 * Added ability to inherit package-variants from dependencies.
git-svn-id: trunk@22358 -
2012-09-08 15:43:50 +00:00
joost
dfb01f7391 * Package variants are stored in the package-dictionary, so there are more
places now where the package-dictionary should be used instead of the 
   global one.

git-svn-id: trunk@22357 -
2012-09-08 15:26:29 +00:00
marco
eae11f81bb * Size_t (IMalloc interface mainly) to PTRUINT, mantis #22835
git-svn-id: trunk@22355 -
2012-09-08 10:49:26 +00:00
joost
aa6b8b3fce * Do not use the GlobalDictionary during compilation of a package, this is not thread-safe
git-svn-id: trunk@22353 -
2012-09-07 18:59:16 +00:00
florian
34996baa05 * remove more than a decade outdated project files
git-svn-id: trunk@22352 -
2012-09-07 17:13:40 +00:00
florian
d93cee995b * fix register method pointer for ppc64 and x86_64-linux
git-svn-id: trunk@22351 -
2012-09-07 15:15:10 +00:00
Jonas Maebe
95c69f1f9e * fixed function return location for small records on darwin/i386 and
iphonesim/i386 when not using cdecl/cppdecl/mwpascal calling conventions

git-svn-id: trunk@22350 -
2012-09-06 21:41:42 +00:00
Jonas Maebe
f2e1ec2771 * merged changes to systemh.inc/compproc.inc from r22289/r22290/r22310
git-svn-id: trunk@22349 -
2012-09-06 21:41:35 +00:00
joost
8a4bd096fc * Files which should not be compiled on the current target can not trigger
a compile of the package. This also avoids checks on the file-age of
   unknown source files, which effectively leads to checking the age of
   directories.

git-svn-id: trunk@22348 -
2012-09-06 20:35:22 +00:00
Jonas Maebe
e7cb2e9a28 * test for mantis #22807 (bug fixed in jasmin)
git-svn-id: trunk@22347 -
2012-09-06 18:50:29 +00:00
pierre
971cc159f9 Using global assmelber labels for debug line is not required for smartlinked sections
git-svn-id: trunk@22346 -
2012-09-06 15:44:38 +00:00
florian
7840b4657a * the improved arm optimizer might move instructions around so the old hacky test if a label with its data has been already embedded into the code by checking if the offset is 0 does not work anymore so a new field for tai_label has been introduced for this purpose
git-svn-id: trunk@22345 -
2012-09-06 15:12:17 +00:00
florian
7361e19799 + support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
git-svn-id: trunk@22344 -
2012-09-06 15:12:12 +00:00
florian
4514a55ec6 * call method pointers located in registers correctly
git-svn-id: trunk@22343 -
2012-09-06 15:12:06 +00:00
florian
e18a9cccaa * fix expectlocs for method pointers
git-svn-id: trunk@22342 -
2012-09-06 15:12:02 +00:00
florian
370d42035a * when creating method pointers, put them into registers
git-svn-id: trunk@22341 -
2012-09-06 15:11:58 +00:00
florian
4d4561923e * nil method pointers can be kept in registers
git-svn-id: trunk@22340 -
2012-09-06 15:11:54 +00:00
florian
d6b548ce13 * don't force parameters into memory when loading them if both have the size OS_64/OS_S64
git-svn-id: trunk@22339 -
2012-09-06 15:11:50 +00:00
florian
be2003a404 * output register pairs correctly
git-svn-id: trunk@22338 -
2012-09-06 15:11:46 +00:00
florian
7901662eb3 + mark method pointers as regable
git-svn-id: trunk@22337 -
2012-09-06 15:11:42 +00:00
pierre
a3ef2b42a8 Remove more TABs in sources
git-svn-id: trunk@22336 -
2012-09-06 08:11:59 +00:00
pierre
bf46526cc7 Set register_used boolean only for calleeside
git-svn-id: trunk@22335 -
2012-09-06 08:11:15 +00:00
pierre
c72f27e53e Remove more TABs in source
git-svn-id: trunk@22334 -
2012-09-06 08:07:38 +00:00
pierre
80b0891c7c Remove TABs in source
git-svn-id: trunk@22333 -
2012-09-06 08:06:08 +00:00
sergei
c41b407119 * Changed TObjSection.WriteStr method to write a zero byte after the string.
+ Added TObjSection.WriteBytes method that writes just a string (without zero byte).
* ogelf.pas: Fixed st_value of COMMON symbols, it must contain required symbol alignment.
+ ogelf.pas: Some more definitions.

git-svn-id: trunk@22332 -
2012-09-06 06:06:04 +00:00
joost
8ce4a5e196 * Search the UnitConfigFile in the right location when installing with PackageVariants
git-svn-id: trunk@22331 -
2012-09-05 19:10:13 +00:00
florian
57ee96ef86 * compilation on non x86 fixed
git-svn-id: trunk@22330 -
2012-09-05 18:49:48 +00:00
florian
03bf93488b * workaround for broken in operator
git-svn-id: trunk@22329 -
2012-09-05 15:00:04 +00:00
florian
3b980cae63 * floating point compares use flags as well so allocate flags
git-svn-id: trunk@22328 -
2012-09-05 15:00:00 +00:00
florian
8818b58e5d * Bsf/Bsr on x86 handle now correctly 0 as argument, resolves #22783
* generic Bsf implementations handle now correctly 0 as argument
* test extended

git-svn-id: trunk@22327 -
2012-09-05 13:51:45 +00:00
pierre
39e32a9b3e Do not use nostackframe with local variable in get_fsr function
git-svn-id: trunk@22326 -
2012-09-05 12:24:45 +00:00
pierre
fe97069b12 Correct exceoption mask elements
git-svn-id: trunk@22325 -
2012-09-05 12:24:15 +00:00
michael
cecc6b778c * improved KDE detection
git-svn-id: trunk@22324 -
2012-09-05 11:37:48 +00:00
florian
de34eab23d + optimize and ...,255/strb ... sequence if possible
git-svn-id: trunk@22323 -
2012-09-05 11:24:03 +00:00
florian
93d0033282 * improve AndAnd2And optimization by checking if the first destination register is allocated after the second and
git-svn-id: trunk@22322 -
2012-09-05 11:23:05 +00:00
florian
8a6c65b008 * fix r22319: hp1 must have the same condition as p
git-svn-id: trunk@22321 -
2012-09-05 09:05:26 +00:00
florian
9773b92cbe * improved for loop unrolling
git-svn-id: trunk@22320 -
2012-09-04 21:34:00 +00:00
florian
2f1989c1a6 * hp1 can have any condition in this case so don't access hp1.condition because it
is not guranteed that hp1 is actually a tai_instruction before calling MatchInstruction

git-svn-id: trunk@22319 -
2012-09-04 18:58:28 +00:00
florian
bc47125943 * use BsrDWord in software mod/div
* use a for loop instead of an until loop so code generation is potentially better

git-svn-id: trunk@22318 -
2012-09-04 18:58:20 +00:00
florian
5facc6ad5e * BsrX(0) should return 255 instead of $ffffffff
git-svn-id: trunk@22316 -
2012-09-04 15:16:59 +00:00
florian
d67af82228 * patch by Jeppe Johansen: Thumb2-only targets don't support the BLX <label>, and have to use BL <label>, resolves #22770
git-svn-id: trunk@22314 -
2012-09-04 14:57:26 +00:00
florian
1bb6248186 * disable hand optimized assembler for arm thumb2 as well
git-svn-id: trunk@22313 -
2012-09-04 14:29:52 +00:00
sergei
b1b175dacc + Internal linker support for weak symbols.
+ Allow unresolved external symbols in RemoveUnreferencedSections, such symbols are marked as 'dynamic' if referenced. This approach allows to collect unused sections early and generate import structures only for actually used symbols.

git-svn-id: trunk@22312 -
2012-09-04 13:16:56 +00:00