package/binutils: fix loops relaxation in xtensa gas
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 3 Apr 2019 02:20:19 +0000 (19:20 -0700)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 3 Apr 2019 06:36:32 +0000 (08:36 +0200)
commit197b5f9d1c23237d39db146f0396b63f4e6270bb
tree477ee74eb7caec702b39043fcf91c0d01bd1aaf6
parent38730bfdf6101c1a9e8d4eef8331e12aca145ea0
package/binutils: fix loops relaxation in xtensa gas

Loop relaxation logic in xtensa gas may produce code in which LEND
register doesn't match actual zero overhead loop end. Fix relaxation
code so that it produces a literal or a pair of const16 instructions
with associated relocation record that works correctly in the presence
of other relaxations. This fixes crash in X11 server caused by window
movement.

Loop relaxation has limited of 32K range, this fix removes this
limitation.

Fixes:
http://autobuild.buildroot.net/results/e05522ce540f4ac23f9a3a8fec724694d9a23101/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch [new file with mode: 0644]
package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch [new file with mode: 0644]
package/binutils/2.32/0004-gas-use-literals-const16-for-xtensa-loop-relaxation.patch [new file with mode: 0644]