[uClibc] ldso 0.9.21, libstdc++ crashes on PowerPC GCC 3.3.1

Joakim Tjernlund joakim.tjernlund at lumentis.se
Wed Nov 5 10:19:45 UTC 2003


> -----Original Message-----
> From: Joakim Tjernlund [mailto:joakim.tjernlund at lumentis.se]
> > > dcbst(and dcbz, dcbi, dcbf, dcbt) are buggy on mpc8xx. 
> They don't update
> > > the DAR register on a Data TLB Miss/Error. By deferencing 
> the data just before
> > > the dcbst, you make the DTLB Miss/Error happen before the
> > > dcbst is executed. That works around the problem but is 
> not a stable
> > > solution. You need a somewhat ugly patch to the linux 
> kernel or don't use
> > > these instructions at all.
> 
> > Ah! Someone Who Knows What They Are Doing(TM)! Do you have any more 
> > information on this kernel patch? How does glibc work 
> around this issue?
> 
> They don't use these instructions for 8xx.

Appears I was wrong. ld.so DO use these instructions, an objdump -D ld.so shows 7
dcbst and 7 dcbi instructions. Don't know why it works, perhaps they do something special
or it is just luck. Executing a store just before the dcbst will help, but I don't think
it is 100% reliable.

 Jocke 
> 
>  Jocke
> 
> PS.
>   Please include me in your replies as I am not on the list



More information about the uClibc mailing list