Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Nov 2018 19:49:37 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r484763 - head/multimedia/gstreamer1-libav/files
Message-ID:  <201811111949.wABJnbQ9081715@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sun Nov 11 19:49:37 2018
New Revision: 484763
URL: https://svnweb.freebsd.org/changeset/ports/484763

Log:
  multimedia/gstreamer1-libav: switch to ffmpeg 4.0 alignment fix
  
  Obtained from:	upstream

Modified:
  head/multimedia/gstreamer1-libav/files/patch-gst-libs_ext_libav_configure   (contents, props changed)

Modified: head/multimedia/gstreamer1-libav/files/patch-gst-libs_ext_libav_configure
==============================================================================
--- head/multimedia/gstreamer1-libav/files/patch-gst-libs_ext_libav_configure	Sun Nov 11 19:49:22 2018	(r484762)
+++ head/multimedia/gstreamer1-libav/files/patch-gst-libs_ext_libav_configure	Sun Nov 11 19:49:37 2018	(r484763)
@@ -14,12 +14,44 @@
  cpu="generic"
  intrinsics="none"
  
-@@ -6492,6 +6487,9 @@ elif enabled llvm_gcc; then
- elif enabled clang; then
+@@ -6487,11 +6482,39 @@ elif enabled gcc; then
+     check_cflags -Wformat
+     check_cflags -fdiagnostics-color=auto
+     enabled extra_warnings || check_disable_warning -Wno-maybe-uninitialized
++    if enabled x86_32; then
++        case $target_os in
++        *bsd*)
++            # BSDs don't guarantee a 16 byte aligned stack, but we can
++            # request GCC to try to maintain 16 byte alignment throughout
++            # function calls. Library entry points that might call assembly
++            # functions align the stack. (The parameter means 2^4 bytes.)
++            check_cflags -mpreferred-stack-boundary=4
++            ;;
++        esac
++    fi
+ elif enabled llvm_gcc; then
      check_cflags -mllvm -stack-alignment=16
-     check_cflags -mstack-alignment=16
+ elif enabled clang; then
+-    check_cflags -mllvm -stack-alignment=16
+-    check_cflags -mstack-alignment=16
 +    if enabled x86_32; then
-+      check_cflags -mstackrealign
++        # 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).
++        case $target_os in
++        mingw32|win32|*bsd*)
++            disable aligned_stack
++            ;;
++        *)
++            check_cflags -mllvm -stack-alignment=16
++            check_cflags -mstack-alignment=16
++            ;;
++        esac
++    else
++        check_cflags -mllvm -stack-alignment=16
++        check_cflags -mstack-alignment=16
 +    fi
      check_cflags -Qunused-arguments
      check_cflags -Werror=implicit-function-declaration



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811111949.wABJnbQ9081715>