avr32: fix asm operand constraint in cmpxchg()
authorMans Rullgard <mans@mansr.com>
Thu, 10 Mar 2016 14:23:49 +0000 (14:23 +0000)
committerHans-Christian Egtvedt <egtvedt@samfundet.no>
Mon, 14 Mar 2016 10:08:29 +0000 (11:08 +0100)
commit392c5174499296bcdecbe1705d577883065fa5de
tree2d649694002b4e9ba45d3a67393954d402636682
parentb837e97fd35a6b551e3478ace0623a0bd744787c
avr32: fix asm operand constraint in cmpxchg()

If the 'old' operand to cmpxchg() is a constant wider than 21 bits,
linking fails with a "relocation truncated to fit: R_AVR32_21S" error.

Fix this by replacing the "i" constraint with "Ks21" which makes the
compiler use a temporary register for out of range constants.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Acked-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
arch/avr32/include/asm/cmpxchg.h
This page took 0.025491 seconds and 5 git commands to generate.