nickysn
e59c164844
+ parse FIXUPP records in the omf object reader (although converting them TOmfRelocation is not yet implemented)
...
git-svn-id: trunk@31320 -
2015-08-13 13:44:46 +00:00
nickysn
0cd1a88588
* fixed memory leak in TOmfObjInput.ReadExtDef
...
git-svn-id: trunk@31313 -
2015-08-11 13:39:26 +00:00
nickysn
9fc100574c
+ added property TObjSymbol.group for use with the omf object format
...
git-svn-id: trunk@31312 -
2015-08-11 13:38:28 +00:00
nickysn
c50991713c
+ implemented reading of omf public names
...
git-svn-id: trunk@31311 -
2015-08-11 13:04:22 +00:00
marco
8d145ce706
* initialize secalign before case statement to avoid warning. Mantis #28326
...
git-svn-id: trunk@31145 -
2015-06-22 11:48:42 +00:00
nickysn
318874837f
+ implemented 16-bit dos MZ exe header writer
...
git-svn-id: trunk@31002 -
2015-06-07 14:31:02 +00:00
nickysn
2c1049b5d4
+ read the LEDATA omf records (i.e. the actual section data)
...
git-svn-id: trunk@30975 -
2015-06-04 23:03:22 +00:00
nickysn
d0d3cef868
+ implemented reading of omf extdef (external symbols) records
...
git-svn-id: trunk@30973 -
2015-06-03 13:07:48 +00:00
nickysn
096743d74d
+ also read the omf segment size and set objsec.Size
...
git-svn-id: trunk@30971 -
2015-06-01 23:31:53 +00:00
nickysn
1cae939615
+ implemented parsing of omf group definitions as well
...
git-svn-id: trunk@30970 -
2015-06-01 23:03:48 +00:00
nickysn
5539d6366f
+ implemented reading of SEGDEF omf records
...
git-svn-id: trunk@30969 -
2015-06-01 21:28:55 +00:00
nickysn
28f7f16fc7
+ implemented reading of the LNAMES omf record
...
git-svn-id: trunk@30968 -
2015-06-01 14:25:51 +00:00
nickysn
be57d4900d
+ started implementing TOmfObjInput.ReadObjData - we go through the expected
...
records and read them (without parsing them yet) and verify their checksums
git-svn-id: trunk@30965 -
2015-05-31 22:32:54 +00:00
nickysn
8515160e9d
+ set CObjData in the TMZExeOutput constructor
...
git-svn-id: trunk@30866 -
2015-05-15 22:35:32 +00:00
nickysn
29a1c74e34
+ implemented TOmfObjInput.CanReadObjData
...
git-svn-id: trunk@30864 -
2015-05-15 22:23:30 +00:00
nickysn
3b288554e7
+ more msdos internal linker classes added
...
git-svn-id: trunk@30811 -
2015-05-06 14:49:07 +00:00
nickysn
ced1368221
* fixed emitting of RELOC_SEG and RELOC_SEGREL relocations within the same
...
section in the omf internal obj writer
git-svn-id: trunk@30809 -
2015-05-06 10:40:38 +00:00
nickysn
328a4fa19a
+ optimization: don't emit relative relocation entries to the same section in
...
the omf obj writer
git-svn-id: trunk@30808 -
2015-05-06 10:05:15 +00:00
nickysn
b17087a645
- removed debug writelns after r30800
...
git-svn-id: trunk@30802 -
2015-05-04 17:13:17 +00:00
nickysn
f1252d7582
- removed unnecessary setting of TargetMethod and TargetDatum (since these are
...
always set in the following 'if' statement) in TOmfRelocation.BuildOmfFixup
git-svn-id: trunk@30801 -
2015-05-04 17:11:02 +00:00
nickysn
0da38dbc79
+ implemented support for the 'dgroup' (addr_dgroup) relocation type in the omf
...
internal object writer
git-svn-id: trunk@30800 -
2015-05-04 17:07:19 +00:00
nickysn
37840bc811
- removed commented out debug code from TOmfObjData.writeReloc
...
git-svn-id: trunk@30799 -
2015-05-04 16:24:28 +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
a365da0b44
+ added class (empty for now) TOmfLibObjectWriter and hook it as an internal ar
...
in the omf internal assembler constructor. Note it is not used yet, because of
the af_needar assembler flag.
git-svn-id: trunk@30698 -
2015-04-21 19:28:51 +00:00
nickysn
778a678956
* use a 4 byte alignment for the dwarf debug sections on i8086 (not sure if
...
that's correct for 16-bit dwarf, but currently the compiler emits 4-byte
tai_aligns, so setting the section alignment to 4 avoids problems in the
internal object writer)
git-svn-id: trunk@30685 -
2015-04-20 13:15:26 +00:00
nickysn
5a1ce6162b
* set the bss, rodata and rodata_norel section alignment to 2 bytes for the i8086-msdos target
...
git-svn-id: trunk@30680 -
2015-04-20 01:27:26 +00:00
nickysn
ae04eb258b
* when splitting the section data in chunks, make sure fixups never cross chunk boundaries
...
git-svn-id: trunk@30679 -
2015-04-20 00:02:40 +00:00
nickysn
7fca6dd6c1
* set the properties of the dwarf debug info sections in the omf obj writer
...
as required by wlink in order to be recognized and handled as debug info
(i.e. class=DWARF, use32)
git-svn-id: trunk@30636 -
2015-04-18 00:42:17 +00:00
nickysn
c407f61107
* generate the omf alignment based on the value of SecAlign, instead of
...
duplicating the code from sectiontype2align in the TOmfObjSection constructor
git-svn-id: trunk@30603 -
2015-04-15 08:55:19 +00:00
nickysn
d7416afd88
* override sectiontype2align in the omf writer and set the same alignments as
...
the ones, currently produced by nasm
git-svn-id: trunk@30602 -
2015-04-15 08:31:06 +00:00
nickysn
a7e059c875
+ support segment relocations in the omf writer
...
git-svn-id: trunk@30600 -
2015-04-14 22:46:01 +00:00
nickysn
03e8c3ae05
+ support RELOC_RELATIVE relocations in the omf object writer, by using omf's
...
"self relative" (instead of "segment relative") fixups. "Hello world" and
fpctris in the small memory model now work (under dosbox, at least) with the
internal object writer.
git-svn-id: trunk@30581 -
2015-04-13 22:44:31 +00:00
nickysn
3dd914a7b9
+ write the proper external symbol index in the omf FIXUPP records. WLink no
...
longer crashes when processing our obj files :)
git-svn-id: trunk@30528 -
2015-04-09 23:33:22 +00:00
nickysn
d8f04418be
+ write EXTDEF records in the omf output file
...
git-svn-id: trunk@30527 -
2015-04-09 23:27:45 +00:00
nickysn
8a831f4c7f
* always clear segments and groups in the beginning of TOmfObjOutput.writeData, because the same objects is used for creating multiple object files
...
git-svn-id: trunk@30516 -
2015-04-09 15:42:29 +00:00
nickysn
7ecb7f83e9
+ create omf fixups for external symbols (external symbol index not set yet)
...
git-svn-id: trunk@30514 -
2015-04-09 13:56:55 +00:00
nickysn
e1ae2d9387
+ create a symbol relocation for external symbols in TOmfObjData.writeReloc
...
git-svn-id: trunk@30512 -
2015-04-09 13:48:56 +00:00
nickysn
76da1db832
+ write all the public symbols in a PUBDEF record in the omf obj writer
...
git-svn-id: trunk@30492 -
2015-04-07 23:03:48 +00:00
nickysn
35e008e44b
* TOmfRelocation modified to build the omf FIXUP subrecord later, during
...
writeData, when the ObjSection indexes are available; now we fill the proper
section/segment indexes, instead of hardcoded values.
git-svn-id: trunk@30489 -
2015-04-07 20:40:40 +00:00
nickysn
9e701454c6
+ add group "dgroup", this time built from the ObjSectionList, instead of hardcoded
...
git-svn-id: trunk@30488 -
2015-04-07 19:53:08 +00:00
nickysn
068e3d93c7
* fixed warnings during compilation of an i8086 cross compiler
...
git-svn-id: trunk@30481 -
2015-04-07 09:33:22 +00:00
nickysn
13ed542f0c
+ also fill the "size" field in the SEGDEF records
...
git-svn-id: trunk@30480 -
2015-04-07 01:38:55 +00:00
nickysn
a0aa85f372
+ also fill "overlay name" in the SEGDEF records
...
git-svn-id: trunk@30479 -
2015-04-07 01:35:25 +00:00
nickysn
293ffda788
* build the list of SEGDEF records from the ObjSectionList, instead of using a
...
hardcoded list. Creation of dgroup temporarily disabled.
git-svn-id: trunk@30478 -
2015-04-07 01:33:11 +00:00
nickysn
1d236e8386
+ count omf sections and set their index starting with 1
...
git-svn-id: trunk@30477 -
2015-04-07 01:07:42 +00:00
nickysn
e87148c425
+ added property PrimaryGroup to TOmfObjSection; fill it with 'dgroup' if
...
section belongs to the group dgroup in the current memory model
git-svn-id: trunk@30476 -
2015-04-07 00:11:56 +00:00
nickysn
c7af648d69
+ added omf-specific properties to TOmfObjSection and fill them in the constructor
...
git-svn-id: trunk@30475 -
2015-04-06 23:48:39 +00:00
nickysn
38f8a942e2
+ added descendant class TOmfObjSection (empty for now) for storing omf sections' extra data
...
git-svn-id: trunk@30474 -
2015-04-06 23:26:52 +00:00
nickysn
a1bc36ab56
+ TOmfObjData.writeReloc: write the actual offset of the symbol in the section data
...
git-svn-id: trunk@30473 -
2015-04-06 21:43:06 +00:00
nickysn
824bfd961b
+ very early (and incomplete/broken) implementation of FIXUPP records in the omf
...
object writer
git-svn-id: trunk@30458 -
2015-04-06 00:34:28 +00:00