add CHD support.
[pcsx_rearmed.git] / deps / flac-1.3.2 / src / libFLAC / ia32 / nasm.h
CommitLineData
ce188d4d 1; libFLAC - Free Lossless Audio Codec library
2; Copyright (C) 2001-2009 Josh Coalson
3; Copyright (C) 2011-2016 Xiph.Org Foundation
4;
5; Redistribution and use in source and binary forms, with or without
6; modification, are permitted provided that the following conditions
7; are met:
8;
9; - Redistributions of source code must retain the above copyright
10; notice, this list of conditions and the following disclaimer.
11;
12; - Redistributions in binary form must reproduce the above copyright
13; notice, this list of conditions and the following disclaimer in the
14; documentation and/or other materials provided with the distribution.
15;
16; - Neither the name of the Xiph.org Foundation nor the names of its
17; contributors may be used to endorse or promote products derived from
18; this software without specific prior written permission.
19;
20; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32 bits 32
33
34%ifdef OBJ_FORMAT_win32
35 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
36 %idefine code_section section .text align=16 class=CODE use32
37 %idefine data_section section .data align=32 class=DATA use32
38 %idefine bss_section section .bss align=32 class=DATA use32
39%elifdef OBJ_FORMAT_aout
40 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
41 %idefine code_section section .text
42 %idefine data_section section .data
43 %idefine bss_section section .bss
44%elifdef OBJ_FORMAT_aoutb
45 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
46 %idefine code_section section .text
47 %idefine data_section section .data
48 %idefine bss_section section .bss
49%elifdef OBJ_FORMAT_macho
50 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
51 %idefine code_section section .text
52 %idefine data_section section .data
53 %idefine bss_section section .bss
54%elifdef OBJ_FORMAT_elf
55 %idefine code_section section .text align=16
56 %idefine data_section section .data align=32
57 %idefine bss_section section .bss align=32
58%else
59 %error unsupported object format! ; this directive doesn't really work here
60%endif
61
62%imacro cglobal 1
63 %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
64 global _%1
65 %else
66 %if __NASM_MAJOR__ >= 2
67 global %1:function hidden
68 %else
69 global %1
70 %endif
71 %endif
72%endmacro
73
74%imacro cextern 1
75 %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
76 extern _%1
77 %else
78 extern %1
79 %endif
80%endmacro
81
82%imacro cident 1
83_%1:
84%1:
85%endmacro
86
87%ifdef OBJ_FORMAT_elf
88section .note.GNU-stack progbits noalloc noexec nowrite align=1
89%endif
90