[FFmpeg-cvslog] arm: Clear the gp register alias at the end of functions

Martin Storsjö git at videolan.org
Fri Mar 31 21:49:31 EEST 2017


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Nov 10 13:23:38 2016 +0200| [824e8c284054f323f854892d1b4739239ed1fdc7] | committer: Martin Storsjö

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.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=824e8c284054f323f854892d1b4739239ed1fdc7
---

 libavutil/arm/asm.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
index 1a048b5..4ac0ea2 100644
--- a/libavutil/arm/asm.S
+++ b/libavutil/arm/asm.S
@@ -83,6 +83,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



More information about the ffmpeg-cvslog mailing list