From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26977 invoked by alias); 21 Nov 2005 05:10:21 -0000 Received: (qmail 26964 invoked by uid 22791); 21 Nov 2005 05:10:21 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 21 Nov 2005 05:10:20 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1Ee3wX-0003Cf-P1; Mon, 21 Nov 2005 00:10:17 -0500 Date: Mon, 21 Nov 2005 14:14:00 -0000 From: Daniel Jacobowitz To: Wu Zhou Cc: gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org, pinskia@gcc.gnu.org Subject: Re: [RFC] Use DW_CC_program to indicate Fortran main subroutine Message-ID: <20051121051017.GA12030@nevyn.them.org> Mail-Followup-To: Wu Zhou , gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org, pinskia@gcc.gnu.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2005-11/txt/msg00387.txt.bz2 On Mon, Nov 21, 2005 at 12:44:33PM +0800, Wu Zhou wrote: > Hello GCC and GDB maintainers, > > We ever discussed about how to indicate the main subroutine of fortran > and java code with DWARF info (GCC PR 23280, 1427 and 10220; GDB PR 822). > My point is that DW_CC_program might be the final solution. Here is what > DWARF standard said about this: > > If the semantics of the language of the compilation unit containing the > subroutine entry distinguishes between ordinary subroutines and > subroutines that can serve as the main program, that is, subroutines > that cannot be called directly according to the ordinary calling > conventions, then the debugging information entry for such a subroutine > may have a calling convention attribute whose value is the constant > DW_CC_program. > > The DW_CC_program value is intended to support Fortran main programs. It > is not intended as a way of finding the entry address for the program. The compiler patch I can't comment on... As for calling set_main_name, I don't know if this is right or not. I guess it depends what the DWARF folks meant by "not intended as a way of finding the entry address for the program". Can a Fortran binary have more than one "main program"? If they only meant "it does not indicate the address you can jump to in order to start", then this seems quite reasonable. If that's the case then it should work for gcj too. You'll have a function named main, with no special debug info, and also a function with DW_CC_program at the real entry point. -- Daniel Jacobowitz CodeSourcery, LLC