From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/avidemux-core/, media-libs/avidemux-core/files/
Date: Thu, 10 Aug 2023 04:08:05 +0000 (UTC) [thread overview]
Message-ID: <1691640375.fa73e5fd23da1151eadc3e12abe14afbad98152d.sam@gentoo> (raw)
commit: fa73e5fd23da1151eadc3e12abe14afbad98152d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 04:06:15 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 04:06:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa73e5fd
media-libs/avidemux-core: fix build w/ binutils-2.41
Closes: https://bugs.gentoo.org/911986
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../avidemux-core/avidemux-core-2.8.1-r1.ebuild | 5 +-
.../files/avidemux-core-2.8.1-ffmpeg-2.41.patch | 84 ++++++++++++++++++++++
2 files changed, 88 insertions(+), 1 deletion(-)
diff --git a/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild b/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
index bc742a9bb980..617721f52e31 100644
--- a/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
+++ b/media-libs/avidemux-core/avidemux-core-2.8.1-r1.ebuild
@@ -40,7 +40,10 @@ BDEPEND="
!system-ffmpeg? ( dev-lang/yasm[nls=] )
"
-PATCHES=( "${FILESDIR}"/avidemux-core-2.7.6-ffmpeg-flags.patch )
+PATCHES=(
+ "${FILESDIR}"/avidemux-core-2.7.6-ffmpeg-flags.patch
+ "${FILESDIR}"/avidemux-core-2.8.1-ffmpeg-2.41.patch
+)
S="${WORKDIR}/avidemux2-${PV}"
CMAKE_USE_DIR="${S}/${PN/-/_}"
diff --git a/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch b/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch
new file mode 100644
index 000000000000..da444e9e1c81
--- /dev/null
+++ b/media-libs/avidemux-core/files/avidemux-core-2.8.1-ffmpeg-2.41.patch
@@ -0,0 +1,84 @@
+diff --git a/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch b/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch
+new file mode 100644
+index 0000000..633b4b6
+--- /dev/null
++++ b/avidemux_core/ffmpeg_package/patches/libavcodec_mathops.h_binutils_241.patch
+@@ -0,0 +1,76 @@
++https://bugs.gentoo.org/911582
++https://trac.ffmpeg.org/ticket/10405
++https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
++https://sourceware.org/PR30578
++https://gcc.gnu.org/PR108941
++
++From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001
++From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
++Date: Sun, 16 Jul 2023 18:18:02 +0300
++Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
++ instructions within inline assembly
++
++Fixes assembling with binutil as >= 2.41
++
++Signed-off-by: James Almer <jamrial@gmail.com>
++(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
++--- libavcodec/x86/mathops.h
+++++ libavcodec/x86/mathops.h
++@@ -35,12 +35,20 @@
++ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
++ {
++ int rt, dummy;
+++ if (__builtin_constant_p(shift))
++ __asm__ (
++ "imull %3 \n\t"
++ "shrdl %4, %%edx, %%eax \n\t"
++ :"=a"(rt), "=d"(dummy)
++- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+++ :"a"(a), "rm"(b), "i"(shift & 0x1F)
++ );
+++ else
+++ __asm__ (
+++ "imull %3 \n\t"
+++ "shrdl %4, %%edx, %%eax \n\t"
+++ :"=a"(rt), "=d"(dummy)
+++ :"a"(a), "rm"(b), "c"((uint8_t)shift)
+++ );
++ return rt;
++ }
++
++@@ -113,19 +121,31 @@ __asm__ volatile(\
++ // avoid +32 for shift optimization (gcc should do that ...)
++ #define NEG_SSR32 NEG_SSR32
++ static inline int32_t NEG_SSR32( int32_t a, int8_t s){
+++ if (__builtin_constant_p(s))
++ __asm__ ("sarl %1, %0\n\t"
++ : "+r" (a)
++- : "ic" ((uint8_t)(-s))
+++ : "i" (-s & 0x1F)
++ );
+++ else
+++ __asm__ ("sarl %1, %0\n\t"
+++ : "+r" (a)
+++ : "c" ((uint8_t)(-s))
+++ );
++ return a;
++ }
++
++ #define NEG_USR32 NEG_USR32
++ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+++ if (__builtin_constant_p(s))
++ __asm__ ("shrl %1, %0\n\t"
++ : "+r" (a)
++- : "ic" ((uint8_t)(-s))
+++ : "i" (-s & 0x1F)
++ );
+++ else
+++ __asm__ ("shrl %1, %0\n\t"
+++ : "+r" (a)
+++ : "c" ((uint8_t)(-s))
+++ );
++ return a;
++ }
++
++--
++2.30.2
+--
+2.41.0
next reply other threads:[~2023-08-10 4:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-10 4:08 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-08-11 23:10 [gentoo-commits] repo/gentoo:master commit in: media-libs/avidemux-core/, media-libs/avidemux-core/files/ Thomas Deutschmann
2020-08-07 23:24 Andreas Sturmlechner
2017-10-04 8:02 Alexis Ballier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1691640375.fa73e5fd23da1151eadc3e12abe14afbad98152d.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox