Fwd: [Bug 503185] Re: fails to build on armel/lucid

From: Alan Woodland (awoodland_at_debian_dot_org)
Date: Mon Jan 18 2010 - 06:16:23 PST

  • Next message: Paul H. Hargrove: "Re: Fwd: [Bug 503185] Re: fails to build on armel/lucid"
    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
    

  • Next message: Paul H. Hargrove: "Re: Fwd: [Bug 503185] Re: fails to build on armel/lucid"