1 ; libFLAC - Free Lossless Audio Codec library
2 ; Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008,2009 Josh Coalson
4 ; Redistribution and use in source and binary forms, with or without
5 ; modification, are permitted provided that the following conditions
8 ; - Redistributions of source code must retain the above copyright
9 ; notice, this list of conditions and the following disclaimer.
11 ; - Redistributions in binary form must reproduce the above copyright
12 ; notice, this list of conditions and the following disclaimer in the
13 ; documentation and/or other materials provided with the distribution.
15 ; - Neither the name of the Xiph.org Foundation nor the names of its
16 ; contributors may be used to endorse or promote products derived from
17 ; this software without specific prior written permission.
19 ; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 ; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 ; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 ; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
23 ; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 ; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26 ; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27 ; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28 ; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 %ifdef OBJ_FORMAT_win32
34 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
35 %idefine code_section section .text align=16 class=CODE use32
36 %idefine data_section section .data align=32 class=DATA use32
37 %idefine bss_section section .bss align=32 class=DATA use32
38 %elifdef OBJ_FORMAT_aout
39 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
40 %idefine code_section section .text
41 %idefine data_section section .data
42 %idefine bss_section section .bss
43 %elifdef OBJ_FORMAT_aoutb
44 %define FLAC__PUBLIC_NEEDS_UNDERSCORE
45 %idefine code_section section .text
46 %idefine data_section section .data
47 %idefine bss_section section .bss
48 %elifdef OBJ_FORMAT_elf
49 %idefine code_section section .text align=16
50 %idefine data_section section .data align=32
51 %idefine bss_section section .bss align=32
53 %error unsupported object format!
57 %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
60 %if __NASM_MAJOR__ >= 2
61 global %1:function hidden
69 %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
81 %ifndef OBJ_FORMAT_aout
82 section .note.GNU-stack progbits noalloc noexec nowrite align=1