Re: linker object code documentation

"Keith L. Breinholt" <kbreinho@Novell.COM>
Tue, 29 Aug 1995 15:26:09 GMT

          From comp.compilers

Related articles
linker object code documentation (Frank Wolff) (1995-08-15)
Re: linker object code documentation (1995-08-18)
Re: linker object code documentation kbreinho@Novell.COM (Keith L. Breinholt) (1995-08-29)
| List of all articles for this month |

Newsgroups: comp.compilers
From: "Keith L. Breinholt" <kbreinho@Novell.COM>
Keywords: linker, comment
Organization: Novell, Inc.
References: 95-08-106
Date: Tue, 29 Aug 1995 15:26:09 GMT

Frank Writes:
>(1) Where can I find documentation on object code formats
> produced by Borland and MicroSoft C++ compilers?

I don't remember where I first found docs for the .obj files
but for the .exe files I suggest that you get "PC Interrupts -
Second edition" by Ralf Brown and Jim Kyle, (Addison-Wesley
ISBN 0-201-62485-0) and lookup the DOS EXEC function (INT 21
Function 4Bh). It explains the file layouts for the new and
old .exe file types as well as the overlay and dll layouts and
has a pretty good explaination of each of the fields and how
it's used.

You can find the file layouts in "The Programmers PC
Sourcebook" by Thom Hogan, (Microsoft Press, ISBN
1-55615-321-X), but there is no explaination of the fields,
especially the relocation table, code formats, etc.

>(2) With the trend of MicroSoft using dynamic link libraries
> (i.e. .dll files) is there a concept of an executable
> anymore? it seems that there is less and less static
> linking and more dynamic by the operating system.

The dll is a variation on the old style executable file. The
first 32 bytes of the header are the same, then the file
differs by the relocation information and code layout.

>(3) Is there any source code for linkers?

None that I know of. (So when's your book coming out, John?)

[No linker book this year, I'm jammed up on other projects. -John]

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.