Mantis - gdb
Viewing Issue Advanced Details
4690 regular use block always 2011-02-15 19:33 2012-07-25 08:58
phil  
pfelecan  
normal  
closed  
fixed  
none    
none  
0004690: "Can't read pathname for load map"
I just tried loading up a program with the new gdb, on a sol9 system
(5.9 Generic_122300-02 sun4u sparc SUNW,UltraAX-i2)

and got the error in the subject line.

This seems to be exactly like
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=248898 [^]

It makes debugging useless: no stack trace possible.

the problem there is that they suggest "install libc6-dbg", which fixed their problem.
I have no idea what we should do on Solaris, unfortunately.
btw, I read the README.CSW file, and my shell is /bin/ksh
Issue History
2011-02-15 19:33 phil New Issue
2011-02-16 09:56 pfelecan Status new => assigned
2011-02-16 09:56 pfelecan Assigned To => pfelecan
2011-02-16 10:00 pfelecan Note Added: 0008797
2011-02-16 18:24 phil Note Added: 0008798
2011-02-16 19:30 pfelecan Note Added: 0008799
2011-02-16 19:59 phil Note Added: 0008800
2011-02-16 21:41 pfelecan Note Added: 0008801
2011-02-16 21:41 pfelecan Status assigned => confirmed
2012-07-25 08:58 pfelecan Note Added: 0010054
2012-07-25 08:58 pfelecan Status confirmed => closed
2012-07-25 08:58 pfelecan Resolution open => fixed

Notes
(0008797)
pfelecan   
2011-02-16 10:00   
The reason for which the Debian maintainer gives that advice is that the failure of the user program happens in the libc6 and for having an "usable" stack trace for that portion of code he needs the debugging symbols of the library itself.

If you give me a simple example which I can reproduce I can look into it.
(0008798)
phil   
2011-02-16 18:24   
oh! hmm.
it sounds like you are saying,
"gdb is just saying, 'cant load debugging symbols'"

but, older versions said pretty much just that, and no more.
It's .. odd.. to see the newer version complain about I/O errors.

Hmm. and in fact, using a more trivial example, where I merely used "strip" on a program, it does just that:

Reading symbols from [testfile]...(no debugging symbols found)...done.

Hmmm.. experimenting a little more... when I try to just
[gdb badprog], it merely complains that way.
However, when I specifically try to load it up with the corefile I'm interested in.. that's when it goes all ga-ga.

I should mention that this was an auto-generated coredump, by means of:

$ coreadm
     global core file pattern: /var/crash/core.%f.%p

Additionally... loading in the thing with dbx instead of gdb, gives a functional stack trace.

I unfortunately do not know for sure which version of cc it was compiled with. but the working dbx I tried, is from sun compiler 12.0
(0008799)
pfelecan   
2011-02-16 19:30   
It doesn't says exactly that. It says that for the code which is the probable cause of the core it has no symbols. It's not unusual that a program fails in the startup code, even before main().

gdb itself was compiled with gcc, release 4.

Again, if you provide me an example of code which exercises the behavior that you describe I will look into it. Otherwise all that I can say is that "it works for me".
(0008800)
phil   
2011-02-16 19:59   
Unfortunately, I cant share the particular example with you.
But have you tried debugging from core dumps?

If you compile the code below with cc (no -g), then dbx correctly says crash occurred in main()
gdb is just completely lost, however.

Actually, even if you compile with gcc, the same is true.

so perhaps core dump analysis is broken.

--------------------

#include <stdio.h>

int main(){
        char *crashit;
        write(1,"This is a test\n",16);
        crashit=NULL;
        write(1,crashit,16);
        printf("a stringie %s ... \n",NULL);
        write(1,"This is A TEST\n",16);
}
(0008801)
pfelecan   
2011-02-16 21:41   
There is an issue with the 64 bit gdb... I'll investigate in depth in the next days and hope to provide a solution, In the mean time there is the 32 bit version of gdb which works. Use:

/opt/csw/bin/sparcv8/gdb

or

/opt/csw/bin/i486/gdb (on Solaris 9 the gdb in 32 bit on Intel architecture)
(0010054)
pfelecan   
2012-07-25 08:58   
The freshly released package containing version 7.4.1 should correct this. Anyway, feedback is welcome and if the issue persists it can be re-opened.