--- nasm.inc 2009/05/28 08:42:37 1.1.2.3 +++ nasm.inc 2011/01/09 13:20:50 1.7.2.1 @@ -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.1.2.3 2009/05/28 08:42:37 Isibaar Exp $ +; * $Id: nasm.inc,v 1.7.2.1 2011/01/09 13:20:50 Isibaar Exp $ ; * ; ***************************************************************************/ @@ -103,6 +103,11 @@ %define PTR_SIZE 8 %define PTR_TYPE qword +%ifdef __YASM_VERSION_ID__ +%define XVID_MOVSXD movsxd +%else +%define XVID_MOVSXD movsx +%endif %else @@ -149,6 +154,7 @@ %define PUSH_XMM6_XMM7 %define POP_XMM6_XMM7 +%define XVID_MOVSXD movsx %endif @@ -169,11 +175,15 @@ %endmacro %macro TEXT 0 -%ifidn __OUTPUT_FORMAT__,macho +%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 @@ -197,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