On Saturday 06 December 2003 12:15 am, Eric Pouech wrote:
> not really, in fact not reading .so file is linked to being able (or
> not) to read the .dynamic section of the ELF header

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?)  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?

> Basically, the way it goes is:
>       1/ load the main exec (from its pathname)
>       2/ get the loaded ELF information from file image
>       3/ get address of a specific function (in ELF loading) which gets
> called each time a .so shared lib is loaded/unloaded (in debuggee
> address space)
>       4/ set a breakpoint on this function (in debuggee address space)
>       5/ set a winedbg specific handler for this breakpoint which will load
> debug info for any new share lib when the bp is hit (we don't handle yet
> shared lib unloading).
> It seems, from what you describe, that step 1/ or 2/ is failing. Could
> you send me your wine-{kp}thread file so that I get a small glance at this.

I think I see what you are talking about -- this is supposed to be set up in 
DEBUG_ReadExecutableDbgInfo, right?  But where it says "if (dyn.d_tag == 
DT_NULL) goto leave;" my wine does indeed goto leave.  My guess is, it's just 
fishing through some pseudo-arbitrary ram until it finds a zero....  

-- 
gmt

"It is to be the assent and ratification of the several States,
derived from the supreme authority in each State, the authority
of the people themselves. �The act, therefore, establishing the
Constitution, will not be a NATIONAL, but a FEDERAL act." --James
Madison, Federalist No. 39



Reply via email to