diff options
Diffstat (limited to 'main/libdv/libdv-0.104-no-exec-stack.patch')
-rw-r--r-- | main/libdv/libdv-0.104-no-exec-stack.patch | 137 |
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 |