summaryrefslogtreecommitdiffstats
path: root/main/libdv/libdv-0.104-no-exec-stack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/libdv/libdv-0.104-no-exec-stack.patch')
-rw-r--r--main/libdv/libdv-0.104-no-exec-stack.patch137
1 files changed, 137 insertions, 0 deletions
diff --git a/main/libdv/libdv-0.104-no-exec-stack.patch b/main/libdv/libdv-0.104-no-exec-stack.patch
new file mode 100644
index 000000000..edf917c37
--- /dev/null
+++ b/main/libdv/libdv-0.104-no-exec-stack.patch
@@ -0,0 +1,137 @@
+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