[comp.sys.ibm.pc] Object File Formats.

sbanner1@uvicctr.UVic.ca.UUCP (S. John Banner) (06/27/89)

   Well, it seems I am having a bit of a problem.  I am trying to write
an object file linker, and things don't seem to want to work right.  I
am using the MS-DOS Enyclopedia to tell me what is where, and how to
put them together, and everything was going just great; except for two
things...

   1) There are two Object records that I am finding, but are not
documented at all (0xB4, and 0xB6).  I am currently just ignoring them,
and that seems just fine (for now anyhow, the linker doesn't have to
be able to deal with absolutely everything, so long as it can deal
with this small model program that I am working on).

   2) When I am dealing with the FIXUP records, I am getting some
results that just don't fit with what the documentation says at all.
basicly when I get a record where the FIXDAT field is 0x56 (i.e. both
frame, and target fixup methods are explicitly defined, the frame
method is determined by the target's segment, group, or external index,
and the target method is an explicit external index), the external
index appears to be wrong.  There appears to be just one index number
following this byte, but the byte gives an index that is too big (i.e.
the index says that we are referancing the 37th external name, but there
are only 31 external names defined).  I have carefully checked my code,
and I am satisfied that it is doing what I expect it to do, and further,
that the code starts looking at the fixup fields/external name definition
fields, etc in what are reasonable places; I have counted the number of
external names defined, and compared it to the number of external names
given when I have the compiler spit out the assembler, and they match.
In short, I am stumped.  I figure that my only hope to get this done
before the week is out (which I would like to do if I can), is to call
on the net.  Sooo....    HELP!!!!

   I am getting my OBJ files from the MicroSoft C compiler V5.1, I
installed it with DOS bindings (not OS/2 bindings).  All help will
be greatly appreciated,

		   Thanks in advance,

                         S. John Banner

...!uw-beaver!uvicctr!sol!sbanner1
...!ubc-vision!uvicctr!sol!sbanner1
ccsjb@uvvm.bitnet  (Please avoid this address if possible)
sbanner1%sol.uvic.cdn@ubc.csnet
sbanner1@sol.UVic.ca