shithub: libvpx

Download patch

ref: df2023a6cb82708badcf4425100e790080c24079
parent: c7a56f677d4c5336fa6b0f07b10d3cdccc14f9b3
author: Johann <johannkoenig@google.com>
date: Tue May 10 11:58:56 EDT 2011

set up Global Offset Table in recon

global values were being referenced, but the GOT was not being set up.
as the GOT is only required for PIC, this issue wasn't caught in the
default configuration.

Change-Id: I8006e53776139362a76f2c80cf9d0f8458602b2f
http://code.google.com/p/webm/issues/detail?id=328

--- a/vp8/common/x86/recon_sse2.asm
+++ b/vp8/common/x86/recon_sse2.asm
@@ -315,6 +315,7 @@
     push        rbp
     mov         rbp, rsp
     SHADOW_ARGS_TO_STACK 4
+    GET_GOT     rbx
     push        rsi
     push        rdi
     ; end prolog
@@ -351,6 +352,7 @@
     ; begin epilog
     pop         rdi
     pop         rsi
+    RESTORE_GOT
     UNSHADOW_ARGS
     pop         rbp
     ret
@@ -431,6 +433,7 @@
     push        rbp
     mov         rbp, rsp
     SHADOW_ARGS_TO_STACK 4
+    GET_GOT     rbx
     ; end prolog
 
     ; write out
@@ -450,6 +453,7 @@
     movq [rax+rcx  ],       mm1
 
     ; begin epilog
+    RESTORE_GOT
     UNSHADOW_ARGS
     pop         rbp
     ret
@@ -466,6 +470,7 @@
     push        rbp
     mov         rbp, rsp
     SHADOW_ARGS_TO_STACK 4
+    GET_GOT     rbx
     push        rsi
     push        rdi
     ; end prolog
@@ -525,6 +530,7 @@
     ; begin epilog
     pop         rdi
     pop         rsi
+    RESTORE_GOT
     UNSHADOW_ARGS
     pop         rbp
     ret
--