On Wed, 8 Mar 2006, Michael Shapiro wrote:

>>
>> On Mon, 6 Mar 2006, Michael Shapiro wrote:
>>>
>>> Hmm: as you see there is no NAME for that mapping, so this is why you're
>>> not getting any symbols: we didn't match it to an object file.
>>> Can you send back the entire $m output?
>>
>> You are dead on; 100800000 - 10090e000 doesn't contain a name:
>>
>>   BASE            LIMIT             SIZE   NAME
>> 100000000        100400000         400000 /opt/U/_app
>> 100400000        100800000         400000
>> 100800000        10090e000         10e000
>> 100a0c000        100ab6000         aa000  /opt/U/_app
>>
>> Does anyone happen to know if there is an alternative way to find the
>> executable or library that is mapped (I am assuming it is mapped, which
>> may not be the case given Mike' previous comments on dlclose()) at
>> 100800000? If that isn't possible, is there a way to take an address
>> (0x10085f2a0 in this case) and resolve it to a symbol name in the file?
>> My attempts to resolve this by parsing the executable and library symbol
>> tables has so far been fruitless.
>>
>> Thanks again for the feedback,
>> - Ryan
>
> This may be a bug in libproc or librtld_db in that it should be matching
> those mappings to the object but is having trouble doing so.
> If you e-mail the output of elfdump -p /opt/U/_app we can look at that.
>
> -Mike

Hi Mike,

Here is the elfdump output:

$ elfdump -p /opt/U/_app
Program Header[0]:
     p_vaddr:      0x100000040     p_flags:    [ PF_X  PF_R ]
     p_paddr:      0               p_type:     [ PT_PHDR ]
     p_filesz:     0x118           p_memsz:    0x118
     p_offset:     0x40            p_align:    0

Program Header[1]:
     p_vaddr:      0               p_flags:    [ PF_R ]
     p_paddr:      0               p_type:     [ PT_INTERP ]
     p_filesz:     0x19            p_memsz:    0
     p_offset:     0x158           p_align:    0

Program Header[2]:
     p_vaddr:      0x100000000     p_flags:    [ PF_X  PF_R ]
     p_paddr:      0               p_type:     [ PT_LOAD ]
     p_filesz:     0x90c163        p_memsz:    0x90c163
     p_offset:     0               p_align:    0x100000


Program Header[3]:
     p_vaddr:      0x100a0c168     p_flags:    [ PF_X  PF_W  PF_R ]
     p_paddr:      0               p_type:     [ PT_LOAD ]
     p_filesz:     0xa9378         p_memsz:    0x11f4d0
     p_offset:     0x90c168        p_align:    0x100000

Program Header[4]:
     p_vaddr:      0x100a11228     p_flags:    [ PF_X  PF_W  PF_R ]
     p_paddr:      0               p_type:     [ PT_DYNAMIC ]
     p_filesz:     0x220           p_memsz:    0
     p_offset:     0x911228        p_align:    0

If you have any thoughts or suggestions, I would love to hear them.

Thanks for the feedback,
- Ryan
--
UNIX Administrator
http://daemons.net/~matty

Reply via email to