osprey/libdwarf/libdwarf/mips_extensions.mm File Reference

Go to the source code of this file.

Functions/Subroutines

$Revision integer *complex but
not character types b Derived 
types (ie:structs) of any size
fi Only num_dims elements of
dims[] are actually used H The
dwarf information Here is
dwarf information from the
compiler for the example as
printed by 
dwarfdump (1).nf[Note
fi H DW_AT_MIPS_assumed_size
This flag was invented to deal
with f90 arrays For 
axx (1)) pointer(iptr
fi H DW_AT_MIPS_assumed_size
This flag was invented to deal
with f90 arrays For ita * 
rptr (100 *8) iptr=malloc(100 *4).fiThis flag attribute has the value 'yes'(true, on) if and only ifthe size is unbounded, as iptr is.Both may show an explicit upper bound of 1 in the dwarf, but this flag notifies the debugger that there is explicitlyno user-provided size.So if a user asks for a printout ofthe rptr allocatedarray, the default will be of a single entry(asthere is a user slice bound in the source).In contrast, there is no explicit upper bound on the iptr(ita) array so the default slice will use the current bound(a value calculated from the malloc size, see the dope vector).Given explicit requests, more of rptr(axx) can me shownthan the default..H 1"Line information and Source Position"DWARF does not define the meaning of the term 'source statement'.Nor does it define any way to find the first user-writtenexecutable code in a function..PIt does define that a source statementhas a file name, a line number, and a column position(see Sec 6.2, Line NumberInformation of the Dwarf Version 2 document).We will call those 3 source coordinates a 'source position'in this document.We'll try not to accidentally call thesource position a 'line number'since that is ambiguousas to what it means..H 2"Definition of Statement".PA function prolog is a statement..PA C, C++, Pascal, or Fortran statement is a statement..PEach initialized local variable in C, C++is a statementin that its initialization generates a source position.This means that x=3, y=4;is two statements..PFor C, C++:The 3 parts a, b, c in for(a;b;c
are individual statements The
condition portion of a 
while () and do
can be any number of
statements P For the
controlling expression of a DO
loop is a statement Is a
continue statement in Fortran
a DWARF statement P Each
function whether user coded or
generated by the is a
statement This is so one can
step 
over (in a debugger) the final user-coded statement(exclusive of the return statement if any) in a function wile not leaving the function scope..P.H 2"Finding The First User Code in a Function".nf Consider

Variables

$Revision __pad1__
$Revision Aug
$Revision integer *complex etc
$Revision integer *complex but
not character types b Derived
unless all components are of
type character fi H
DW_AT_MIPS_abstract_name This
attribute only appears in a
DA_TAG_inlined_subroutine DIE
The value of this attribute is
a string When IPA inlines a
routine and abstract the
origin is in another
compilation 
unit
$Revision integer *complex but
not character types b Derived
unless all components are of
type character fi H
DW_AT_MIPS_abstract_name This
attribute only appears in a
DA_TAG_inlined_subroutine DIE
The value of this attribute is
a string When IPA inlines a
routine and abstract the
origin is in another
compilation there is a problem
with putting in a 
reference
$Revision integer *complex but
not character types b Derived
unless all components are of
type character fi H
DW_AT_MIPS_abstract_name This
attribute only appears in a
DA_TAG_inlined_subroutine DIE
The value of this attribute is
a string When IPA inlines a
routine and abstract the
origin is in another
compilation there is a problem
with putting in a since the
ordering and timing of the
creation of references is
unpredicatable with reference
to the DIE and compilation
unit the reference refers to P
Since there may be NO ordering
of the compilation units that
allows a correct reference to
be done without some kind of 
patching
$Revision integer *complex but
not character types b Derived
unless all components are of
type character fi H
DW_AT_MIPS_abstract_name This
attribute only appears in a
DA_TAG_inlined_subroutine DIE
The value of this attribute is
a string When IPA inlines a
routine and abstract the
origin is in another
compilation there is a problem
with putting in a since the
ordering and timing of the
creation of references is
unpredicatable with reference
to the DIE and compilation
unit the reference refers to P
Since there may be NO ordering
of the compilation units that
allows a correct reference to
be done without some kind of
and since even getting the
information from one place to
another is a 
problem
fi Only num_dims elements of
dims[] are actually used H The
dwarf information Here is
dwarf information from the
compiler for the example 
above
fi H DW_AT_MIPS_assumed_size
This flag was invented to deal
with f90 arrays For 
example
can be any number of
statements P For 
Fortran
can be any number of
statements P For the
controlling expression of a DO
loop is a statement Is a
continue statement in Fortran
a DWARF statement P Each
function 
return
can be any number of
statements P For the
controlling expression of a DO
loop is a statement Is a
continue statement in Fortran
a DWARF statement P Each
function whether user coded or
generated by the 
compiler
fi P The DIE for a function
gives the address range of the 
function


Function Documentation

fi H DW_AT_MIPS_assumed_size This flag was invented to deal with f90 arrays For axx (  ) 

Type Constraints

fi Only num_dims elements of dims [] are actually used H The dwarf information Here is dwarf information from the compiler for the example as printed by dwarfdump (  ) 

Type Constraints

Definition at line 832 of file mips_extensions.mm.

can be any number of statements P For the controlling expression of a DO loop is a statement Is a continue statement in Fortran a DWARF statement P Each function whether user coded or generated by the is a statement This is so one can step over ( in a  debugger  ) 

Type Constraints

Definition at line 1104 of file mips_extensions.mm.

References d.

Referenced by set_mingw().

fi H DW_AT_MIPS_assumed_size This flag was invented to deal with f90 arrays For ita* rptr ( 100 *  8  ) 

Definition at line 1050 of file mips_extensions.mm.

$Revision integer* complex but not character types b Derived types ( ie:structs   ) 

Type Constraints

while (  ) 

Definition at line 1097 of file mips_extensions.mm.


Variable Documentation

Definition at line 12 of file mips_extensions.mm.

fi Only num_dims elements of dims [] are actually used H The dwarf information Here is dwarf information from the compiler for the example above

Definition at line 13 of file mips_extensions.mm.

can be any number of statements P For the controlling expression of a DO loop is a statement Is a continue statement in Fortran a DWARF statement P Each function whether user coded or generated by the compiler

Definition at line 1100 of file mips_extensions.mm.

Definition at line 13 of file mips_extensions.mm.

fi H DW_AT_MIPS_assumed_size This flag was invented to deal with f90 arrays For example

Definition at line 1048 of file mips_extensions.mm.

can be any number of statements P For Fortran

Definition at line 1100 of file mips_extensions.mm.

Referenced by ffelex_append_to_token_().

fi P The DIE for a function gives the address range of the function

$Revision integer* complex but not character types b Derived unless all components are of type character fi H DW_AT_MIPS_abstract_name This attribute only appears in a DA_TAG_inlined_subroutine DIE The value of this attribute is a string When IPA inlines a routine and abstract the origin is in another compilation there is a problem with putting in a since the ordering and timing of the creation of references is unpredicatable with reference to the DIE and compilation unit the reference refers to P Since there may be NO ordering of the compilation units that allows a correct reference to be done without some kind of patching

Definition at line 623 of file mips_extensions.mm.

$Revision integer* complex but not character types b Derived unless all components are of type character fi H DW_AT_MIPS_abstract_name This attribute only appears in a DA_TAG_inlined_subroutine DIE The value of this attribute is a string When IPA inlines a routine and abstract the origin is in another compilation there is a problem with putting in a since the ordering and timing of the creation of references is unpredicatable with reference to the DIE and compilation unit the reference refers to P Since there may be NO ordering of the compilation units that allows a correct reference to be done without some kind of and since even getting the information from one place to another is a problem

$Revision integer* complex but not character types b Derived unless all components are of type character fi H DW_AT_MIPS_abstract_name This attribute only appears in a DA_TAG_inlined_subroutine DIE The value of this attribute is a string When IPA inlines a routine and abstract the origin is in another compilation there is a problem with putting in a reference

Definition at line 623 of file mips_extensions.mm.

Referenced by DISTRIBUTION::Process_Memory().

can be any number of statements P For the controlling expression of a DO loop is a statement Is a continue statement in Fortran a DWARF statement P Each function return

Definition at line 1100 of file mips_extensions.mm.

$Revision integer* complex but not character types b Derived unless all components are of type character fi H DW_AT_MIPS_abstract_name This attribute only appears in a DA_TAG_inlined_subroutine DIE The value of this attribute is a string When IPA inlines a routine and abstract the origin is in another compilation unit

Definition at line 623 of file mips_extensions.mm.


Generated on Wed Apr 8 15:51:52 2009 for Open64 by  doxygen 1.5.6