This is the mail archive of the gdb-prs@sources.redhat.com 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]

gdb/501: Stabs Documentation Incorrect for Pointer Instances



>Number:         501
>Category:       gdb
>Synopsis:       Stabs Documentation Incorrect for Pointer Instances
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 18 09:48:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Aryeh M. Friedman
>Release:        All versions of stabs.info file
>Organization:
>Environment:
GCC 2.95.X through to current GCC on FreeBSD/Linux/Solaris
>Description:
When stabs are produced for the following code:

main()
{
   char *p1;
   char *p2;
}

Something similor to the following stab string is produced:
p1:(0,25)=*(0,1)
p2:(0,25)

Note that type (0,25) has is an undefined type as far as type def. stabs are concerned (i.e. there is no stab defining the type).   Thus (0,25) is a implicitally created type definition.  This behaviour is not documented in the stabs documentation.  The documentation makes the incorrect assumption that all instance type ID's have an associated type definition stab this is simply incorrect in the case of PTR's and perhaps other types (if I find more cases of implicit type definition creation I will add them to this report).


>How-To-Repeat:
Compile any code that has two ptrs of the same type with in the same file and examine the stab strings for each instance.
>Fix:
Documentation needs to be updated to reflect implicit type creation.
>Release-Note:
>Audit-Trail:
>Unformatted:


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