Commit Graph

37646 Commits

Author SHA1 Message Date
pierre
a52699cf98 MIPS packed record are not working yet, so do not use them for TSEttings record
git-svn-id: trunk@21587 -
2012-06-12 22:55:37 +00:00
pierre
ae7dd3a930 tprocdef.total_local_size field added for MIPS cpu
git-svn-id: trunk@21586 -
2012-06-12 22:54:42 +00:00
pierre
550bbb0186 + computed_local_size new longint field in TMIPSProcInfo
to check that LocalSize stays constant.

   New function mips_extra_offset (needed for stabs debugging)

git-svn-id: trunk@21585 -
2012-06-12 22:53:19 +00:00
Jonas Maebe
a3fa47a95b * {$linklib png} to enable automatically linking the library on Mac OS X
(mantis #21833)

git-svn-id: trunk@21584 -
2012-06-12 19:46:49 +00:00
marco
d97aa91e28 * Let gettablenames with TRUE as second param succeed, out of compatibility
Patch from Lacak2 Mantis #22255

git-svn-id: trunk@21583 -
2012-06-12 13:36:07 +00:00
svenbarth
7dfaec7a05 Fix for Mantis #21457
* pdecsub.pas, parse_proc_dec & pdecobj.pas, constructor_head: 
    correctly set the return type of the constructor of a class helper to the extended def
* psub.pas, generate_bodyentry_block:
    call the NEWINSTANCE of the extended class for constructors of class helpers

git-svn-id: trunk@21582 -
2012-06-12 09:42:22 +00:00
sergei
d0df2b247b * ogelf.pas: pass objdata into TElfObjSection.create_ext, so sections created via create_ext are 'owned' the same way as ones created via objData.CreateSection.
* cpu_soft -> fpu_soft

git-svn-id: trunk@21581 -
2012-06-11 13:02:35 +00:00
sergei
cc5fda2a1e + ogelf.pas: added definitions for program headers and .dynamic section, and reformatted existing ones to reduce line count.
git-svn-id: trunk@21580 -
2012-06-11 12:41:48 +00:00
sergei
4e95b50344 * Improved performance of COFF object reader: handle string table as array of chars instead of stream, use Pos instead of Copy to determine if name starts with the given chars.
git-svn-id: trunk@21577 -
2012-06-10 17:50:49 +00:00
marco
262ff83658 * binary compare data compared data1 with itself, mantis #22241 Patch by ...
git-svn-id: trunk@21576 -
2012-06-10 09:30:11 +00:00
florian
64ac48c815 * patch by Nico Erfurth: Better support for PLD on ARM
git-svn-id: trunk@21572 -
2012-06-09 17:28:05 +00:00
florian
3db61ae52d * patch by Nico Erfurth: Reworked regLoadedWithNewValue
Added better support for A_STR, A_LDR, A_STM, A_LDM.

Reworked the code the use a case statement for better readability.

git-svn-id: trunk@21571 -
2012-06-09 17:27:30 +00:00
florian
03a30ff036 * patch by Nico Erfurth: Remove STRH and STRB from instructionLoadsFromReg
STRH and STRB are not handled as sperate instructions by the code
generator.

git-svn-id: trunk@21570 -
2012-06-09 17:26:06 +00:00
florian
7599de416d * patch by Nico Erfurth: Reworked MatchOperand in ARM Peephole Optimizers
Added top_ref comperator which uses RefsEqual.
Reworked the code for easier readability by using a case statement.

git-svn-id: trunk@21569 -
2012-06-09 17:25:32 +00:00
sergei
e0deb4cc99 * Fixed building with OPT="-dTEST_WIN64_SEH -O2" after r21454. It is not yet possible to omit rbp-based stack frames if using SEH on Win64.
git-svn-id: trunk@21556 -
2012-06-08 18:29:10 +00:00
Mattias Gaertner
7d2be3635f fcl-image: tiff: reader+writer: deflate compression
git-svn-id: trunk@21549 -
2012-06-08 11:56:05 +00:00
Jonas Maebe
e7320ee729 * retry close() in fpclosedir() when it returns EINTR
git-svn-id: trunk@21548 -
2012-06-08 11:14:52 +00:00
marco
27922875b4 * Patch from Ludo, follow up to r21474 add more dependent units (stdole2)
and fix resourcestring registration.

git-svn-id: trunk@21547 -
2012-06-08 11:09:31 +00:00
pierre
2b90b444bf Differentiate mips/mipsel default system macros
git-svn-id: trunk@21546 -
2012-06-08 10:08:24 +00:00
pierre
9fc6f91cd0 Set correct source info for mips/mipsel
git-svn-id: trunk@21545 -
2012-06-08 10:07:46 +00:00
pierre
68367ea82e * Do not use lo(ofs) in fpmmap id TsysParam type is as large as off_t type and suppress warning
git-svn-id: trunk@21544 -
2012-06-08 09:53:36 +00:00
pierre
594a0e6217 * Adapt to mipsel compiler defining cpumipsel and cpumipsel32 but not cpumips anymore, one missing
git-svn-id: trunk@21543 -
2012-06-08 09:43:09 +00:00
pierre
651589c9a4 * Adapt to mipsel compiler defining cpumipsel and cpumipsel32 but not cpumips anymore
git-svn-id: trunk@21542 -
2012-06-08 09:34:36 +00:00
pierre
be67af4374 * Adapt to mipsel compiler defining cpumipsel and cpumipsel32 but not cpumips anymore
git-svn-id: trunk@21541 -
2012-06-08 09:33:03 +00:00
michael
4b8ffef650 * Patch from Ludo Brands to fix memory leak (bug 22228)
git-svn-id: trunk@21540 -
2012-06-08 08:33:28 +00:00
pierre
b21198a14a * Fix error in comment in previous commit
git-svn-id: trunk@21539 -
2012-06-07 23:23:52 +00:00
pierre
93e0dd9c2f * Patch from Fuxin Zhang: other mips and mipsel CPUs changes
git-svn-id: trunk@21538 -
2012-06-07 23:20:06 +00:00
pierre
22eae1b337 * Stack setup for MIPS and MIPSEL
git-svn-id: trunk@21537 -
2012-06-07 23:19:33 +00:00
pierre
4d8ebe5d1e Do not modify $sp inside function body for mipscpu
git-svn-id: trunk@21536 -
2012-06-07 23:17:52 +00:00
pierre
c1269b0305 * Patch from Fuxin Zhang: po_assembler special code also disabled for mips and mipsel CPUs
git-svn-id: trunk@21535 -
2012-06-07 23:13:16 +00:00
pierre
ac38901d2a * Patch from Fuxin Zhang: set first_pram_offset to 0 for mips and mipsel CPUs
git-svn-id: trunk@21534 -
2012-06-07 23:11:16 +00:00
pierre
1e1e0f969e * Patch from Fuxin Zhang: remove cpuflags define for mips and mipsel CPUs
git-svn-id: trunk@21533 -
2012-06-07 23:08:18 +00:00
pierre
d6d237d688 * Patch from Fuxin Zhang: FPC_HAS_INTERNAL_SAR set for mips and mipsel CPUs
git-svn-id: trunk@21532 -
2012-06-07 23:07:32 +00:00
pierre
160037eb9d * Patch from Fuxin Zhang: Mips specific MAP_XXX constants
git-svn-id: trunk@21531 -
2012-06-07 23:05:27 +00:00
pierre
a9be2fd137 * Patch from Fuxin Zhang: Mips specific MAP_XXX constants
git-svn-id: trunk@21530 -
2012-06-07 23:05:11 +00:00
pierre
6a985f1ece * Patch from Fuxin Zhang: Mips specific MAP_XXX constants
git-svn-id: trunk@21529 -
2012-06-07 23:04:51 +00:00
pierre
bd060f4627 Stat record matching closer system include file
git-svn-id: trunk@21528 -
2012-06-07 23:03:41 +00:00
pierre
a7c9e4768e * Patch from Fuxin Zhang
git-svn-id: trunk@21527 -
2012-06-07 23:02:29 +00:00
pierre
8259e69539 Non thread safe implementation of InterlockedXXX functions
git-svn-id: trunk@21526 -
2012-06-07 23:00:22 +00:00
pierre
f971854db6 * Patch from Fuxin Zhang
git-svn-id: trunk@21525 -
2012-06-07 22:59:02 +00:00
Jonas Maebe
50659b7e7f * give an error if a routine definition defines default values for
parameters that do not appear in forward/interface definitions
    (mantis #19434)
  * added test for #17136 already works

git-svn-id: trunk@21524 -
2012-06-07 22:36:39 +00:00
Jonas Maebe
df9c8652be * add default parameter values defined in implementation also to interface
(they don't have effect when they only appear in the implementation, and
     therefore this situation will cause an error in the future)

git-svn-id: trunk@21523 -
2012-06-07 22:36:15 +00:00
sergei
807a2f243f * Fixed control flow after r21492, was causing IE 200602252 if compiling with "-g -Xg" (Mantis #22224)
- Also removed accidentally committed debug code.

git-svn-id: trunk@21522 -
2012-06-07 22:30:50 +00:00
florian
6e8594a9af * patch by Nico Erfurth: Minor fix for FoldShiftProcess peephole optimizer on ARM
Use UpdateUsedRegs and drop the check for reloading of the register, as
this is done in RegUsedAfterInstruction now.

git-svn-id: trunk@21520 -
2012-06-07 18:21:46 +00:00
florian
5b02a7cb9b * patch by Nico Erfurth: Check for register reloading in RegUsedAfterInstruction on ARM
This slightly changes the semantics of RegUsedAfterInstruction.
We now check if the `current value` of the register will be used later.
It will do `the right thing` for all the normal use cases.

git-svn-id: trunk@21519 -
2012-06-07 18:20:35 +00:00
Mattias Gaertner
9636202165 fcl-image: tiff: read/write PageName, fixed typos
git-svn-id: trunk@21517 -
2012-06-07 17:23:16 +00:00
Mattias Gaertner
fd18003cd6 tiff: fixed decompressing packbits, skip jpeg tags
git-svn-id: trunk@21514 -
2012-06-07 16:09:33 +00:00
florian
72746e635d * optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
git-svn-id: trunk@21513 -
2012-06-07 15:19:55 +00:00
Jonas Maebe
572012fad3 * mark units as used in case only static symbols from inside object,
record or enum symtables are used (such as class helper methods)
    (mantis #21808)

git-svn-id: trunk@21512 -
2012-06-06 20:16:50 +00:00
florian
2a2a1e5788 * patch by Nico Erfurth: Optimize SwapEndian for ARM
The new version uses a pure pascal version for the 32bit case.
With the lastest compiler optimizations this generates optimal
4-instruction code which can be inlined. The rev-versions for
armv6+ are gone now, the inlineable pascal-code is faster than
the call-overhead for the rev-implementation.

The 64-bit versions received an updated assembly version which saves 4
cycles total on <armv6.

git-svn-id: trunk@21511 -
2012-06-06 19:46:06 +00:00