Commit Graph

37506 Commits

Author SHA1 Message Date
pierre
2e4703d454 Merge of revision 21553 by Foxsen.
make clear what registers might need to be saved

git-svn-id: trunk@21597 -
2012-06-13 22:03:29 +00:00
pierre
d6828965fd Merge of revision 21552 by Foxsen.
use NR_R1 instead of NR_R3 for big stack adjustment temp register(R1 is $at, more suitable)
use A_JR for register operands, although the assembler can translate J to JR when necessary, it is more clear

git-svn-id: trunk@21596 -
2012-06-13 21:57:43 +00:00
pierre
a805259761 + Increase CurrentPPUVersion following removal of packed attribute for tsettings type
git-svn-id: trunk@21595 -
2012-06-13 21:53:37 +00:00
pierre
d67d1abcba * Use field by field write of current_settings for replaytoken and remove packed attribute for tsettings type
git-svn-id: trunk@21594 -
2012-06-13 21:51:59 +00:00
pierre
9453b1bb1e Merge of revision 21551 by Foxsen.
use cpu64bitaddr instead of cpu64bit
fix wrong order of 64BIT return register(now for little endian mips)

git-svn-id: trunk@21593 -
2012-06-13 21:50:11 +00:00
sergei
85f6062e05 * Reworked writing ELF symbols into a separate class, TElfSymtab, which is also suitable for creating symbol tables in executable and dynamic ELF files.
* Do not write ELF symbols for internal sections (symbol/string table, relocation sections and alike).

git-svn-id: trunk@21592 -
2012-06-13 16:40:50 +00:00
marco
f2ccc9f593 * temporarily disabled the Fields.Count<FieldDefs.Count check.
mantis #22030

git-svn-id: trunk@21591 -
2012-06-13 09:14:55 +00:00
pierre
8698357d6c Makefile regenerazted after change to Makefile.fpc:
+ Add CYCLELEVEL variable, whose value can be from 1 to 3
  to be able to modify used options at a specific level,
  using OPTLEVELX, LOCALOPTLEVELX and RTLOPTLEVELX
  with X being the current value of CYCLELEVEL.
  extcycle: Append to value of OPT variable instead of overwriting it.
  fullcycle: Remove i386 target for x86_64 source cpu
  as this does not work for windows-64bit.

git-svn-id: trunk@21590 -
2012-06-13 08:05:36 +00:00
pierre
f369069965 + Add CYCLELEVEL variable, whose value can be from 1 to 3
to be able to modify used options at a specific level,
  using OPTLEVELX, LOCALOPTLEVELX and RTLOPTLEVELX
  with X being the current value of CYCLELEVEL.
  extcycle: Append to value of OPT variable instead of overwriting it.
  fullcycle: Remove i386 target for x86_64 source cpu
  as this does not work for windows-64bit.

git-svn-id: trunk@21589 -
2012-06-13 08:04:44 +00:00
pierre
84214d1249 * Use mips_extra_offset function to give offsets expected by GDB for MIPS cpu
git-svn-id: trunk@21588 -
2012-06-12 22:57:19 +00:00
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