nasm.h 2.72 KB
Newer Older
1
;  libFLAC - Free Lossless Audio Codec library
Josh Coalson's avatar
Josh Coalson committed
2
;  Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008,2009  Josh Coalson
Josh Coalson's avatar
Josh Coalson committed
3
;
4
5
6
;  Redistribution and use in source and binary forms, with or without
;  modification, are permitted provided that the following conditions
;  are met:
Josh Coalson's avatar
Josh Coalson committed
7
;
8
9
;  - Redistributions of source code must retain the above copyright
;  notice, this list of conditions and the following disclaimer.
Josh Coalson's avatar
Josh Coalson committed
10
;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
;  - Redistributions in binary form must reproduce the above copyright
;  notice, this list of conditions and the following disclaimer in the
;  documentation and/or other materials provided with the distribution.
;
;  - Neither the name of the Xiph.org Foundation nor the names of its
;  contributors may be used to endorse or promote products derived from
;  this software without specific prior written permission.
;
;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
;  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
;  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
;  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
;  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
;  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
;  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
;  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
;  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Josh Coalson's avatar
Josh Coalson committed
30
31
32

	bits 32

33
%ifdef OBJ_FORMAT_win32
Josh Coalson's avatar
Josh Coalson committed
34
35
36
37
	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
	%idefine code_section section .text align=16 class=CODE use32
	%idefine data_section section .data align=32 class=DATA use32
	%idefine bss_section  section .bss  align=32 class=DATA use32
38
%elifdef OBJ_FORMAT_aout
Josh Coalson's avatar
Josh Coalson committed
39
40
41
42
	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
	%idefine code_section section .text
	%idefine data_section section .data
	%idefine bss_section  section .bss
Josh Coalson's avatar
Josh Coalson committed
43
44
45
46
47
%elifdef OBJ_FORMAT_aoutb
	%define FLAC__PUBLIC_NEEDS_UNDERSCORE
	%idefine code_section section .text
	%idefine data_section section .data
	%idefine bss_section  section .bss
48
%elifdef OBJ_FORMAT_elf
Josh Coalson's avatar
Josh Coalson committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
	%idefine code_section section .text align=16
	%idefine data_section section .data align=32
	%idefine bss_section  section .bss  align=32
%else
	%error unsupported object format!
%endif

%imacro cglobal 1
	%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
		global _%1
	%else
		global %1
	%endif
%endmacro

%imacro cextern 1
	%ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
		extern _%1
	%else
		extern %1
	%endif
%endmacro

%imacro cident 1
_%1:
%1:
%endmacro
76

77
%ifndef OBJ_FORMAT_aout
78
section .note.GNU-stack progbits noalloc noexec nowrite align=1
79
%endif
80