Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: eos.vss.fsi.com: ford owned process doing -bs Date: Thu, 9 Jan 2003 12:49:30 -0600 (CST) From: Brian Ford X-X-Sender: ford AT eos To: cygwin AT cygwin DOT com cc: gcc AT gcc DOT gnu DOT org, , , Dave Hooper , Christopher Faylor Subject: Re: Support for DDWARF-2 debug info? (on Cygwin) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Please CC me on replys. I am not currently subscribed to any of these lists. I am interested in contributing to this endeavor, but I need help with a few specific problems. Any pointers or information about known issues would be greatly appreciated. I have built gcc 3.2.1 (just --enable-languages=c so far) with "#define DWARF2_DEBUGGING_INFO 1" added to config/i386/cygwin.h. The resulting compiler still produces stabs by default, but will accept "-gdwarf-2". When using "-gdwarf-2", the debug information is, I believe, correctly output, but the sections have incorrect attributes as shown by the "objdump -h" output below. (BTW, I know I will need to modify the built in link script for binutils so it knows where to put these sections) The incorrect section attributes keep the resulting executable from running, I think. Can anyone tell me how to get these attributes set correctly? Is the problem in gcc or binutils? I imagine this is just the tip of the iceberg, so know gotchas are welcome. $ objdump -h test.o test.o: file format pe-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000040 00000000 00000000 000001a4 2**4 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE 1 .data 00000000 00000000 00000000 00000000 2**4 ALLOC, LOAD, DATA 2 .bss 00000000 00000000 00000000 00000000 2**4 ALLOC 3 .debug_abbrev 0000015c 00000000 00000000 000001e4 2**2 CONTENTS, ALLOC, LOAD, DATA 4 .debug_info 00001198 00000000 00000000 00000340 2**2 CONTENTS, ALLOC, LOAD, RELOC, DATA 5 .debug_line 00000158 00000000 00000000 000014d8 2**2 CONTENTS, RELOC, READONLY 6 .debug_frame 00000034 00000000 00000000 00001630 2**2 CONTENTS, ALLOC, LOAD, RELOC, DATA 7 .debug_pubnames 0000001c 00000000 00000000 00001664 2**2 CONTENTS, ALLOC, LOAD, RELOC, DATA 8 .debug_aranges 00000020 00000000 00000000 00001680 2**2 CONTENTS, ALLOC, LOAD, RELOC, DATA 9 .debug_str 00000030 00000000 00000000 000016a0 2**2 CONTENTS, ALLOC, LOAD, DATA I believe the .debug sections should be marked READONLY and DEBUGGING (as they are in Solaris?), but not ALLOC, LOAD, or DATA. Is this right? Thanks. On Sat, Jan 04, 2003 at 07:55:42PM -0000, Christopher Faylor wrote: >On Sat, Jan 04, 2003 at 05:30:15AM -0000, Dave Hooper wrote: >>a) If the cygwin build of gcc/gdb/gas/etc supports DWARF-2 debug >>information (it appears not but I may be overlooking something) > >It doesn't. > >>b) If not, is it just a matter of #defining the appropriate flags in >>/gcc/config/i386/cygwin.h and rebuilding gcc? > >No. Code is needed in gcc. > >>c) Whether DWARF-2 will become the standard debug info format for >>cygwin builds of apps in the near future (as it already has for various >>other platforms, e.g. djgpp). > >It would be nice to switch to Dwarf-2 but no one has has stepped forward >to implement the required bits to handle this. I don't remember what is >required, unfortunately, but I have discussed it with gcc engineers. If >you're interested in working on this, asking in the gcc AT gcc DOT gnu DOT org >mailing list would probably be the place to start. > -- Brian Ford Senior Realtime Software Engineer VITAL - Visual Simulation Systems FlightSafety International Phone: 314-551-8460 Fax: 314-551-8444 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/