[XviD-devel] NX-Stack Patch (AMD64)
Sebastian Siewior
xvid at Chamillionaire.trickip.net
Sun Jan 15 01:01:33 CET 2006
Hello,
please find attached a patch (one line) against xvidcore-1.1.0 that will
make libxvidcore.so.4.1' stack non-executable. Files with executable
stacks make trouble on pax-enabled systems.
This is how it should be
scanelf -e libxvidcore.so.4.1
TYPE STK/REL/PTL FILE
ET_DYN RW- --- RW- libxvidcore.so.4.1
This is how it is without:
scanelf -e libxvidcore.so.4.1
TYPE STK/REL/PTL FILE
ET_DYN RWX --- RW- libxvidcore.so.4.1
--
Regards
Sebastian Siewior
-------------- next part --------------
diff -urN xvidcore-1.1.0-org/src/dct/x86_64_asm/fdct_mmx_skal.asm xvidcore-1.1.0/src/dct/x86_64_asm/fdct_mmx_skal.asm
--- xvidcore-1.1.0-org/src/dct/x86_64_asm/fdct_mmx_skal.asm 2005-12-30 15:34:57.000000000 +0100
+++ xvidcore-1.1.0/src/dct/x86_64_asm/fdct_mmx_skal.asm 2006-01-15 00:29:12.747581880 +0100
@@ -461,3 +461,6 @@
;-----------------------------------------------------------------------------
MAKE_FDCT_FUNC fdct_skal_x86_64, fMTX_MULT_XMM
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/dct/x86_64_asm/idct_mmx.asm xvidcore-1.1.0/src/dct/x86_64_asm/idct_mmx.asm
--- xvidcore-1.1.0-org/src/dct/x86_64_asm/idct_mmx.asm 2005-12-30 15:34:57.000000000 +0100
+++ xvidcore-1.1.0/src/dct/x86_64_asm/idct_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -523,3 +523,6 @@
ret
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/image/x86_64_asm/interpolate8x8_mmx.asm xvidcore-1.1.0/src/image/x86_64_asm/interpolate8x8_mmx.asm
--- xvidcore-1.1.0-org/src/image/x86_64_asm/interpolate8x8_mmx.asm 2005-12-30 15:34:57.000000000 +0100
+++ xvidcore-1.1.0/src/image/x86_64_asm/interpolate8x8_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -706,4 +706,6 @@
pop rbx
ret
-.endfunc
\ No newline at end of file
+.endfunc
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/image/x86_64_asm/interpolate8x8_xmm.asm xvidcore-1.1.0/src/image/x86_64_asm/interpolate8x8_xmm.asm
--- xvidcore-1.1.0-org/src/image/x86_64_asm/interpolate8x8_xmm.asm 2005-12-30 15:34:57.000000000 +0100
+++ xvidcore-1.1.0/src/image/x86_64_asm/interpolate8x8_xmm.asm 2006-01-15 00:29:12.747581880 +0100
@@ -704,3 +704,6 @@
EPILOG
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/image/x86_64_asm/qpel_mmx.asm xvidcore-1.1.0/src/image/x86_64_asm/qpel_mmx.asm
--- xvidcore-1.1.0-org/src/image/x86_64_asm/qpel_mmx.asm 2005-12-30 15:34:57.000000000 +0100
+++ xvidcore-1.1.0/src/image/x86_64_asm/qpel_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -1152,3 +1152,6 @@
.endfunc
;//////////////////////////////////////////////////////////////////////
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/motion/x86_64_asm/sad_mmx.asm xvidcore-1.1.0/src/motion/x86_64_asm/sad_mmx.asm
--- xvidcore-1.1.0-org/src/motion/x86_64_asm/sad_mmx.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/motion/x86_64_asm/sad_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -162,4 +162,6 @@
;; All done
ret
-.endfunc
\ No newline at end of file
+.endfunc
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/motion/x86_64_asm/sad_xmm.asm xvidcore-1.1.0/src/motion/x86_64_asm/sad_xmm.asm
--- xvidcore-1.1.0-org/src/motion/x86_64_asm/sad_xmm.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/motion/x86_64_asm/sad_xmm.asm 2006-01-15 00:29:12.747581880 +0100
@@ -439,4 +439,6 @@
movd eax, mm7
pop rbx
ret
-.endfunc
\ No newline at end of file
+.endfunc
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/quant/x86_64_asm/quantize_h263_mmx.asm xvidcore-1.1.0/src/quant/x86_64_asm/quantize_h263_mmx.asm
--- xvidcore-1.1.0-org/src/quant/x86_64_asm/quantize_h263_mmx.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/quant/x86_64_asm/quantize_h263_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -505,3 +505,6 @@
xor rax, rax
ret
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/quant/x86_64_asm/quantize_mpeg_xmm.asm xvidcore-1.1.0/src/quant/x86_64_asm/quantize_mpeg_xmm.asm
--- xvidcore-1.1.0-org/src/quant/x86_64_asm/quantize_mpeg_xmm.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/quant/x86_64_asm/quantize_mpeg_xmm.asm 2006-01-15 00:29:12.747581880 +0100
@@ -807,4 +807,6 @@
xor rax, rax
ret
-.endfunc
\ No newline at end of file
+.endfunc
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/utils/x86_64_asm/cpuid.asm xvidcore-1.1.0/src/utils/x86_64_asm/cpuid.asm
--- xvidcore-1.1.0-org/src/utils/x86_64_asm/cpuid.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/utils/x86_64_asm/cpuid.asm 2006-01-15 00:29:12.747581880 +0100
@@ -216,3 +216,6 @@
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/utils/x86_64_asm/interlacing_mmx.asm xvidcore-1.1.0/src/utils/x86_64_asm/interlacing_mmx.asm
--- xvidcore-1.1.0-org/src/utils/x86_64_asm/interlacing_mmx.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/utils/x86_64_asm/interlacing_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -212,3 +212,6 @@
ret
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
diff -urN xvidcore-1.1.0-org/src/utils/x86_64_asm/mem_transfer_mmx.asm xvidcore-1.1.0/src/utils/x86_64_asm/mem_transfer_mmx.asm
--- xvidcore-1.1.0-org/src/utils/x86_64_asm/mem_transfer_mmx.asm 2005-12-30 15:34:58.000000000 +0100
+++ xvidcore-1.1.0/src/utils/x86_64_asm/mem_transfer_mmx.asm 2006-01-15 00:29:12.747581880 +0100
@@ -434,3 +434,6 @@
COPY_8_TO_8
ret
.endfunc
+
+section ".note.GNU-stack" noalloc noexec nowrite progbits
+
More information about the XviD-devel
mailing list