The read only sections are getting stripped on some OS X builds. As a
result, random data is used in place of the intended tables.
Change-Id: I58c18a53e503f093ee268451698c5761e6c32540
Avoid 'amdnop' when building with nasm.
Set 'private_extern' visibility for macho targets.
Copy PIC 'GLOBAL' macros from x86_abi_support.asm
+Use .text instead of .rodata on macho to avoid broken tables in PIC mode.
%define mangle(x) _ %+ x
%endif
+; In some instances macho32 tables get misaligned when using .rodata.
+; When looking at the disassembly it appears that the offset is either
+; correct or consistently off by 90. Placing them in the .text section
+; works around the issue. It appears to be specific to the way libvpx
+; handles the tables.
%macro SECTION_RODATA 0-1 16
- SECTION .rodata align=%1
+ %ifidn __OUTPUT_FORMAT__,macho32
+ SECTION .text align=%1
+ fakegot:
+ %else
+ SECTION .rodata align=%1
+ %endif
%endmacro
%macro SECTION_TEXT 0-1 16