summaryrefslogtreecommitdiff
path: root/vp8/common/x86
diff options
context:
space:
mode:
authorJohann <johannkoenig@google.com>2011-05-10 15:58:56 -0400
committerJohann <johannkoenig@google.com>2011-05-10 15:58:56 -0400
commitdf2023a6cb82708badcf4425100e790080c24079 (patch)
treece48daa54a376c3a8b478e3aa5472569130b92ff /vp8/common/x86
parentc7a56f677d4c5336fa6b0f07b10d3cdccc14f9b3 (diff)
downloadlibvpx-df2023a6cb82708badcf4425100e790080c24079.tar
libvpx-df2023a6cb82708badcf4425100e790080c24079.tar.gz
libvpx-df2023a6cb82708badcf4425100e790080c24079.tar.bz2
libvpx-df2023a6cb82708badcf4425100e790080c24079.zip
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
Diffstat (limited to 'vp8/common/x86')
-rw-r--r--vp8/common/x86/recon_sse2.asm6
1 files changed, 6 insertions, 0 deletions
diff --git a/vp8/common/x86/recon_sse2.asm b/vp8/common/x86/recon_sse2.asm
index 97dc4f686..86c421a9a 100644
--- a/vp8/common/x86/recon_sse2.asm
+++ b/vp8/common/x86/recon_sse2.asm
@@ -315,6 +315,7 @@ sym(vp8_intra_pred_uv_dctop_mmx2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 4
+ GET_GOT rbx
push rsi
push rdi
; end prolog
@@ -351,6 +352,7 @@ sym(vp8_intra_pred_uv_dctop_mmx2):
; begin epilog
pop rdi
pop rsi
+ RESTORE_GOT
UNSHADOW_ARGS
pop rbp
ret
@@ -431,6 +433,7 @@ sym(vp8_intra_pred_uv_dc128_mmx):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 4
+ GET_GOT rbx
; end prolog
; write out
@@ -450,6 +453,7 @@ sym(vp8_intra_pred_uv_dc128_mmx):
movq [rax+rcx ], mm1
; begin epilog
+ RESTORE_GOT
UNSHADOW_ARGS
pop rbp
ret
@@ -466,6 +470,7 @@ sym(vp8_intra_pred_uv_tm_%1):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 4
+ GET_GOT rbx
push rsi
push rdi
; end prolog
@@ -525,6 +530,7 @@ vp8_intra_pred_uv_tm_%1_loop:
; begin epilog
pop rdi
pop rsi
+ RESTORE_GOT
UNSHADOW_ARGS
pop rbp
ret