| OLD | NEW |
| 1 ; | 1 ; |
| 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
| 3 ; | 3 ; |
| 4 ; Use of this source code is governed by a BSD-style license | 4 ; Use of this source code is governed by a BSD-style license |
| 5 ; that can be found in the LICENSE file in the root of the source | 5 ; that can be found in the LICENSE file in the root of the source |
| 6 ; tree. An additional intellectual property rights grant can be found | 6 ; tree. An additional intellectual property rights grant can be found |
| 7 ; in the file PATENTS. All contributing project authors may | 7 ; in the file PATENTS. All contributing project authors may |
| 8 ; be found in the AUTHORS file in the root of the source tree. | 8 ; be found in the AUTHORS file in the root of the source tree. |
| 9 ; | 9 ; |
| 10 | 10 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 %ifidn __OUTPUT_FORMAT__,elf32 | 85 %ifidn __OUTPUT_FORMAT__,elf32 |
| 86 %define sym(x) x | 86 %define sym(x) x |
| 87 %elifidn __OUTPUT_FORMAT__,elf64 | 87 %elifidn __OUTPUT_FORMAT__,elf64 |
| 88 %define sym(x) x | 88 %define sym(x) x |
| 89 %elifidn __OUTPUT_FORMAT__,x64 | 89 %elifidn __OUTPUT_FORMAT__,x64 |
| 90 %define sym(x) x | 90 %define sym(x) x |
| 91 %else | 91 %else |
| 92 %define sym(x) _ %+ x | 92 %define sym(x) _ %+ x |
| 93 %endif | 93 %endif |
| 94 | 94 |
| 95 |
| 96 ; PRIVATE |
| 97 ; Macro for the attribute to hide a global symbol for the target ABI. |
| 98 ; |
| 99 ; Chromium doesn't like exported global symbols due to symbol clashing with |
| 100 ; plugins among other things. |
| 101 ; |
| 102 ; Requires Chromium's patched copy of yasm: |
| 103 ; http://src.chromium.org/viewvc/chrome?view=rev&revision=73761 |
| 104 ; http://www.tortall.net/projects/yasm/ticket/236 |
| 105 ; |
| 106 %ifidn __OUTPUT_FORMAT__,elf32 |
| 107 %define PRIVATE :hidden |
| 108 %elifidn __OUTPUT_FORMAT__,elf64 |
| 109 %define PRIVATE :hidden |
| 110 %elifidn __OUTPUT_FORMAT__,x64 |
| 111 %define PRIVATE |
| 112 %else |
| 113 %define PRIVATE :private_extern |
| 114 %endif |
| 115 |
| 116 |
| 95 ; arg() | 117 ; arg() |
| 96 ; Return the address specification of the given argument | 118 ; Return the address specification of the given argument |
| 97 ; | 119 ; |
| 98 %if ABI_IS_32BIT | 120 %if ABI_IS_32BIT |
| 99 %define arg(x) [ebp+8+4*x] | 121 %define arg(x) [ebp+8+4*x] |
| 100 %else | 122 %else |
| 101 ; 64 bit ABI passes arguments in registers. This is a workaround to get up | 123 ; 64 bit ABI passes arguments in registers. This is a workaround to get up |
| 102 ; and running quickly. Relies on SHADOW_ARGS_TO_STACK | 124 ; and running quickly. Relies on SHADOW_ARGS_TO_STACK |
| 103 %ifidn __OUTPUT_FORMAT__,x64 | 125 %ifidn __OUTPUT_FORMAT__,x64 |
| 104 %define arg(x) [rbp+16+8*x] | 126 %define arg(x) [rbp+16+8*x] |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 | 314 |
| 293 ; Tell GNU ld that we don't require an executable stack. | 315 ; Tell GNU ld that we don't require an executable stack. |
| 294 %ifidn __OUTPUT_FORMAT__,elf32 | 316 %ifidn __OUTPUT_FORMAT__,elf32 |
| 295 section .note.GNU-stack noalloc noexec nowrite progbits | 317 section .note.GNU-stack noalloc noexec nowrite progbits |
| 296 section .text | 318 section .text |
| 297 %elifidn __OUTPUT_FORMAT__,elf64 | 319 %elifidn __OUTPUT_FORMAT__,elf64 |
| 298 section .note.GNU-stack noalloc noexec nowrite progbits | 320 section .note.GNU-stack noalloc noexec nowrite progbits |
| 299 section .text | 321 section .text |
| 300 %endif | 322 %endif |
| 301 | 323 |
| OLD | NEW |