MS-COFF Format (*.lib)
Posted: Wed Jul 28, 2010 4:52 pm
Hello,
i am working on a project (cxbx/dxbx xbox emulation) that has need of various tasks, one of which being detection of function addresses and symbol locations. In an attempt to build a better method of detecting possible locations of these symbols i plan on parsing various bits of information from the library files used to build the applications that will run in this environment. i am having some trouble handling all the various possible cases that MS-COFF files present. Most notably i have run into 3 different structures following the IMAGE_ARCHIVE_MEMBER_HEADER structure - IMAGE_FILE_HEADER, IMPORT_OBJECT_HEADER, and ANON_OBJECT_HEADER, so far. As of yet i have not found any direct references or mention on how to determine when these structures are present or in the case of ANON_OBJECT_HEADER, what possibly follows after. i would like to be able to parse these files directly to access the various information contained in the raw symbol data, relocation information, and various other cross referenced symbols, etc. i would like to avoid parsing text output from tools like 'link' and 'dumpbin' to be able to read this information directly where possible.
- Are there any more in depth information sources on the intricacies of this format?
i'll probably have a lot more questions with regard to how VGA, PCI, USB, and other hardware access is handled in the near future, as a better understanding of these processes would be very helpful in moving forward with a decent HAL layer of emulation, but first things first i suppose.
Any information and/or other insights would be greatly appreciated.
Thanks in advance.
i am working on a project (cxbx/dxbx xbox emulation) that has need of various tasks, one of which being detection of function addresses and symbol locations. In an attempt to build a better method of detecting possible locations of these symbols i plan on parsing various bits of information from the library files used to build the applications that will run in this environment. i am having some trouble handling all the various possible cases that MS-COFF files present. Most notably i have run into 3 different structures following the IMAGE_ARCHIVE_MEMBER_HEADER structure - IMAGE_FILE_HEADER, IMPORT_OBJECT_HEADER, and ANON_OBJECT_HEADER, so far. As of yet i have not found any direct references or mention on how to determine when these structures are present or in the case of ANON_OBJECT_HEADER, what possibly follows after. i would like to be able to parse these files directly to access the various information contained in the raw symbol data, relocation information, and various other cross referenced symbols, etc. i would like to avoid parsing text output from tools like 'link' and 'dumpbin' to be able to read this information directly where possible.
- Are there any more in depth information sources on the intricacies of this format?
i'll probably have a lot more questions with regard to how VGA, PCI, USB, and other hardware access is handled in the near future, as a better understanding of these processes would be very helpful in moving forward with a decent HAL layer of emulation, but first things first i suppose.
Any information and/or other insights would be greatly appreciated.
Thanks in advance.