Subject: Re: Debugging info for commercial linkers?
From: [email-masked] (Jason Zions)

8 Aug 1997 16:52:36 -0700
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
References: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0 (WinNT; I)
Original-To: Tim Iverson <[email-masked]>
Original-CC: [email-masked]
Original-Sender: [email-masked]

Variables are completely hosed. Line numbers for functions are partly
hosed; here's a quote from one of my engineers which talks about the
problem.

> [gcc] generates line number information in the "COFF standard"
> way: One particular opcode says "this is the beginning line number
> of the function" and all others are relative.  (At least I assume
> it's coff standard, given that that's how gcc works, and there
> aren't any options in that regard.)  There's another debug opcode
> that says "end of function", and in COFF standard, it's relative
> to the beginning of the function.
> 
> However, MS generates the end line number as an absolute (w.r.t. the
> file) line number. [ ... ]  Now, however, it turns out that MS
> ALSO changed whether the relative lines are 0 or 1 based, so MS
> generated objects are off by 1.

There isn't a *really* good reference for the NT PE format. Chunks of it
are discussed in various MSDN articles; some of it can be derived from
various public headers in the SDK. Some of it, though, requires heavy
duty bit-grovelling detective work.

Jason

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".