delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/08/08/16:52:36

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: <m0wwuFW-000SUZC AT lionheart DOT com>
Reply-To: jazz AT softway DOT com
Mime-Version: 1.0
X-Mailer: Mozilla 3.0 (WinNT; I)
Original-To: Tim Iverson <iverson AT lionheart DOT com>
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".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019