This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Use DW_CC_program to indicate Fortran main subroutine


On Mon, 2005-11-21 at 00:10 -0500, Daniel Jacobowitz wrote:
> 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". 

It means it wasn't intended to be reused for this purpose, AFAIK.
:)

>  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.

I remember asking Wu to file an issue with the dwarf working group, and
that issue was resolved by deferring to DWARF 4 for now.

See
http://dwarf.freestandards.org/ShowIssue.php?issue=050808.2&type=closed


For now, why don't we just add a new vendor attribute?
DW_AT_GNU_main





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]