Comment 0 for bug 725126

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

There's no result that R_ARM_THM_JUMP11 relocation can be resolved correctly if the symbol gets preempted.

The problem seems to strike when the compiler optimises a sibling call to "b <label>", for which the assembler generates a b.n.

As a side-effect of the presence of this relocation, Thumb-2 kernel modules may fail to load, since the kernel doesn't support fixing up this relocation. I believe the kernel doesn't do any symbol preemption processing when loading modules -- if so, the relocation is actually redundant. But there's no way for the kernel to detect at module load time that the relocation can safely be ignored. In kernel builds, about 1 out every 6 modules suffers from this problem. It's not clear to me whether the method used by the kernel to link .ko objects is wrong or not.