Nikolay Nikolov
beca14334c
* use NtoLE instead of LEtoN in OMF DoRelocationFixup when converting from native to little endian. No functional changes, just better readability.
2023-11-02 14:28:48 +02:00
Nikolay Nikolov
49ce3f5d2a
* big endian fix in TOmfObjData.writeReloc
2023-11-02 14:19:08 +02:00
florian
c13517634f
* patch by Rika: Replace some instances of manual work with endianness with cryptic oneliners, resolves #39719
2022-06-08 22:59:39 +02:00
florian
cc3cbbb7b9
* fix x86 compilation after my last commit
2021-10-10 10:21:21 +02:00
yury
75491ae21c
* Removed/ifdefed the assigned and unused variables.
...
git-svn-id: trunk@48391 -
2021-01-24 13:58:17 +00:00
yury
0a021be803
* Corrected visibility of overridden methods.
...
git-svn-id: trunk@48385 -
2021-01-24 12:41:12 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
yury
c69090446a
* msdos: Fixed AV in the internal linker in some cases when code or data exceeds 64k.
...
git-svn-id: trunk@46519 -
2020-08-20 17:39:45 +00:00
yury
1002a7c590
* 8086: Fixed very long section names when $HUGECODE is ON and section based smartlinking is used.
...
* Added a utility function TrimStrCRC32().
git-svn-id: trunk@46511 -
2020-08-20 16:35:27 +00:00
yury
985220d94c
* Added virtual function TObjSection.GetAltName to be able to specify additional section name by descendants.
...
* OMF: Use the name of the first global symbol as an addition section name. This name is visible in the linker map file and helps tracking of section references.
git-svn-id: trunk@46298 -
2020-08-06 20:21:13 +00:00
nickysn
a8fe46c0f5
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
...
output label to that length
git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
svenbarth
61358b1eaa
* it's rather useless that sectiontype2options is virtual as we can't use a class type, not to mention that the classes doing the overriding are for the internal assemblers/linkers, but we need it also for external
...
Thus we move the functionality of the overloads to the basemethod and remove the virtual directive; maybe we'll find a better solution in the future...
git-svn-id: trunk@44926 -
2020-04-21 06:05:06 +00:00
nickysn
cb9f569906
* fixed i8086 compilation after r43265
...
git-svn-id: trunk@43289 -
2019-10-21 13:14:58 +00:00
svenbarth
e5de269664
* change TObjData.sectiontype2options to a class function so that it can be called without an instance of TObjData
...
git-svn-id: trunk@43265 -
2019-10-19 15:41:33 +00:00
nickysn
94e22f1262
+ added a getter for the NewExeSegmentFlags property, that returns the
...
nesfHasRelocationData flag according to whether the Relocations list is
non-empty
git-svn-id: trunk@42746 -
2019-08-20 13:49:43 +00:00
nickysn
e7d590724a
+ added and implemented the TNewExeRelocationList class
...
git-svn-id: trunk@42744 -
2019-08-20 11:42:07 +00:00
nickysn
81fba52adb
+ added constant NewExeRelocationRecordSize
...
git-svn-id: trunk@42691 -
2019-08-14 15:10:22 +00:00
nickysn
71df2911da
* fixed compilation with -Sew
...
git-svn-id: trunk@42687 -
2019-08-14 02:19:26 +00:00
nickysn
0224d632f1
+ added and implemented method TNewExeRelocation.EncodeTo
...
git-svn-id: trunk@42686 -
2019-08-14 02:14:02 +00:00
nickysn
5d8078f666
+ added class, representing a NewExe relocation entry
...
git-svn-id: trunk@42677 -
2019-08-13 14:59:55 +00:00
nickysn
5edc520468
+ fill SizeInFile properly in the NewExe segment table
...
git-svn-id: trunk@42662 -
2019-08-12 16:04:07 +00:00
nickysn
6398c42a38
+ fill MinAllocSize in the NewExe segment table
...
git-svn-id: trunk@42661 -
2019-08-12 15:47:08 +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
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
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
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
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
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
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
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
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