--- nasm.inc 2008/12/04 14:41:50 1.4 +++ nasm.inc 2011/01/09 13:21:00 1.8 @@ -19,7 +19,7 @@ ; * along with this program ; if not, write to the Free Software ; * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ; * -; * $Id: nasm.inc,v 1.4 2008/12/04 14:41:50 Isibaar Exp $ +; * $Id: nasm.inc,v 1.8 2011/01/09 13:21:00 Isibaar Exp $ ; * ; ***************************************************************************/ @@ -104,9 +104,9 @@ %define PTR_TYPE qword %ifdef __YASM_VERSION_ID__ -%define XVID_MOVSX movsxd +%define XVID_MOVSXD movsxd %else -%define XVID_MOVSX movsx +%define XVID_MOVSXD movsx %endif %else @@ -154,8 +154,7 @@ %define PUSH_XMM6_XMM7 %define POP_XMM6_XMM7 -%define XVID_MOVSX movsx - +%define XVID_MOVSXD movsx %endif @@ -176,7 +175,15 @@ %endmacro %macro TEXT 0 +%ifidn __OUTPUT_FORMAT__,macho32 + SECTION .text align=SECTION_ALIGN +%else +%ifidn __OUTPUT_FORMAT__,macho64 + SECTION .text align=SECTION_ALIGN +%else SECTION .rotext align=SECTION_ALIGN +%endif +%endif %endmacro %macro cglobal 1 @@ -200,3 +207,12 @@ %endif %endif %endmacro + +%macro NON_EXEC_STACK 0 +%ifidn __OUTPUT_FORMAT__,elf +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%ifidn __OUTPUT_FORMAT__,elf64 +section .note.GNU-stack noalloc noexec nowrite progbits +%endif +%endmacro