* dwarf2read.c (read_partial_die): check the value
of DW_AT_calling_convention in Fortran programs.
This commit is contained in:
parent
5876dc880e
commit
68511cecac
2 changed files with 26 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
|
||||||
|
Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
|
||||||
|
Jim Blandy <jimb@codesourcery.com>
|
||||||
|
|
||||||
|
* dwarf2read.c (read_partial_die): check the value
|
||||||
|
of DW_AT_calling_convention in Fortran programs.
|
||||||
|
|
||||||
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
|
2007-10-25 Wu Zhou <woodzltc@cn.ibm.com>
|
||||||
Thiago Jung Bauermann <bauerman@br.ibm.com>
|
Thiago Jung Bauermann <bauerman@br.ibm.com>
|
||||||
|
|
||||||
|
|
|
@ -5619,6 +5619,25 @@ read_partial_die (struct partial_die_info *part_die,
|
||||||
case DW_AT_byte_size:
|
case DW_AT_byte_size:
|
||||||
part_die->has_byte_size = 1;
|
part_die->has_byte_size = 1;
|
||||||
break;
|
break;
|
||||||
|
case DW_AT_calling_convention:
|
||||||
|
/* DWARF doesn't provide a way to identify a program's source-level
|
||||||
|
entry point. DW_AT_calling_convention attributes are only meant
|
||||||
|
to describe functions' calling conventions.
|
||||||
|
|
||||||
|
However, because it's a necessary piece of information in
|
||||||
|
Fortran, and because DW_CC_program is the only piece of debugging
|
||||||
|
information whose definition refers to a 'main program' at all,
|
||||||
|
several compilers have begun marking Fortran main programs with
|
||||||
|
DW_CC_program --- even when those functions use the standard
|
||||||
|
calling conventions.
|
||||||
|
|
||||||
|
So until DWARF specifies a way to provide this information and
|
||||||
|
compilers pick up the new representation, we'll support this
|
||||||
|
practice. */
|
||||||
|
if (DW_UNSND (&attr) == DW_CC_program
|
||||||
|
&& cu->language == language_fortran)
|
||||||
|
set_main_name (part_die->name);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue