| Index: source/libvpx/vpx_ports/x86_abi_support.asm
|
| ===================================================================
|
| --- source/libvpx/vpx_ports/x86_abi_support.asm (revision 60257)
|
| +++ source/libvpx/vpx_ports/x86_abi_support.asm (working copy)
|
| @@ -1,5 +1,5 @@
|
| ;
|
| -; Copyright (c) 2010 The VP8 project authors. All Rights Reserved.
|
| +; Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
| ;
|
| ; Use of this source code is governed by a BSD-style license
|
| ; that can be found in the LICENSE file in the root of the source
|
| @@ -90,7 +90,7 @@
|
| %macro ALIGN_STACK 2
|
| mov %2, rsp
|
| and rsp, -%1
|
| - sub rsp, %1 - REG_SZ_BYTES
|
| + lea rsp, [rsp - (%1 - REG_SZ_BYTES)]
|
| push %2
|
| %endmacro
|
|
|
| @@ -105,7 +105,6 @@
|
| %idefine XMMWORD
|
| %idefine MMWORD
|
|
|
| -
|
| ; PIC macros
|
| ;
|
| %if ABI_IS_32BIT
|
| @@ -116,9 +115,13 @@
|
| extern _GLOBAL_OFFSET_TABLE_
|
| push %1
|
| call %%get_got
|
| + %%sub_offset:
|
| + jmp %%exitGG
|
| %%get_got:
|
| - pop %1
|
| - add %1, _GLOBAL_OFFSET_TABLE_ + $$ - %%get_got wrt ..gotpc
|
| + mov %1, [esp]
|
| + add %1, _GLOBAL_OFFSET_TABLE_ + $$ - %%sub_offset wrt ..gotpc
|
| + ret
|
| + %%exitGG:
|
| %undef GLOBAL
|
| %define GLOBAL + %1 wrt ..gotoff
|
| %undef RESTORE_GOT
|
| @@ -128,9 +131,13 @@
|
| %macro GET_GOT 1
|
| push %1
|
| call %%get_got
|
| + %%sub_offset:
|
| + jmp %%exitGG
|
| %%get_got:
|
| - pop %1
|
| - add %1, fake_got - %%get_got
|
| + mov %1, [esp]
|
| + add %1, fake_got - %%sub_offset
|
| + ret
|
| + %%exitGG:
|
| %undef GLOBAL
|
| %define GLOBAL + %1 - fake_got
|
| %undef RESTORE_GOT
|
|
|