From: Alan Woodland (awoodland_at_debian_dot_org)
Date: Mon Jan 18 2010 - 06:16:23 PST
Apparently there is another issue: /tmp/cckH6Lu5.s: Assembler messages: /tmp/cckH6Lu5.s:730: Error: only SUBS PC, LR, #const allowed -- `sub pc,r3,#(0xffff0fff-0xffff0fc0)' /tmp/cckH6Lu5.s:791: Error: only SUBS PC, LR, #const allowed -- `sub pc,r3,#(0xffff0fff-0xffff0fc0)' /tmp/cckH6Lu5.s:910: Error: only SUBS PC, LR, #const allowed -- `sub pc,r3,#(0xffff0fff-0xffff0fc0)' Does the patch proposed look reasonable to you? Alan ---------- Forwarded message ---------- From: Dave Martin <Dave.Martin_at_arm_dot_com> Date: 2010/1/18 Subject: [Bug 503185] Re: fails to build on armel/lucid To: awoodland_at_debian_dot_org ARMv7 generally does not allow the PC to be used as a destination register for random operations. �The code will also not work in Thumb because the "Thumb bit" in the return address (bottom bit of lr) is not set properly. The best way to fix this is to precompute the address of the kuser helper code to call (in r3) and call it with BLX r3. �This only works on v5 and above; this is reasonable because the code won't build for Thumb on ARMv4T anyway for various other reasons. The attached patch attempts to do this when appropriate. I will try to test it, but haven't been able to do so yet. ** Attachment added: "Patch to call the kuser helper functions in a Thumb-2 compatible way" � http://launchpadlibrarian.net/38032395/cr_atomic_arm.diff