On Wednesday 10 December 2003 01:52 pm, Eric Pouech wrote:
Indeed. Looking at the loop in DEBUG_ReadExecutableDbgInfo, the values of dyn.d_tag it iterates through look nothing like the output of "readelf -d wine" (they should, right?)
yup The numbers it shows me (after adding a trace)
don't even map to the DT_ constants I see in elf.h at all... (again, I presume that they should? fwiw, readelf -d does show a DEBUG tag) I guess, this probably means there is a problem in DEBUG_ProcessElfFile finding the right address for the .dynamic section?
well, I suspect we could also lookup in the wrong file. Could you check that the name of the main ELF module we load in the debugger is actually the (full path) to the wine-(p|k)thread executable. A+
actually, AFAICS it's just looking at "wine"... where is a good place to verify this (with a trace)? Perhaps this is the whole problem? I am not mentally up-to-date on the latest with wine-{k,p}thread, the wrapper, etc... maybe it's time to read up.
Here is one (partially homebrew) trace which may or may not already answer this question for you (my wine prefix is '/opt/wine'):
trace:debug:DEBUG_ProcessElfObject AAAA dil = DIL_ERROR trace:debug:DEBUG_ProcessElfObject BBBB dil = DIL_ERROR trace:debug:DEBUG_ProcessElfObject CCCC dil = DIL_ERROR trace:debug:DEBUG_ProcessElfObject DDDD dil = DIL_ERROR trace:debug:DEBUG_ProcessElfFile Processing elf file 'wine' trace:debug:DEBUG_ProcessElfObject EEEE dil = DIL_ERROR trace:debug:DEBUG_ProcessElfObject FFFF dil = DIL_ERROR trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/bin/wrappers/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/local/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/opt/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/i686-pc-linux-gnu/gcc-bin/3.3/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/opt/ati/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/X11R6/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/opt/sun-j2sdk-1.4.1/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/opt/sun-j2sdk-1.4.1/jre/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/qt/3/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/kde/3.1/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/usr/qt/2/bin/wine' trace:debug:DEBUG_ProcessElfFile Processing elf file '/opt/wine/bin/wine' trace:debug:DEBUG_ProcessElfObject GGGG dil = DIL_LOADED trace:debug:DEBUG_ProcessElfObject HHHH dil = DIL_LOADED trace:debug:DEBUG_ProcessElfObject IIII dil = DIL_LOADED trace:debug:DEBUG_ProcessElfObject JJJJ dil = DIL_LOADED trace:debug:DEBUG_ReportDIL Loaded debug information from ELF 'wine' ((nil)) trace:debug:DEBUG_ProcessElfObject KKKK dil = DIL_LOADED trace:debug:DEBUG_ReadExecutableDbgInfo JJJJJJJJJJJJJJJ1111
Note that I have managed to get it to load symbols for wine itself -- apparently the problem is that I was running wine with my cwd in root of the build tree, although I don't understand that completely, as my $PATH does not include "."