Em Mon, Nov 10, 2008 at 04:57:51PM +0100, Diego 'Flameeyes' Pettenò escreveu: > Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > writes: > > > Humm, I see, its the other file in this tarball, the one without > > debugging info, that makes the CTF code crash in pfunct, I'll fix that, > > but please use the file with .debug suffix for now, its there that the > > DWARF info is anyway :-) > > Ah okay :) I'm used to just run on the main binary, hoping that the > debug link is followed, I guess I'll have to change my process, but then > I'll be feature-requesting for the debuglink to be followed :P I thought that libdwfl would do that, lemme check... Yeah: open("tmp/usr/lib64/libSDL-1.2.so.0.11.2", O_RDONLY) = 3 open("tmp/usr/lib64/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("tmp/usr/lib64/.debug/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/acme/git/pahole/tmp/usr/lib64/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/acme/git/pahole/tmp/usr/lib64/.debug/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/debug/home/acme/git/pahole/tmp/usr/lib64/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) So its just a matter of using one of the searched places :-) To try this I just did a 'yum install SDL-debuginfo' and: acme@doppio pahole]$ pfunct -TVIlf SDL_PauseAudio /usr/lib64/libSDL-1.2.so.0 /* <1b92> src/audio/SDL_audio.c:589 */ void SDL_PauseAudio(int pause_on); { /* low_pc=0x88b0 */ SDL_AudioDevice * audio; // 590 }/* size: 20, variables: 1 */ [acme@doppio pahole]$ So it works, but this time by using build id :-) [acme@doppio pahole]$ strace -e trace=open pfunct -TVIlf SDL_PauseAudio /usr/lib64/libSDL-1.2.so.0 2>&1 | grep debug open("/usr/lib/debug/.build-id/06/5ae7d6742b683430474e3415ae5081be5586a7.debug", O_RDONLY) = 3 [acme@doppio pahole]$ But... [acme@doppio pahole]$ l /usr/lib/debug/.build-id/06/5ae7d6742b683430474e3415ae5081be5586a7.debug lrwxrwxrwx 1 root root 42 2008-11-10 14:08 /usr/lib/debug/.build-id/06/5ae7d6742b683430474e3415ae5081be5586a7.debug -> ../../usr/lib64/libSDL-1.2.so.0.11.2.debug* [acme@doppio pahole]$ Let us try removing this symlink... It still works, but this time: [acme@doppio pahole]$ strace -e trace=open pfunct -TVIlf SDL_PauseAudio /usr/lib64/libSDL-1.2.so.0 2>&1 | grep debug open("/usr/lib/debug/.build-id/06/5ae7d6742b683430474e3415ae5081be5586a7.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib64/.debug/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/debug/usr/lib64/libSDL-1.2.so.0.11.2.debug", O_RDONLY) = 3 [acme@doppio pahole]$ - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html