Commit Graph

47 Commits

Author SHA1 Message Date
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
nickysn
fb234e2149 + check record type in TOmfRecord_COMENT.DecodeFrom
git-svn-id: trunk@30511 -
2015-04-09 13:08:45 +00:00
nickysn
713f12f3f3 + implemented TOmfRecord_GRPDEF.DecodeFrom
git-svn-id: trunk@30510 -
2015-04-09 12:45:47 +00:00
nickysn
23b95cc291 + added classes for writing EXTDEF omf records
git-svn-id: trunk@30496 -
2015-04-08 14:13:35 +00:00
nickysn
fb45d5e11b * fixed some off-by-1 errors in TOmfRecord_PUBDEF.EncodeTo
git-svn-id: trunk@30491 -
2015-04-07 23:02:32 +00:00
nickysn
c4a8f22bc9 + added classes for writing PUBDEF omf records
git-svn-id: trunk@30490 -
2015-04-07 22:18:46 +00:00
nickysn
b67fea70bd + write a MODEND (end of module) record at the end of the omf file
git-svn-id: trunk@30454 -
2015-04-05 22:42:26 +00:00
nickysn
444b63cf07 + added class for reading/writing a FIXUP subrecord in a FIXUPP omf record
git-svn-id: trunk@30448 -
2015-04-05 19:57:41 +00:00
nickysn
25411c3871 + added omf fixup related enums
git-svn-id: trunk@30436 -
2015-04-05 14:50:59 +00:00
nickysn
7f4c2c0cc2 * added missing 'private' declaration to TOmfRecord_SEGDEF
git-svn-id: trunk@30420 -
2015-04-04 12:48:05 +00:00
nickysn
1521f88a9d * fixed off by one error when writing a GRPDEF record
git-svn-id: trunk@30413 -
2015-04-03 22:56:49 +00:00
nickysn
56621e6ee1 + added class for writing GRPDEF omf records
git-svn-id: trunk@30410 -
2015-04-03 21:58:02 +00:00
nickysn
7c90285af1 * improved record length checking in the SEGDEF omf record parsing
git-svn-id: trunk@30409 -
2015-04-03 00:12:16 +00:00
nickysn
28d8e915b7 + implemented parsing of SEGDEF omf records as well
git-svn-id: trunk@30408 -
2015-04-02 23:59:45 +00:00
nickysn
f380d67575 - rm unused var
git-svn-id: trunk@30407 -
2015-04-02 23:49:36 +00:00
nickysn
65212e7a34 + added class for encoding a SEGDEF(32) omf record
git-svn-id: trunk@30406 -
2015-04-02 23:05:02 +00:00
nickysn
1a3bd5fde1 + added enums for OMF segment alignment and combination
git-svn-id: trunk@30404 -
2015-04-02 20:20:47 +00:00
nickysn
72bfe8d2c4 + implemented writing of the LNAMES omf record(s)
git-svn-id: trunk@30398 -
2015-03-31 23:46:15 +00:00
nickysn
e4c612611f + added class (and constants) for handling OMF COMENT records. Write a COMENT
"Translator" record with the FPC version immediately after the header in the
  omf internal object writer.

git-svn-id: trunk@30396 -
2015-03-30 23:38:28 +00:00
nickysn
70577a55f3 + write the omf header in the omf binary writer
git-svn-id: trunk@30395 -
2015-03-30 22:44:58 +00:00
nickysn
131422b594 + added methods for calculating and verifying the omf record checksum and
properties for accessing it

git-svn-id: trunk@30345 -
2015-03-28 01:55:03 +00:00
nickysn
359eaa4152 + added class for encapsulating an omf raw record
git-svn-id: trunk@30344 -
2015-03-28 01:37:57 +00:00
nickysn
49d501a798 + added unit omfbase for omf definitions; currently contains all the omf record
type constants

git-svn-id: trunk@30331 -
2015-03-27 00:44:01 +00:00