Segmentation fault on startup when MIPS_RLD_MAP is 0

Khem Raj raj.khem at gmail.com
Wed Jan 26 17:40:25 UTC 2011


On Tue, Jan 25, 2011 at 7:44 AM, Richard Braun <rbraun at sceen.net> wrote:
> On Tue, Jan 25, 2011 at 03:17:27PM +0100, Joakim Tjernlund wrote:
>> DT_MIPS_RLD_MAP stuff looks like my work several years ago. There were complaints
>> that debugging didn't work on MIPS and nobody knew why. I scanned glibc and found
>> out how they did it and impl. the same in uClibc. Needless to say, I don't
>> know anything about MIPS though.
>>
>> I do think your conclusion is a vague though. What do you mean with
>> d_ptr isn't checked? What is wrong with:
>>   if ((dpnt->d_tag == DT_MIPS_RLD_MAP) && (dpnt->d_un.d_ptr))
>>
>> You need to provide an example of what you want and possibly some MIPS
>> person can review it.
>
> My mistake, this is the *fixed* version. The current source code is
>
> else if (dpnt->d_tag == DT_MIPS_RLD_MAP) \
>     *(ElfW(Addr) *)(dpnt->d_un.d_ptr) =  (ElfW(Addr)) debug_addr; \
> } while (0)
>

your change looks ok. Please submit a proper patch

> --
> Richard Braun
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
>


More information about the uClibc mailing list