* fixed class VMT generation for the i8086 medium memory model (near code, far data) by setting correctly the Tasmsymtype to each symbol according to whether it points to code or data

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25276 3ad0048d-3df7-0310-abae-a5850022a9f2
* TInternalLinker.Load_ReadStaticLibrary: exit if error has occurred while opening a static library or dynamic object, continuing can cause other errors/crashes in this case.
* t_linux.pas: use sysrootpath when specifying dynamic interpreter (for cross-linking).


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25277 3ad0048d-3df7-0310-abae-a5850022a9f2
- Removed TAbstractAssembler and TAbstractAssemblerClass, they are not used anymore.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25278 3ad0048d-3df7-0310-abae-a5850022a9f2
* Changed linking infrastructure to look like assembler one:
  * Changed direct references to linker classes in TSystemInfo records to enumerated ids.
  * RegisterExtennalLinker and RegisterInternalLinker procedures replaced by single RegisterLinker procedure and moved to link.pas.
  - TAbstractLinker is no longer necessary, removed.

This change allows to register linker once per id, rather than once per target, and also allows TSystemInfo records to be read-only.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25279 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: fix property access from a nested routine of the static class method and extend a test

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25280 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: handle other places where we check current_procdef for self node

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25281 3ad0048d-3df7-0310-abae-a5850022a9f2
* applied patch by Cyrax to fix #24722, revertes partially r25054 which was wrong

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25282 3ad0048d-3df7-0310-abae-a5850022a9f2
* don't call the ansistring val variant for a zero based array if not necessary to avoid ansistring usage in embedded applications

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25283 3ad0048d-3df7-0310-abae-a5850022a9f2
compiler: don't treat methods without self node (static class methods, class contructors, destructors, operators) as method pointers, fix comparison of procdef and procvardef to allow assignment of a static class method to a regular procedural variable (issue #24486)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25284 3ad0048d-3df7-0310-abae-a5850022a9f2
* make symbols generated in procedures global when auto-inlining is on

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25285 3ad0048d-3df7-0310-abae-a5850022a9f2
* specify Tasmsymtype=AT_FUNCTION and use Create_nil_codeptr when generating the code pointers in the InitFinal table

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25286 3ad0048d-3df7-0310-abae-a5850022a9f2
+ has_sse2_support for i386
+ has_sse3_support for i386

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25287 3ad0048d-3df7-0310-abae-a5850022a9f2
* mark the current procedure if it has a non local exit, not the targetted one

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25288 3ad0048d-3df7-0310-abae-a5850022a9f2
+ FindRegAllocBackward
* search reg. allocations backward in RemoveSuperfluousMove because the changed instruction could be the first one in a list

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25289 3ad0048d-3df7-0310-abae-a5850022a9f2
* i8086 medium model fixes in tnodeutils.InsertResourceTablesTable

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25290 3ad0048d-3df7-0310-abae-a5850022a9f2
Fix shift128Right in rtl/inc/softfpu.pp

The old code would always return 0 if the shiftamount was more than 63.

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25291 3ad0048d-3df7-0310-abae-a5850022a9f2
* i8086 medium model fixes in Tresourcestrings.CreateResourceStringData

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