On Tue, Sep 14, 2010 at 3:25 PM, Richard Earnshaw <rearnsha@xxxxxxx> wrote: > > > The code is jumping to a 'well-known' address exported by the linux > kernel. That address contains a processor-specific sequence of > instructions that will return the TLS base for the current address. > > Of course, if you're not running on top of the Linux kernel, then you'll > need to find another way of making all that work. If your CPU is based > on ARMv7-A then the compiler will (should) use a CP-15 register directly > as it's more efficient (but that register did not exist on earlier > cores). > > R. > Yes. I figured this out after some google-search...... I saw the post by Nicolas Pitre and also looked at entry-armv.S I intend to read the more about TLS handling by ld.so ( This is running on Linux on arm v7 ) As for the corruption itself, I think the user-helper functions kept at the page at 0xFFFF0000 have been overwritten . ( Only privileged-mode can write here , I believe. ). If this is the case, maybe this page-data should also be collected in coredump. But to confirm this, I am waiting for the problem to reproduce. I may have to wait for a week , if at all it happens again.