Commit Graph

56794 Commits

Author SHA1 Message Date
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
nickysn
d5a18f03a8 + fill and write the NewExe imported name table
git-svn-id: trunk@42611 -
2019-08-09 13:32:57 +00:00
marco
fdef3241f9 * some make 3.82 fixes from mantis #35927
git-svn-id: trunk@42610 -
2019-08-09 13:02:27 +00:00
pierre
651922c2f8 Correct size of asizeint, which is still 4-byte long even when CpuAddrBitSize is 16 as for avr and i8086
git-svn-id: trunk@42609 -
2019-08-09 09:29:50 +00:00
michael
39a8d06e8a * Fix spaceLeft, missing return statement
git-svn-id: trunk@42608 -
2019-08-09 07:42:34 +00:00
nickysn
1736950d58 + added property that determines the resident name table size in bytes and use
it to fill the offset to the start of the module reference table in NewExe
  files

git-svn-id: trunk@42607 -
2019-08-08 21:37:14 +00:00
nickysn
251a93456e + added constructor to TNewExeResidentNameTableEntry that allows you to
initialize this entry's ordinal number

git-svn-id: trunk@42606 -
2019-08-08 21:28:58 +00:00
nickysn
35a4f96100 + create the resident name table in the NewExe file writer
git-svn-id: trunk@42605 -
2019-08-08 15:28:11 +00:00
nickysn
3b08c6b0ea + write the resource table (empty for now) to NewExe files
git-svn-id: trunk@42604 -
2019-08-08 14:38:25 +00:00
pierre
008c1436d8 Fix bug report 35937 by simple assembly code change and add test
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
Mattias Gaertner
c4cd0ad776 fcl-passrc: specialize for-loop
git-svn-id: trunk@42602 -
2019-08-08 12:41:33 +00:00
pierre
70b2904c48 * Issue file change before line and column change in token writes to allow for better display in ppudump utility
git-svn-id: trunk@42601 -
2019-08-08 06:26:40 +00:00
pierre
6d2a7a1b27 Fix change_endian code to read double and single float data
git-svn-id: trunk@42600 -
2019-08-08 06:24:47 +00:00
Mattias Gaertner
c31774eac4 fcl-passrc: resolver: nested specialize
git-svn-id: trunk@42599 -
2019-08-07 15:13:04 +00:00
Mattias Gaertner
a39e4dc38b fcl-passrc: resolver: fixed type TArr = array of TArr
git-svn-id: trunk@42598 -
2019-08-07 09:06:12 +00:00
Károly Balogh
90bab63e51 m68k/vasm: remove bits of Linux support. this combination has never really been tested or supported, and got broken recently. m68k-elf-linux has good enough GNU binutils anyway
git-svn-id: trunk@42597 -
2019-08-07 09:04:57 +00:00
pierre
843a379cc2 Fix gettokenbufshortint, as shortint is one byte long, not two
git-svn-id: trunk@42596 -
2019-08-06 21:32:51 +00:00
nickysn
0c4d02ff9c + detect heap sections and fill the local heap size in the NewExe header
git-svn-id: trunk@42595 -
2019-08-06 13:08:27 +00:00
marco
cffc8317fa * mantis #35013 library parts. Allow embedded objects.
git-svn-id: trunk@42594 -
2019-08-06 12:00:25 +00:00
Mattias Gaertner
481126fc80 fcl-passrc: local var, implassign
git-svn-id: trunk@42592 -
2019-08-06 08:07:35 +00:00
pierre
6c87348b86 Add mode and optimizer switches names, and check that no unknown switch is set
git-svn-id: trunk@42591 -
2019-08-06 06:32:52 +00:00
nickysn
321e4d5837 * convert the internal name from IMPDEF records to upper case if the
CaseSensitiveSymbols option is off

git-svn-id: trunk@42590 -
2019-08-06 00:44:00 +00:00
nickysn
295daf4a7f + recognize stack segments and fill the total stack size in the NewExe header
git-svn-id: trunk@42589 -
2019-08-06 00:40:43 +00:00
nickysn
a86623b97a + initialize the flags for the code and data segments in the NewExe header
git-svn-id: trunk@42588 -
2019-08-06 00:23:31 +00:00
nickysn
7132973847 + added the missing NewExe segment attributes as properties to the
TNewExeSection class and create the NewExe segment table into the .exe file.
  Not all of the properties are initialized yet, though.

git-svn-id: trunk@42587 -
2019-08-05 17:08:18 +00:00
Mattias Gaertner
fb27e7f4c3 fcl-image: write tif: use compression number DeflateAdobe, not obsolete DeflateZLib
git-svn-id: trunk@42586 -
2019-08-05 16:54:17 +00:00
pierre
c74007b580 Revert wrong part in commit 42580: reinstate 'override FPC=' for cycle targets
git-svn-id: trunk@42585 -
2019-08-05 13:33:12 +00:00
nickysn
d7c24c05d0 + fill the segment table start offset in the NewExe header
git-svn-id: trunk@42584 -
2019-08-05 13:30:01 +00:00
pierre
0167ddf44c Reorganize token buffer output to be able to use it for generics and inlined functions
git-svn-id: trunk@42583 -
2019-08-05 09:15:12 +00:00
pierre
7b0d2febd7 Do not use -Sew (turn warnings into errors) if CYCLELEVEL is equal to 1
git-svn-id: trunk@42582 -
2019-08-05 09:02:16 +00:00
pierre
5a3883b1ab Fix internal error by using same code to set checkoverflow variable as in powerpc/nppcadd unit
git-svn-id: trunk@42581 -
2019-08-05 08:50:37 +00:00
pierre
754b1bd930 Add PPUDUMP variable to be able to specify explicit version of ppudump program, defaulting to ppudump executable in SEARCHPATH
git-svn-id: trunk@42580 -
2019-08-05 08:10:02 +00:00
pierre
d6c5a1799c Avoid range check error when compiled -Criot option
git-svn-id: trunk@42579 -
2019-08-05 06:47:51 +00:00
Mattias Gaertner
16752a8fba fcl-passrc: resolver: specialize proc implementation
git-svn-id: trunk@42578 -
2019-08-04 17:21:48 +00:00
Mattias Gaertner
5e81d57f39 pastojs: test generic empty class
git-svn-id: trunk@42577 -
2019-08-03 19:08:33 +00:00