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