Commit Graph

56928 Commits

Author SHA1 Message Date
nickysn
6398c42a38 + fill MinAllocSize in the NewExe segment table
git-svn-id: trunk@42661 -
2019-08-12 15:47:08 +00:00
nickysn
31431d99ab * limit the heapsize to 65520 bytes on win16 (the $M directive in win16 only
sets the size of the "local heap", which is limited to a single segment. The
  actual heap in the large memory model is the "global heap", which doesn't have
  a set limit, but grows with the memory allocated)

git-svn-id: trunk@42660 -
2019-08-12 14:24:01 +00:00
nickysn
ae953214ee * fixed quoting of the "description" wlink option on Windows
git-svn-id: trunk@42659 -
2019-08-12 12:58:16 +00:00
nickysn
24e3d95fe0 - don't create a heap segment for win16
git-svn-id: trunk@42658 -
2019-08-12 12:51:37 +00:00
pierre
8015bfb5a0 Fix arm specific failure in tw12048
git-svn-id: trunk@42657 -
2019-08-12 12:17:00 +00:00
florian
5947143d8f * intel asm reader: try to read avx512 extensions only if the instruction supports them
* cleanup

git-svn-id: trunk@42656 -
2019-08-12 10:46:19 +00:00
florian
4c9a0403f4 * compilation on i386 fixed
git-svn-id: trunk@42655 -
2019-08-11 19:35:34 +00:00
florian
7f8dc75604 -- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
U    compiler/i8086/r8086int.inc
U    compiler/i8086/r8086nor.inc
U    compiler/i8086/r8086rni.inc
U    compiler/i8086/r8086std.inc
U    compiler/i386/i386prop.inc
U    compiler/i386/i386att.inc
U    compiler/i386/i386atts.inc
U    compiler/i386/i386int.inc
U    compiler/i8086/i8086int.inc
U    compiler/i8086/i8086op.inc
U    compiler/i8086/r8086dwrf.inc
U    compiler/i8086/r8086ari.inc
U    compiler/i8086/r8086con.inc
U    compiler/i8086/r8086nasm.inc
U    compiler/i8086/r8086num.inc
U    compiler/i8086/r8086stab.inc
U    compiler/i386/i386nop.inc
U    compiler/i386/i386op.inc
U    compiler/i386/i386tab.inc
U    compiler/i386/r386ot.inc
U    compiler/i386/r386ari.inc
U    compiler/i386/r386att.inc
U    compiler/i386/r386con.inc
U    compiler/i386/r386dwrf.inc
U    compiler/i386/r386int.inc
U    compiler/i386/r386iri.inc
U    compiler/i386/r386nasm.inc
U    compiler/i386/r386nor.inc
U    compiler/i386/r386nri.inc
U    compiler/i386/r386num.inc
U    compiler/i386/r386rni.inc
U    compiler/i386/r386sri.inc
U    compiler/i386/r386stab.inc
U    compiler/i386/r386std.inc
U    compiler/i8086/i8086prop.inc
U    compiler/i8086/i8086att.inc
U    compiler/i8086/i8086atts.inc
U    compiler/i8086/i8086nop.inc
U    compiler/i8086/i8086tab.inc
U    compiler/i8086/r8086ot.inc
U    compiler/i8086/r8086att.inc
U    compiler/i8086/r8086iri.inc
U    compiler/i8086/r8086nri.inc
U    compiler/i8086/r8086sri.inc
U    compiler/x86/agx86int.pas
U    compiler/x86/rax86int.pas
U    compiler/x86/aasmcpu.pas
U    compiler/x86/rax86.pas
U    compiler/x86/x86ins.dat
U    compiler/x86/agx86att.pas
U    compiler/x86/cpubase.pas
 U   packages/rtl-objpas/src/inc/rtti.pp
 U   packages/rtl-objpas/tests/tests.rtti.pas
 U   rtl
U    compiler/x86_64/x8664att.inc
U    compiler/x86_64/x8664tab.inc
U    compiler/x86_64/r8664con.inc
U    compiler/x86_64/r8664nasm.inc
U    compiler/x86_64/r8664sri.inc
U    compiler/aasmtai.pas
U    compiler/scanner.pas
U    tests/utils/avx/readme.txt
U    compiler/x86_64/x8664ats.inc
U    compiler/x86_64/x8664op.inc
U    compiler/x86_64/r8664att.inc
U    compiler/x86_64/r8664iri.inc
U    compiler/x86_64/r8664rni.inc
U    compiler/pp.lpi
U    compiler/msgtxt.inc
U    compiler/ppcx64.lpi
U    compiler/x86_64/x8664pro.inc
U    compiler/x86_64/x8664nop.inc
U    compiler/x86_64/r8664ari.inc
U    compiler/x86_64/r8664int.inc
U    compiler/x86_64/r8664num.inc
U    compiler/x86_64/r8664std.inc
U    compiler/msgidx.inc
U    compiler/utils/mkx86ins.pp
U    compiler/x86/x86reg.dat
D    compiler/x86/cx86innr.inc
U    compiler/x86_64/x8664int.inc
U    compiler/x86_64/r8664ot.inc
U    compiler/x86_64/r8664dwrf.inc
U    compiler/x86_64/r8664nor.inc
U    compiler/x86_64/r8664stab.inc
U    compiler/msg/errore.msg
U    compiler/utils/mkx86reg.pp
U    tests/utils/avx/asmtestgenerator.pas
U    tests/utils/avx/options.pas
U    tests/utils/avx/avxtestgenerator.pp
U    tests/test/units/character/tissurrogatepair2.pp
U    tests/test/units/character/tissurrogatepair.pp
U    tests/utils/avx/avxopcodes.pas
 U   .
-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«:
 U   .
 U   packages/rtl-objpas/src/inc/rtti.pp
 U   packages/rtl-objpas/tests/tests.rtti.pas
 U   rtl

git-svn-id: trunk@42654 -
2019-08-11 17:29:30 +00:00
svenbarth
fc46b6c57c * apply patch by Blaise.ru to pass the record name for an internal record more efficiently
git-svn-id: trunk@42653 -
2019-08-11 17:26:44 +00:00
svenbarth
955ebf2f09 * applied patch by Blaise.ru to reduce code duplication in trecorddef.create_global_internal()
git-svn-id: trunk@42652 -
2019-08-11 17:26:35 +00:00
florian
70a2b0b260 * restored change information for FMA instructions which got lost somewhere
git-svn-id: branches/tg74/avx512@42651 -
2019-08-11 16:59:10 +00:00
florian
3ba313e7cd -- Rückwärtiges Zusammenführen von r39680 in ».«:
A    compiler/pp.lpi
-- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r39680 in ».«:
 U   .
-- Rückwärtiges Zusammenführen von r39678 in ».«:
U    compiler/pp.lpi
-- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r39678 in ».«:
 U   .

git-svn-id: branches/tg74/avx512@42650 -
2019-08-11 16:31:48 +00:00
florian
f9cd4c158a * improved readme.txt again
git-svn-id: branches/tg74/avx512@42649 -
2019-08-11 16:22:06 +00:00
florian
e7ed8f6aa3 Synchronized with trunk
git-svn-id: branches/tg74/avx512@42648 -
2019-08-11 16:05:47 +00:00
florian
537c63bd83 * fixed a few merging issues
+ extended readme to explain avx tests can be run using GNU Parallel

git-svn-id: branches/tg74/avx512@42647 -
2019-08-11 16:05:19 +00:00
florian
bce70a5105 * test only a limited grid of surrogate pairs to avoid that tests run longer
than all other tests together when testing with -j

git-svn-id: branches/tg74/avx512@42646 -
2019-08-11 16:03:34 +00:00
florian
45c4e81b62 * use a process unique name for link.res, so multiple FPCs can be run in parallel in one directory
git-svn-id: trunk@42645 -
2019-08-11 15:58:36 +00:00
Mattias Gaertner
7173349689 fcl-passrc: specialize external class
git-svn-id: trunk@42644 -
2019-08-10 21:02:09 +00:00
florian
f883dd6dbb Synchronized with trunk, part 2 (make all works, avx-512 support not yet tested, no regression testing yet)
git-svn-id: branches/tg74/avx512@42643 -
2019-08-10 19:38:35 +00:00
florian
746bfced25 Synchronized with trunk, part 1 (only make cycle tested, make all is broken, avx-512 support not yet tested
git-svn-id: branches/tg74/avx512@42642 -
2019-08-10 13:53:20 +00:00
nickysn
d69cf3a440 + pass the ParmCount parameter from the ExpDef OMF record to the NewExe entry
point

git-svn-id: trunk@42641 -
2019-08-10 12:42:28 +00:00
Mattias Gaertner
d772890e1f fcl-passrc: no function result not set warning for fieldless record
git-svn-id: trunk@42640 -
2019-08-10 06:47:35 +00:00
nickysn
141f2403d3 + added system_i8086_win16 to the supported targets of the i8086 omf internal
assembler/object writer

git-svn-id: trunk@42639 -
2019-08-10 02:34:24 +00:00
nickysn
817ec5e6f2 + allow creating win16 dlls with the wlink external linker as well
git-svn-id: trunk@42638 -
2019-08-10 02:11:25 +00:00
nickysn
cc7e623802 + enable the IsDll flag in the NewExe header when creating dlls with the
internal linker. Also make a SINGLEDATA (instead of MULTIPLEDATA) executable
  and entry points in this case.

git-svn-id: trunk@42637 -
2019-08-10 01:54:59 +00:00
nickysn
4cd8193c79 + enable the ISSHAREDLIBRARY option for the win16 internal linker when creating a dll
git-svn-id: trunk@42636 -
2019-08-10 01:53:29 +00:00
nickysn
2b767c4f8b + also copy ResidentName in TOmfObjData.AddExportSymbol
git-svn-id: trunk@42635 -
2019-08-10 00:55:17 +00:00
nickysn
f40736438c + add all exported by name symbols to the resident or the nonresident name table
git-svn-id: trunk@42634 -
2019-08-10 00:29:33 +00:00
nickysn
238c9e576c + pass the description option to wlink to set the module description string when
using the external linker on the win16 target

git-svn-id: trunk@42633 -
2019-08-10 00:18:06 +00:00
nickysn
b7a4965ac3 - suppress the warning that the $D directive is not supported on i8086-win16
git-svn-id: trunk@42632 -
2019-08-10 00:11:45 +00:00
nickysn
90a164bcda + write the module description as the first entry to the nonresident names table
git-svn-id: trunk@42631 -
2019-08-10 00:11:12 +00:00
nickysn
7bb6b525b1 + also write the nonresident name table
git-svn-id: trunk@42630 -
2019-08-10 00:03:51 +00:00
nickysn
d1d2f6b701 * the resident table entry/table classes renamed "export table", because the
same classes can be used both for the resident and nonresident tables (they
  share the same structure)

git-svn-id: trunk@42629 -
2019-08-09 23:57:00 +00:00
nickysn
9f0f31a1e9 + write the entry table to the NewExe file
git-svn-id: trunk@42628 -
2019-08-09 23:50:59 +00:00
nickysn
2d77a2c104 + add entry points to the entry table for all exported NewExe symbols
git-svn-id: trunk@42627 -
2019-08-09 23:15:07 +00:00
nickysn
8f3aa92678 + added class TNewExeEntryPoint and methods/properties to TNewExeEntryTable to
make it hold a list of entry points

git-svn-id: trunk@42626 -
2019-08-09 23:01:34 +00:00
nickysn
3da4cf0792 + assign ordinals to all exported symbols
git-svn-id: trunk@42625 -
2019-08-09 22:15:36 +00:00
Mattias Gaertner
831014cb12 pastojs: fixed result
git-svn-id: trunk@42624 -
2019-08-09 20:49:02 +00:00
Mattias Gaertner
7280452ab2 fcl-passrc: specialize elements
git-svn-id: trunk@42623 -
2019-08-09 20:47:50 +00:00
nickysn
99b1283e2e + implemented TOmfObjData.AddExportSymbol - the exported symbols are recorded in
the newly introduced TOmfObjData.ExportedSymbolList

git-svn-id: trunk@42622 -
2019-08-09 20:38:31 +00:00
nickysn
4b54cbea1e + parse ExpDef OMF records and delegate them to a new method
TOmfObjData.AddExportSymbol (not implemented yet)

git-svn-id: trunk@42621 -
2019-08-09 17:08:11 +00:00
nickysn
262cecf528 + added class for writing the NewExe entry table - not fully implemented yet
git-svn-id: trunk@42620 -
2019-08-09 16:47:37 +00:00
nickysn
bd168fc552 + fill the NewExe entry table offset
git-svn-id: trunk@42619 -
2019-08-09 16:09:51 +00:00
nickysn
7e78fc1d7f * strip the '.dll' extension from the library name when creating import
libraries as well. This ensures that NewExe binaries, created by the external
  linker don't have the '.dll' extension in them.

git-svn-id: trunk@42618 -
2019-08-09 15:03:22 +00:00
nickysn
7038d18d50 * fixed wrong typecast in TNewExeImportedNameTable.GetSize
git-svn-id: trunk@42617 -
2019-08-09 14:51:35 +00:00
nickysn
8dea445ffe + fill the NewExe module reference table
git-svn-id: trunk@42616 -
2019-08-09 14:50:26 +00:00
nickysn
1f2354752c * when reading ImpDef records, add '.dll' to the libname if it has no extension,
in order to be consistent with externals, declared in pascal files. The '.dll'
  extension will be stripped later, when generating the NewExe file.

git-svn-id: trunk@42615 -
2019-08-09 14:27:11 +00:00
nickysn
dd9c76eeec * strip the '.dll' extension from the library names before adding them to the
NewExe imported name table

git-svn-id: trunk@42614 -
2019-08-09 14:19:41 +00:00
nickysn
deefeb1ca0 + calculate the table offset of each string in the NewExe imported name table
git-svn-id: trunk@42613 -
2019-08-09 13:49:36 +00:00
nickysn
d24cfcb31c * small optimization in TNewExeOutput.FillImportedNameTable - only add the
library name once, instead of trying to add it (which causes a look up) for
  every imported symbol

git-svn-id: trunk@42612 -
2019-08-09 13:35:53 +00:00