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]

symtab/1375: problem debugging 64-bit sparc processes


>Number:         1375
>Category:       symtab
>Synopsis:       problem debugging 64-bit sparc processes
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 12 20:48:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     mattias@virtutech.se
>Release:        5.3
>Organization:
>Environment:
solaris 8
gdb built as 64-bit binary with either gcc 3.3 or Sun Forte 7 C 5.4
configured for host/target/build: sparcv9-sun-solaris2.8
>Description:
When debugging 64-bit sparc processes emitted by Sun Forte 7, stabs are misread and function addresses are reported as zero.
The Sun C compiler sets the value field of FUN stabs to zero, which is the probable cause.

Also, it seems that GDB must be built as a 64-bit binary to debug 64-bit processes for system interface reasons; this is easy to get wrong and it would be nice if the configure script checked this.
>How-To-Repeat:
Build gdb as indicated. Debug any solaris 64-bit binary built with stabs by the Sun C compiler. Say "print main".
>Fix:
Adding the line
#define SOFUN_ADDRESS_MAYBE_MISSING
to gdb/config/sparc/tm-sp64.h seems to work. I'm not sure if more solaris-specific stuff should be borrowed from tm-sun4sol2.
>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]