From bdea6d76edef1b5e4b30bd35acf68fa56ce7d6a9 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 26 Sep 2023 19:41:23 -0700 Subject: Updated to 32.4.0.1 --- PKGBUILD | 22 ++++++--- mathops_operand_type_mismatch_for_shr.patch | 76 +++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 mathops_operand_type_mismatch_for_shr.patch diff --git a/PKGBUILD b/PKGBUILD index 654bc5e..898576e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -14,12 +14,12 @@ pkgname=palemoon _pmaltname=pale-moon _pmotheraltname=Pale-Moon _uxpaltname=uxp -pkgver=32.3.0 +pkgver=32.4.0.1 pkgrel=1 # palemoon commit ID can be found at https://repo.palemoon.org/MoonchildProductions/Pale-Moon/tags -_commit=3fbde9b00d642c3c92be361a63cffe97baa35f28 +_commit=f8b690cff91c3f281fddad01c4999a96a283949b # UXP commit ID can be found at https://repo.palemoon.org/MoonchildProductions/UXP/tags -_UXPcommit=ea9077a8a5fd8b9f7d5397d18e84aa20fb87f406 +_UXPcommit=3ae297295060144357cd05b8cd671bb168b1c24e pkgdesc="Open source web browser based on Firefox focusing on efficiency." arch=(x86_64 i686) license=(MPL GPL LGPL) @@ -42,16 +42,20 @@ optdepends=('ffmpeg: various video and audio support' # $pkgname-$pkgver.tar.xz.sig::https://archive.palemoon.org/source/${pkgname}-${pkgver}.source.tar.xz.sig source=(git+"https://repo.palemoon.org/MoonchildProductions/${_pmotheraltname}?signed#commit=${_commit}" git+"https://repo.palemoon.org/MoonchildProductions/UXP?signed#commit=${_UXPcommit}" - mozconfig.in) + mozconfig.in + mathops_operand_type_mismatch_for_shr.patch) sha1sums=('SKIP' 'SKIP' - '762f4003575913da9d1ff2731ae95ec7c4cb6875') + '762f4003575913da9d1ff2731ae95ec7c4cb6875' + '0202b18ac4afb56d3a3e5033a9872cdc3e13b422') sha256sums=('SKIP' 'SKIP' - '7c1620b864457477f1d5008d43082f13f53c389e92f5c0977f0f8e516dd32346') + '7c1620b864457477f1d5008d43082f13f53c389e92f5c0977f0f8e516dd32346' + 'a50d7da9870a3fd801ad3a4d13d5c9b260acb094cf8bfa4afd95a54741173a7f') b2sums=('SKIP' 'SKIP' - '2046e87b1520941362ee6f1a2dde6212ebb2c6e95473a5abd779cbdb3fd563db1a552b93a046727e74c4eda0fc40a1d30062d3bbb75a4ce0dd23bf3e416d0298') + '2046e87b1520941362ee6f1a2dde6212ebb2c6e95473a5abd779cbdb3fd563db1a552b93a046727e74c4eda0fc40a1d30062d3bbb75a4ce0dd23bf3e416d0298' + '03c008479a089aafdcca10fd89a6d693852487b11fecf69c6edd1639e3338ab2c40c5e57b0b6b26637fd4275b5c7d71e6b1b654ea0cadbb2d85769f4571c90e3') #https://www.palemoon.org/0x8FCF9CEC.asc validpgpkeys=('3DAD8CD107197488D2A2A0BD40481E7B8FCF9CEC' '3059E09144F56804F0FBF4E126B40624BDBFD9F3') @@ -64,6 +68,10 @@ prepare() { git submodule init git config submodule.platform.url "${srcdir}/UXP" git -c protocol.file.allow=always submodule update + + # Apply patch for mathops_operand_type_mismatch_for_shr.patch + cd "platform/media/ffvpx" + patch -p1 -i "${srcdir}/mathops_operand_type_mismatch_for_shr.patch" } build() { diff --git a/mathops_operand_type_mismatch_for_shr.patch b/mathops_operand_type_mismatch_for_shr.patch new file mode 100644 index 0000000..33fd3d4 --- /dev/null +++ b/mathops_operand_type_mismatch_for_shr.patch @@ -0,0 +1,76 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= +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 +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed19..ca7e2dffc1 100644 +--- a/libavcodec/x86/mathops.h ++++ b/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 + -- cgit v1.2.1