ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Thu Mar 29 20:31:03 2018 -0300| [7e3c4d029b8ecf17f3ae17ad6861730a9393ef09] | committer: James Almer
Merge commit '847190ebd99ffd57dc89bd568a33bf2d5c424129' * commit '847190ebd99ffd57dc89bd568a33bf2d5c424129': configure: Don't assume an aligned stack on clang on windows Merged-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e3c4d029b8ecf17f3ae17ad6861730a9393ef09 --- configure | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 9974bc1f55..f2aa2f5262 100755 --- a/configure +++ b/configure @@ -6525,8 +6525,17 @@ elif enabled gcc; then elif enabled llvm_gcc; then check_cflags -mllvm -stack-alignment=16 elif enabled clang; then - check_cflags -mllvm -stack-alignment=16 - check_cflags -mstack-alignment=16 + if [ "$target_os" = "mingw32" -o "$target_os" = "win32" ] && enabled x86_32; then + # Clang doesn't support maintaining alignment without assuming the + # same alignment in every function. If 16 byte alignment would be + # enabled, one would also have to either add attribute_align_arg on + # every single entry point into the libraries or enable -mstackrealign + # (doing stack realignment in every single function). + disable aligned_stack + else + check_cflags -mllvm -stack-alignment=16 + check_cflags -mstack-alignment=16 + fi check_cflags -Qunused-arguments check_cflags -Werror=implicit-function-declaration check_cflags -Werror=missing-prototypes ====================================================================== diff --cc configure index 9974bc1f55,95e6006440..f2aa2f5262 --- a/configure +++ b/configure @@@ -6525,8 -4960,16 +6525,17 @@@ elif enabled gcc; the elif enabled llvm_gcc; then check_cflags -mllvm -stack-alignment=16 elif enabled clang; then - check_cflags -mllvm -stack-alignment=16 - check_cflags -mstack-alignment=16 + if [ "$target_os" = "mingw32" -o "$target_os" = "win32" ] && enabled x86_32; then + # Clang doesn't support maintaining alignment without assuming the + # same alignment in every function. If 16 byte alignment would be + # enabled, one would also have to either add attribute_align_arg on + # every single entry point into the libraries or enable -mstackrealign + # (doing stack realignment in every single function). + disable aligned_stack + else + check_cflags -mllvm -stack-alignment=16 ++ check_cflags -mstack-alignment=16 + fi check_cflags -Qunused-arguments check_cflags -Werror=implicit-function-declaration check_cflags -Werror=missing-prototypes _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog