Chip Directory
Mirror sites
Mailing list
Have this site translated
 Datasheet Archive
 Embedded Systems
Host site

About the COFF* (Common Object code File Format)


Date:    19960711
From:    flavio.rampogna@csemne.ch
To:      crossgcc@cygnus.com
Subject: COFF* object file format

Could somebody tell me where I can find the description of the COFF* object 
file format ?

Flavio Rampogna

Date: 19960711
From: Jaap van Ganswijk <ganswijk@xs4all.nl>

At 09:54 96-07-11 +0200, you wrote:
>Could somebody tell me where I can find the description of the COFF* object 
>file format ?
>
>Flavio Rampogna

It's in the book:

Understanding and Using COFF*
By Gintaras R. Gircys

ISBN: 0-937175-31-5


O'Reilly & Associates, Inc.
632 Petaluma Avenue
Sebastopol, CA 95472

(O'Reilly is also quite active on the Internet.)

It seems to be sold out, but perhaps they'll
reprint it or make it available on the Internet
if there is enough demand for it.
I have seen an earlier discussion about this on this
or a similar mailing list.

Groeten,
Jaap

-- Chip Directory
-- www.hitex.com/chipdir/ - USA
-- www.xs4all.nl/~ganswijk/chipdir/ - Netherlands
-- www.ba-karlsruhe.de/chipdir/ - Germany (new)
-- And many other international mirror sites...
-- [50,000 visitors/month, looking for more advertisers]

Date: 19960713
From: Ken Greenberg <ken@calast.com>

> O'Reilly has a book on it.
> 
> "Understanding and Using COFF*."

And, as I pointed out last time this came up...

1) It's out of print
2) O'Reilly has no stock on hand
3) They have specifically said it will never be reprinted
4) They would be willing to put the info on the web but they have no 
idea how to do that, so it won't happen any time soon.

I gave up. You might try a library, or to find some other reference.

Ken Greenberg, President
California Advanced Software Tools, Inc.
Los Gatos, CA USA

Date:         19960714
From:         Joerg Henne <joerg@eisbaer.bb.bawue.de>

> I gave up. You might try a library, or to find some other reference.

... or try asking a SunOS/Solaris machine for "man coff*". Sorry, I could  
have mentioned that earlier, but I seem to have missed this thread.

Gruesse
Joerg Henne
---
"Frames, Gif89a, Java, VRML... - Sieht fast aus, als waeren
 sie dabei, den Fernseher neu zu erfinden."
                                (Peter Berlich in de.talk.bizarre)

Date: 19960714
From: heard@vvnet.com (C. M. Heard/VVNET, Inc.)

Joerg Henne writes:
> > I gave up. You might try a library, or to find some other reference.
>
> ... or try asking a SunOS/Solaris machine for "man coff*". Sorry, I could  
> have mentioned that earlier, but I seem to have missed this thread.

Hmmm .... I just tried that on my service provider's Solaris 2.5 machine
and came up empty.  I did, however, find a reasonably informative man page
on an old SunOS 4.1.1 machine.

Mike

Date:         19960714
From:         Ken Greenberg <ken@calast.com>
Organization: California Advanced Software Tools, Inc.

> > ... or try asking a SunOS/Solaris machine for "man coff*". Sorry, I could  
> > have mentioned that earlier, but I seem to have missed this thread.
> 
> Hmmm .... I just tried that on my service provider's Solaris 2.5 machine
> and came up empty.  I did, however, find a reasonably informative man page
> on an old SunOS 4.1.1 machine.

Ahh, I knew there was a reason I still run 4.1.3 ;-). Actually, I 
just tried this and it's pretty much just the COFF* definitions for 
Sun 386i machines (remember them?). One of the things I wanted to get 
out of the book was some of the rationale for why things are done in 
a certain way. For example, how does the COFF* file look different for 
big-endian and little-endian processors, aside from the magic number? 
And how does a COFF* file for say a 68K differ from a COFF* file for a 
386, or even for a 16- or 8-bit processor? Having a book explains 
this a lot better than a man page, and it has those nice pictures for 
those of us who can understand something much faster from looking at 
a picture than from reading a struct declaration.

-Ken

Kenneth F. Greenberg, President
California Advanced Software Tools, Inc.
Los Gatos, CA, USA

Date: 19960714
From: Greg Shubin <gshubin@wco.com>

Ken Greenberg wrote:
> > O'Reilly has a book on it.
> >
> > "Understanding and Using COFF*."
> 
> And, as I pointed out last time this came up...
> 
> 1) It's out of print
> 2) O'Reilly has no stock on hand
> 3) They have specifically said it will never be reprinted
> 4) They would be willing to put the info on the web but they have no
> idea how to do that, so it won't happen any time soon.
> 
> I gave up. You might try a library, or to find some other reference.

To offer a slight glimmer of hope, a guy at work picked one up at a 
garage sale a few weeks ago. He wasn't even looking for it, he just 
thought it looked interesting. (No, he does not want to sell it, I 
already asked.)  Try garage sales, used book stores, thrift stores, etc, 
especially in areas of high tech industry.

Date: 19960715
From: Jaap van Ganswijk <ganswijk@xs4all.nl>

At 10:44 96-07-14 -0700, you wrote:
>>> I gave up. You might try a library, or to find some other reference.
>gt;
>gt; ... or try asking a SunOS/Solaris machine for "man coff*". Sorry, I could
>gt; have mentioned that earlier, but I seem to have missed this thread.
>
>Hmmm .... I just tried that on my service provider's Solaris 2.5 machine
>and came up empty.  I did, however, find a reasonably informative man page
>on an old SunOS 4.1.1 machine.

I also tried it on the Sun of my provider and it worked:

>COFF*(5)                   FILE FORMATS                    COFF*(5)
>
>
>
>NAME
>     coff* - common assembler and link editor output
>
>SYNOPSIS
>     #include <filehdr.h>
>     #include <aouthdr.h>
>     #include <scnhdr.h>
>     #include <reloc.h>
>     #include <linenum.h>
>     #include <storclass.h>
>     #include <syms.h>
>
>AVAILABILITY
>     Available only on Sun 386i systems  running  a  SunOS  4.0._x
>     release or earlier.  Not a SunOS 4.1 release feature.
>
>DESCRIPTION
>     The output from the link editor  and  the  assembler  (named
>     a.out by default) is in COFF* format (Common Object File For-
>     mat) on the Sun386i system.
>
>etc...

Let me know, if anybody wants the complete text...
It's about 15 Kbyte. Don't forget to pay royalties to SUN! ;-)

Groeten,
Jaap

-- Chip Directory
-- www.hitex.com/chipdir/ - USA
-- www.xs4all.nl/~ganswijk/chipdir/ - Netherlands
-- www.ba-karlsruhe.de/chipdir/ - Germany (new)
-- And many other international mirror sites...
-- [50,000 visitors/month, looking for more advertisers]

Date: 19960715
From: Bob Robison <robison@narnia.electro.swri.edu>

Another source of information on COFF* format is available from Texas 
Instruments.  We do a fair amount of work with their DSP* chips.  Their
development environment creates COFF* files, which are described in some 
reasonable detail in Appendix A of "TMS320 Floating Point DSP* Assembly 
Language Tools Users Guide", SPRU 035B(their doc number).  You might find
someone who has that, or you could try calling the TI Literature Hotline 
at: (800) 477-8924 to request a copy.  Much of their literature is 
available for free -- however the assembly tools book, may only be 
available with their software.  Of course, it doesn't hurt to ask!

hope this helps,
bob
-----------
Bob Robison	           Southwest Research Institute,www.swri.org
Principal Engineer               Signal Exploitation & Geolocation Division
brobison@swri.org                     Phone:(210)522-3935/Fax:(210)522-2709

Date: 19960715
From: Ian Lance Taylor <ian@cygnus.com>

In crossgcc Ken Greenberg writes:
>Ahh, I knew there was a reason I still run 4.1.3 ;-). Actually, I 
>just tried this and it's pretty much just the COFF* definitions for 
>Sun 386i machines (remember them?). One of the things I wanted to get 
>out of the book was some of the rationale for why things are done in 
>a certain way. For example, how does the COFF* file look different for 
>big-endian and little-endian processors, aside from the magic number? 
>And how does a COFF* file for say a 68K differ from a COFF* file for a 
>386, or even for a 16- or 8-bit processor? Having a book explains 
>this a lot better than a man page, and it has those nice pictures for 
>those of us who can understand something much faster from looking at 
>a picture than from reading a struct declaration.

Actually, the O'Reilly book is useless for this sort of information.
In fact, the O'Reilly book is notable for telling you absolutely
everything about COFF* except what you actually need to know.  Despite
that, it's the only book on COFF* I've ever seen, and it's worth
getting a copy if you can find one.

Every COFF* format is slightly different.  That's the biggest problem
with COFF*, and it's why ELF is better.  You can a lot of gory details
about specific COFF* formats (but still no pictures) by looking in the
include/coff* directory of a GNU binutils distribution.  You can also
target the binutils for most COFF* formats, assemble actual object
files, and compare and contrast.

Ian

Ad for PCI video capturing boards by Dektec.
Goto: Main Mirror About Author
Register: Yourself Company
Feedback: Correction Addition Question
Request quote: Chips (Deutsch) Chips (English) Chips (Nederlands)

Advertisement by Adprov

Viewable with any browser


page modified: 20030711
page compiled: 20080325
site compiled:  Version GIF