pierre
6205e530aa
Merge commits 39912, 39914, 40001, 40115, 40132 and 40163
...
------------------------------------------------------------------------
r39912 | pierre | 2018-10-11 22:38:39 +0200 (Thu, 11 Oct 2018) | 1 line
Fix ppuload for string type for i8086, use getasizeint for all string defs but short string
------------------------------------------------------------------------
------------------------------------------------------------------------
r39914 | pierre | 2018-10-12 08:05:50 +0200 (Fri, 12 Oct 2018) | 1 line
Adapt ppudump to fix introduced in revision 39912
------------------------------------------------------------------------
------------------------------------------------------------------------
r40001 | pierre | 2018-10-21 00:19:08 +0200 (Sun, 21 Oct 2018) | 1 line
Add explicit typecast to avoid range check error
------------------------------------------------------------------------
------------------------------------------------------------------------
r40115 | pierre | 2018-10-31 23:53:11 +0100 (Wed, 31 Oct 2018) | 1 line
Avoid range check error in ReadPosInfo
------------------------------------------------------------------------
------------------------------------------------------------------------
r40132 | pierre | 2018-11-01 08:09:47 +0100 (Thu, 01 Nov 2018) | 1 line
Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
------------------------------------------------------------------------
------------------------------------------------------------------------
r40163 | pierre | 2018-11-01 22:58:54 +0100 (Thu, 01 Nov 2018) | 8 lines
More -CriotR fixes:
* entfile.pas: Change PPU header falgs filed from longint to dword.
* ngtcon.pas: Change local variable startoffset type to aword.
* omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
to avoid a range check error.
* owomflib.pas: Disable range check explicitly in hash computation.
* utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas
------------------------------------------------------------------------
git-svn-id: branches/fixes_3_2@40519 -
2018-12-10 21:18:24 +00:00
florian
68eb921d46
* broken compilation after r39347 fixed
...
git-svn-id: trunk@39349 -
2018-06-30 12:30:25 +00:00
nickysn
45337b67fe
+ when using the i8086 with section based smartlinking, create OMF section
...
groups, named 'CGROUP' or 'CGROUP_UNITNAME', which include all the code
sections, that need to be put in the same segment
git-svn-id: trunk@39277 -
2018-06-22 15:02:39 +00:00
nickysn
ab47c8b899
+ introduce the omf_section_primary_group function. Use it instead of
...
section_belongs_to_dgroup, to allow sections to belong to groups, other than
dgroup.
git-svn-id: trunk@39268 -
2018-06-21 13:21:53 +00:00
nickysn
5eb69edf9e
+ support segments (sections) with a primary group, other than 'DGROUP' in the
...
OMF internal object writer
git-svn-id: trunk@39245 -
2018-06-20 14:57:20 +00:00
nickysn
bfdd75eabf
+ support AB_LOCAL symbols in OMF object files, by implementing support for
...
LPUBDEF/LPUBDEF32 OMF records
git-svn-id: trunk@39210 -
2018-06-11 15:29:23 +00:00
nickysn
98634899f2
+ support OMF fixups, determined by thread
...
git-svn-id: trunk@39151 -
2018-05-30 15:49:27 +00:00
nickysn
189cba817e
+ added method TOmfSubRecord_THREAD.ApplyTo, which applies the data in the
...
current thread subrecord to a TOmfThreads object
git-svn-id: trunk@39148 -
2018-05-30 13:52:34 +00:00
nickysn
26e808e155
+ added classes for maintaining the OMF fixup thread state
...
git-svn-id: trunk@39147 -
2018-05-30 13:35:52 +00:00
nickysn
54a8d8de58
+ added class for decoding/encoding THREAD OMF subrecords
...
git-svn-id: trunk@39142 -
2018-05-29 15:05:07 +00:00
nickysn
0a01c0c76f
* autoswitch to writing 32-bit SEGDEF OMF records if there's a need to encode a
...
32-bit segment length
git-svn-id: trunk@39095 -
2018-05-22 14:03:59 +00:00
nickysn
70be0dc6e9
* changed internal error number to make it unique
...
git-svn-id: trunk@39094 -
2018-05-22 13:49:40 +00:00
nickysn
dcdfecbf35
* changed internal error number to make it unique
...
git-svn-id: trunk@39090 -
2018-05-22 12:55:53 +00:00
nickysn
a656d98657
* autoswitch to writing 32-bit PUBDEF OMF records if there's a need to encode a
...
32-bit offset
git-svn-id: trunk@39089 -
2018-05-22 12:54:11 +00:00
nickysn
a12622e06f
* use 1-byte alignment instead of 4-byte alignment for the OMF dwarf sections
...
(otherwise the alignment screws up the dwarf debug info)
git-svn-id: trunk@39071 -
2018-05-20 20:59:39 +00:00
nickysn
3d6d020fca
+ implemented the actual writing of LINNUM OMF records
...
git-svn-id: trunk@39008 -
2018-05-16 17:37:28 +00:00
nickysn
42164b5c01
+ omf writer: support writing partial LINNUM records (up to 1024 bytes,
...
according to the spec)
git-svn-id: trunk@38995 -
2018-05-15 14:45:22 +00:00
nickysn
2741a30f20
+ added method TOmfSubRecord_LINNUM_MsLink_LineNumberList.Clear
...
git-svn-id: trunk@38970 -
2018-05-10 14:16:29 +00:00
nickysn
0b296ac828
* extracted the parts of the TOmfRecord_LINNUM_MsLink class, which implement a
...
container of TOmfSubRecord_LINNUM_MsLink_Entry objects to a separate class
TOmfSubRecord_LINNUM_MsLink_LineNumberList
git-svn-id: trunk@38968 -
2018-05-10 13:56:11 +00:00
nickysn
718e83954f
* merge duplicate strings in the LNAMES section, when writing OMF object
...
modules. This results in slightly smaller obj files.
git-svn-id: trunk@38967 -
2018-05-10 13:07:32 +00:00
nickysn
fc9d331b42
+ added classes for reading/writing LINNUM OMF records in the Microsoft LINK
...
specific format
git-svn-id: trunk@38959 -
2018-05-09 14:55:34 +00:00
nickysn
ba2c06a239
+ added class for reading/writing LINNUM (line number debug info) records in the
...
OMF object format
git-svn-id: trunk@38953 -
2018-05-08 16:00:51 +00:00
nickysn
2af5c9d508
* changed type used for section alignment from byte/shortint to longint, so the
...
internal object writer and the internal linker support object files with
sections with alignment >=256
git-svn-id: trunk@37518 -
2017-10-25 15:47:29 +00:00
florian
b1dff29cbf
* removed unused units
...
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
nickysn
7ee133162c
* use OMF section names, starting with dot for the dwarf debug info for
...
compatibility with the Watcom linker and debugger
git-svn-id: trunk@34708 -
2016-10-12 13:05:12 +00:00
florian
90b284e169
+ generate .debug_aranges sections for dwarf debug info: enables faster address to debug info translation
...
git-svn-id: trunk@33454 -
2016-04-08 20:19:59 +00:00
nickysn
4edbd27774
* support writing omf libraries with size greater than 251 blocks
...
git-svn-id: trunk@32268 -
2015-11-07 16:54:23 +00:00
nickysn
f14f4ff924
* use the 'FAR_DATA' segment class name instead of 'DATA' or 'BSS' in the huge
...
memory model
git-svn-id: trunk@31497 -
2015-09-03 17:53:15 +00:00
nickysn
cfab5d3d3e
* the omfbase.omf_segclass const array converted to function in order to be able
...
to return different names for some sections in the huge memory model
git-svn-id: trunk@31496 -
2015-09-03 17:48:07 +00:00
nickysn
cc2e27b555
* the function which returns the alignment of omf sections moved to unit
...
omfbase, so it can be used by the nasm asm writer as well
git-svn-id: trunk@31486 -
2015-09-03 12:36:58 +00:00
nickysn
efef3882a0
* moved the code for determining whether an omf object section should
...
belong to group DGROUP to a function in unit omfbase (so it can be used in the
future by the nasm asm writer as well)
git-svn-id: trunk@31484 -
2015-09-02 16:11:02 +00:00
nickysn
2e6d462ff6
* omf segment class names moved to a const array in omfbase, so they can be used
...
(in the future) in the nasm asm writer as well
git-svn-id: trunk@31483 -
2015-09-02 14:37:20 +00:00
nickysn
4061628ffb
* the i8086-msdos default code segment (in near code memory models) renamed
...
'_TEXT'. This name is used in object modules, produced by Borland C and Open
Watcom.
git-svn-id: trunk@31482 -
2015-09-02 13:14:12 +00:00
nickysn
1a8e203bf5
* moved the omf section names constant to the omfbase unit and use it also in
...
the nasm asm writer when targeting i8086-msdos
git-svn-id: trunk@31481 -
2015-09-02 12:28:46 +00:00
nickysn
7923b6142e
+ finished the internal omf library writer (implementing writing of the library
...
dictionary at the and of the file) and enabled it for the i8086 internal asm
git-svn-id: trunk@30701 -
2015-04-21 23:31:02 +00:00
nickysn
3fa81fa7cd
+ added overloaded methods TOmfRawRecords.ReadFrom and .WriteTo for reading from
...
and writing to TDynamicArray
git-svn-id: trunk@30699 -
2015-04-21 20:22:30 +00:00
nickysn
32e0eca0dc
+ added read only property TOmfSubRecord_FIXUP.LocationSize, which returns the
...
size in bytes of the fixup
git-svn-id: trunk@30678 -
2015-04-19 22:57:33 +00:00
nickysn
623ea066c7
+ added class for encoding/decoding an omf library end record
...
git-svn-id: trunk@30660 -
2015-04-19 11:25:25 +00:00
nickysn
24d9c06489
+ added class for encoding/decoding an omf library header record
...
git-svn-id: trunk@30646 -
2015-04-18 12:57:04 +00:00
nickysn
3ce29dcfb2
+ added function for computing the hash for the omf libraries' dictionary
...
git-svn-id: trunk@30644 -
2015-04-18 10:48:49 +00:00
nickysn
07ebd29911
* fixed warning in TOmfRecord_MODEND.DecodeFrom
...
git-svn-id: trunk@30592 -
2015-04-14 18:41:41 +00:00
nickysn
e0be3e49ae
* when reading omf records (and subrecords), range check against
...
RawRecord.RecordLength instead of High(RawRecord.RawData)
git-svn-id: trunk@30591 -
2015-04-14 17:55:13 +00:00
nickysn
b4d044e1b2
+ implemented reading of MODEND omf records
...
git-svn-id: trunk@30589 -
2015-04-14 16:26:40 +00:00
nickysn
4e0c77fcf4
check and cause an internal error in TOmfRecord_PUBDEF.EncodeTo when trying to
...
write a 16-bit record with an entry with public offset > $ffff
git-svn-id: trunk@30588 -
2015-04-14 15:35:19 +00:00
nickysn
0e10290722
+ implemented writing a start address in a MODEND omf record
...
git-svn-id: trunk@30587 -
2015-04-14 15:24:51 +00:00
nickysn
d3cc0770ac
+ added properties for specifying a start address in the MODEND omf record (reading/writing them to file not yet implemented)
...
git-svn-id: trunk@30586 -
2015-04-14 14:55:06 +00:00
nickysn
bf0aaf5470
+ implemented TOmfRecord_PUBDEF.DecodeFrom
...
git-svn-id: trunk@30585 -
2015-04-14 14:08:27 +00:00
nickysn
cea67320bf
+ implemented TOmfRecord_EXTDEF.DecodeFrom
...
git-svn-id: trunk@30584 -
2015-04-14 13:40:46 +00:00
nickysn
10722abfac
+ implemented TOmfRecord_LNAMES.DecodeFrom
...
git-svn-id: trunk@30583 -
2015-04-14 13:32:12 +00:00
nickysn
64cb865417
* check record type in TOmfRecord_THEADR.DecodeFrom
...
git-svn-id: trunk@30582 -
2015-04-14 12:04:49 +00:00