Make sure that the asm files don't incorrectly trigger an executable stack marking in the final shared library. That's bad, mmmkay. before: $ readelf -l /usr/lib/libsmpeg.so | grep -A 1 GNU_STACK GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RWE 8 after: $ readelf -l /usr/lib/libsmpeg.so | grep -A 1 GNU_STACK GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 8 --- smpeg-0.4.4/video/mmxflags_asm.S +++ smpeg-0.4.4/video/mmxflags_asm.S @@ -57,3 +57,7 @@ .size cpu_flags,.Lfe1-cpu_flags #endif /* i386 && USE_MMX */ + +#ifdef __ELF__ +.section .note.GNU-stack,"",%progbits +#endif --- smpeg-0.4.4/video/mmxidct_asm.S +++ smpeg-0.4.4/video/mmxidct_asm.S @@ -673,3 +673,7 @@ #endif /* i386 && USE_MMX */ + +#ifdef __ELF__ +.section .note.GNU-stack,"",%progbits +#endif