nasm 2.09 compatibility nasm-2.09 makes `elf' alias to `elf32', thus __OUTPUT_FORMAT__ macro becomes `elf32' instead of `elf' (on x86). Unmatched macro value causes omitting .note.GNU-stack marker and creates ELFs with executable stack. This is unneeded and attracts security policies like SELinux. diff -r d898ee5431f5 configure.in --- a/configure.in Thu Feb 17 02:31:50 2011 -0800 +++ b/configure.in Thu Feb 24 15:26:55 2011 +0100 @@ -740,13 +740,13 @@ NASMFLAGS="-f macho" ;; *) - NASMFLAGS="-f elf" + NASMFLAGS="-f elf32" ;; esac fi AC_PATH_PROG(NASM, nasm) - echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections + echo "%ifidn __OUTPUT_FORMAT__,elf32" > unquoted-sections echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections echo "%endif" >> unquoted-sections CompileNASM unquoted-sections || NASM="" diff -r d898ee5431f5 src/hermes/mmx_main.asm --- a/src/hermes/mmx_main.asm Thu Feb 17 02:31:50 2011 -0800 +++ b/src/hermes/mmx_main.asm Thu Feb 24 15:26:55 2011 +0100 @@ -69,6 +69,6 @@ ret -%ifidn __OUTPUT_FORMAT__,elf +%ifidn __OUTPUT_FORMAT__,elf32 section .note.GNU-stack noalloc noexec nowrite progbits %endif diff -r d898ee5431f5 src/hermes/mmxp2_32.asm --- a/src/hermes/mmxp2_32.asm Thu Feb 17 02:31:50 2011 -0800 +++ b/src/hermes/mmxp2_32.asm Thu Feb 24 15:26:55 2011 +0100 @@ -400,6 +400,6 @@ .L4: retn -%ifidn __OUTPUT_FORMAT__,elf +%ifidn __OUTPUT_FORMAT__,elf32 section .note.GNU-stack noalloc noexec nowrite progbits %endif diff -r d898ee5431f5 src/hermes/x86_main.asm --- a/src/hermes/x86_main.asm Thu Feb 17 02:31:50 2011 -0800 +++ b/src/hermes/x86_main.asm Thu Feb 24 15:26:55 2011 +0100 @@ -70,6 +70,6 @@ -%ifidn __OUTPUT_FORMAT__,elf +%ifidn __OUTPUT_FORMAT__,elf32 section .note.GNU-stack noalloc noexec nowrite progbits %endif diff -r d898ee5431f5 src/hermes/x86p_16.asm --- a/src/hermes/x86p_16.asm Thu Feb 17 02:31:50 2011 -0800 +++ b/src/hermes/x86p_16.asm Thu Feb 24 15:26:55 2011 +0100 @@ -485,6 +485,6 @@ .L7 pop ebp retn -%ifidn __OUTPUT_FORMAT__,elf +%ifidn __OUTPUT_FORMAT__,elf32 section .note.GNU-stack noalloc noexec nowrite progbits %endif diff -r d898ee5431f5 src/hermes/x86p_32.asm --- a/src/hermes/x86p_32.asm Thu Feb 17 02:31:50 2011 -0800 +++ b/src/hermes/x86p_32.asm Thu Feb 24 15:26:55 2011 +0100 @@ -1040,6 +1040,6 @@ .L4: retn -%ifidn __OUTPUT_FORMAT__,elf +%ifidn __OUTPUT_FORMAT__,elf32 section .note.GNU-stack noalloc noexec nowrite progbits %endif