From: Johann Date: Tue, 10 May 2011 19:58:56 +0000 (-0400) Subject: set up Global Offset Table in recon X-Git-Tag: v0.9.7~164 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=df2023a6cb82708badcf4425100e790080c24079;p=libvpx 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 --- 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