* binary compare data compared data1 with itself, mantis #22241 Patch by ...


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21576 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@21577 3ad0048d-3df7-0310-abae-a5850022a9f2
+ ogelf.pas: added definitions for program headers and .dynamic section, and reformatted existing ones to reduce line count.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21580 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@21581 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@21582 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Let gettablenames with TRUE as second param succeed, out of compatibility
   Patch from Lacak2 Mantis #22255


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21583 3ad0048d-3df7-0310-abae-a5850022a9f2
  * {$linklib png} to enable automatically linking the library on Mac OS X
    (mantis #21833)


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21584 3ad0048d-3df7-0310-abae-a5850022a9f2
   + 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: http://svn.freepascal.org/svn/fpc/trunk@21585 3ad0048d-3df7-0310-abae-a5850022a9f2
 tprocdef.total_local_size field added for MIPS cpu

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21586 3ad0048d-3df7-0310-abae-a5850022a9f2
 MIPS packed record are not working yet, so do not use them for TSEttings record

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21587 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Use mips_extra_offset function to give offsets expected by GDB for MIPS cpu

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21588 3ad0048d-3df7-0310-abae-a5850022a9f2
  + 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: http://svn.freepascal.org/svn/fpc/trunk@21589 3ad0048d-3df7-0310-abae-a5850022a9f2
  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: http://svn.freepascal.org/svn/fpc/trunk@21590 3ad0048d-3df7-0310-abae-a5850022a9f2
 * temporarily disabled the Fields.Count<FieldDefs.Count check.
    mantis #22030


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21591 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@21592 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@21593 3ad0048d-3df7-0310-abae-a5850022a9f2
 * Use field by field write of current_settings for replaytoken and remove packed attribute for tsettings type

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21594 3ad0048d-3df7-0310-abae-a5850022a9f2
 + Increase CurrentPPUVersion following removal of packed attribute for tsettings type

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21595 3ad0048d-3df7-0310-abae-a5850022a9f2
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: http://svn.freepascal.org/svn/fpc/trunk@21596 3ad0048d-3df7-0310-abae-a5850022a9f2
Merge of revision 21553 by Foxsen.

make clear what registers might need to be saved


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21597 3ad0048d-3df7-0310-abae-a5850022a9f2