--- nasm.inc 2008/12/01 17:27:03 1.1.2.2 +++ 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.2 2008/12/01 17:27:03 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 @@ -168,6 +174,18 @@ %endif %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 %ifdef PREFIX %ifdef MARK_FUNCS @@ -189,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