[uClibc] ldso 0.9.21, libstdc++ crashes on PowerPC GCC 3.3.1
joakim.tjernlund at lumentis.se
Fri Oct 3 23:58:05 UTC 2003
> This has been a long standing problem, I was struggling with it on 0.9.16. By
> bumbling around I found I could remove the problem by inserting a dereference
> of reloc_addr before the DCBST, of course this is not the real solution,
> Someone Who Knows What They Are Doing(TM) needs to have a good long look at
> what's going on here.
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.
More information about the uClibc