From: jazz@softway.com (Jason Zions)
Subject: Re: Debugging info for commercial linkers?
8 Aug 1997 16:52:36 -0700
Approved: cygnus.gnu-win32@cygnus.com
Distribution: cygnus
Message-ID: <33EB9018.7A66.cygnus.gnu-win32@softway.com>
References: <m0wwuFW-000SUZC@lionheart.com>
Reply-To: jazz@softway.com
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 <iverson@lionheart.com>
Original-CC: gnu-win32@cygnus.com
Original-Sender: owner-gnu-win32@cygnus.com

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
"gnu-win32-request@cygnus.com" with one line of text: "help".
