From: jazz AT softway DOT com (Jason Zions) Subject: Re: Debugging info for commercial linkers? 8 Aug 1997 16:52:36 -0700 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <33EB9018.7A66.cygnus.gnu-win32@softway.com> References: Reply-To: jazz AT softway DOT 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 Original-CC: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT 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 AT cygnus DOT com" with one line of text: "help".