Segmentation fault on startup when MIPS_RLD_MAP is 0

Joakim Tjernlund joakim.tjernlund at transmode.se
Wed Jan 26 10:30:09 UTC 2011


Richard Braun <rbraun at sceen.net> wrote on 2011/01/25 16:44:48:
>
> 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)

Aha, I see.
I don't see any problems with your proposal. Just submit a proper
git patch with signoff and I will ack it. Then hopefully someone can commit it.

    Jocke



More information about the uClibc mailing list