arm: Clear the gp register alias at the end of functions

We reset .Lpic_gp to zero at the start of each function, which means
that the logic within movrelx for clearing gp when necessary will
be missed.

This fixes using movrelx in different functions with a different
helper register.

This is cherry-picked from libav commit
824e8c2840.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
pull/241/head
Martin Storsjö 8 years ago committed by Ronald S. Bultje
parent 6409e9b6cc
commit 86c5a23ee5
  1. 3
      libavutil/arm/asm.S

@ -77,6 +77,9 @@ ELF .section .note.GNU-stack,"",%progbits @ Mark stack as non-executable
put_pic %(.Lpic_idx - 1)
.noaltmacro
.endif
.if .Lpic_gp
.unreq gp
.endif
ELF .size \name, . - \name
FUNC .endfunc
.purgem endfunc

Loading…
Cancel
Save