wiml@blake.acs.washington.edu (William Lewis) (05/08/90)
I'm writing a set of routines to read/write/otherwise manipulate object modules... unfortunately, the definition of the format I have (Microsoft Relocatable Object Module Formats, Feb '86...) is less than clear on a few points. I'd appreciate any explanations or pointers anyone could give ... 1. THEADR and LHEADR records. What's the difference? When is one used instead of the other? Also, the syntax description seems to imply that any number of THEADR and LHEADR records may occur at the beginning of the module. Does this ever really happen, and what should be done with the extras if it does? Should they be discarded? Concatenated? 2. TYPDEF records: Is there a reason for the single NUL (0x00) byte at the beginning of a TYPDEF record? What does it mean when a leaf is EASY vs. NICE? Since, according to this, LINK ignores all the type information in an object module anyway, can TYPDEFS be safely ignored or discarded? (I hope =8) ) My compiler regularly outputs a TYPDEF with the contents 0x00 0x00 0x80. This doesn't seem to parse according to the definition in this reference (which only gives leaf types that start with 0x62 or 0x61, NEAR or FAR.) I'd assume the format has been extended since 1986... is this one such? Thanks in advance for any help or info ... -- JESUS SAVES | wiml@blake.acs.washington.edu Seattle, Washington but Clones 'R' Us makes backups! | 47 41' 15" N 122 42' 58" W