debug/6313: instance and type def stab types do not agree

aryeh@dreamzion.com aryeh@dreamzion.com
Mon Apr 15 12:46:00 GMT 2002


>Number:         6313
>Category:       debug
>Synopsis:       instance and type def stab types do not agree
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 15 12:46:05 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     aryeh@dreamzion.com
>Release:        unknown-1.0
>Organization:
>Environment:
FreeBSD loi.dreamzion.com 4.4-RELEASE FreeBSD 4.4-RELEASE #0: Tue Sep 18 11:57:08 PDT 2001     murray@builder.FreeBSD.org:/usr/src/sys/compile/GENERIC  i386
>Description:
In foo.c:

foo()
{
  int i;
}

in main.c:
main()
{
  foo();
}

compile with:
cc -gstabs -c main.c
cc -gstabs -c foo.c
cc -gstabs main.o foo.o -o main

The final ELF executable (main) has the following n_string for the "int i" instance in foo():

i:(1,1)

and the definition of "int" in both foo.o and main.o is:

int:t(0,1)=r(0,1);-2147483648;2147483647;

Since all typedefs for int are of type 0,1 and the instance is 1,1 there is no way to match the instance up with its type.
>How-To-Repeat:
See instructions in bug
>Fix:
the stab generator needs to be fixed
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list