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
--
⑨