contrib/libdv/libdv-0.104-no-exec-stack.patch

138 lines
2.7 KiB
Diff

Make sure that the asm files don't incorrectly trigger an executable
stack marking in the final shared library. That's bad, mmmkay.
Upstream has already fixed this in their cvs.
--- a/libdv/dct_block_mmx.S
+++ b/libdv/dct_block_mmx.S
@@ -1207,3 +1207,7 @@ _dv_dct_block_mmx_postscale_248:
popl %esi
popl %ebp
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/dct_block_mmx_x86_64.S
+++ b/libdv/dct_block_mmx_x86_64.S
@@ -1197,3 +1197,7 @@ _dv_dct_block_mmx_x86_64_postscale_248:
pop %r12
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/encode_x86.S
+++ b/libdv/encode_x86.S
@@ -599,3 +599,6 @@ _dv_need_dct_248_mmx_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/encode_x86_64.S
+++ b/libdv/encode_x86_64.S
@@ -600,3 +600,6 @@ _dv_need_dct_248_mmx_x86_64_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/idct_block_mmx.S
+++ b/libdv/idct_block_mmx.S
@@ -648,3 +648,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/idct_block_mmx_x86_64.S
+++ b/libdv/idct_block_mmx_x86_64.S
@@ -653,3 +653,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/quant_x86.S
+++ b/libdv/quant_x86.S
@@ -454,3 +454,6 @@ _dv_quant_x86:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/quant_x86_64.S
+++ b/libdv/quant_x86_64.S
@@ -459,3 +459,6 @@ _dv_quant_x86_64:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/rgbtoyuv.S
+++ b/libdv/rgbtoyuv.S
@@ -1430,3 +1430,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/rgbtoyuv_x86_64.S
+++ b/libdv/rgbtoyuv_x86_64.S
@@ -1370,3 +1370,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/transpose_x86.S
+++ b/libdv/transpose_x86.S
@@ -188,3 +188,7 @@ popl %esi
popl %ebp
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/transpose_x86_64.S
+++ b/libdv/transpose_x86_64.S
@@ -188,3 +188,7 @@ all_done_ready_to_exit:
pop %r12
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/vlc_x86.S
+++ b/libdv/vlc_x86.S
@@ -585,3 +585,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/vlc_x86_64.S
+++ b/libdv/vlc_x86_64.S
@@ -671,3 +671,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif