From 27e0f91bae59415b7f35ad9a88cd90bb421838c5 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Mon, 24 Oct 2022 20:55:48 +0200 Subject: extra/firefox: AVX2 patch, using gcc 12, bfd linker and fdlibm float_t patching --- extra/firefox/PKGBUILD | 31 +++++++++++++++-------- extra/firefox/firefox-106.0.1-fdlibm.patch | Bin 0 -> 752 bytes extra/firefox/firefox-99.0.1-fdlibm-double.patch | Bin 610 -> 0 bytes extra/firefox/mozconfig-i686.patch | Bin 673 -> 775 bytes extra/firefox/mozconfig-pentium4.patch | Bin 604 -> 706 bytes extra/firefox/simd_avx2.patch | Bin 0 -> 374 bytes 6 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 extra/firefox/firefox-106.0.1-fdlibm.patch delete mode 100644 extra/firefox/firefox-99.0.1-fdlibm-double.patch create mode 100644 extra/firefox/simd_avx2.patch diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD index 62882c10..5d98c763 100644 --- a/extra/firefox/PKGBUILD +++ b/extra/firefox/PKGBUILD @@ -4,7 +4,7 @@ # set correct compiler and toochain tools if [ "${CARCH}" = "pentium4" ]; then source+=('mozconfig-pentium4.patch') - sha256sums+=('e0d62cbed819264cb000a73260201c357a72ce0abcf9eaede3588f270a566f9a') + sha256sums+=('c8b5376c4ee3f7dec4c9fe2b81434df4e2f5dd7caa99c8bf4371aec3c32233af') eval "$( declare -f prepare | \ sed ' @@ -14,7 +14,7 @@ eval "$( fi if [ "${CARCH}" = "i686" ]; then source+=('mozconfig-i686.patch') - sha256sums+=('9cdfa0d20ffaf1102b16e4cf97add8819939647316e4c7d65d642e2a7cea1ad0') + sha256sums+=('268dce3de0396e6a9529b9105c2c00f06fbe9e8b666f886893d22f569735820a') eval "$( declare -f prepare | \ sed ' @@ -28,7 +28,7 @@ eval "$( declare -f build | \ sed ' 2 a export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" - 2 a export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + 2 a export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--max-cache-size=16384000 " ' declare -f prepare | \ sed ' @@ -209,12 +209,16 @@ eval "$( # 214:49.30 /build/firefox/src/firefox-99.0.1/modules/fdlibm/src/math_private.h:34:21: error: conflicting # declaration ?typedef __double_t double_t? -source+=('firefox-99.0.1-fdlibm-double.patch') -sha256sums+=('62695e56daf8c0b8bb921980d475b3fd169b9134188ad9ffaeb9cd660589c23d') +# and +# typedef __float_t float_t; +# /usr/include/math.h:169:21: note: previous declaration as ?typedef long double float_t? +# typedef long double float_t; +source+=('firefox-106.0.1-fdlibm.patch') +sha256sums+=('ddc0945f2414828668dd922b6b8203f7fb54d7b1f0aac3e18299bccb5c2facab') eval "$( declare -f prepare | \ sed ' - $ i patch -p1 -i "$srcdir/firefox-99.0.1-fdlibm-double.patch" + $ i patch -p1 -i "$srcdir/firefox-106.0.1-fdlibm.patch" ' )" @@ -229,8 +233,13 @@ eval "$( ' )" -# 105.0.x has issues with AVX2 creeping everywhere, let's build 104 for now (and hope they fix it) -sed -i ' - s/^pkgver=105.0.1$/pkgver=104.0.2/ -' PKGBUILD -sha256sums[0]='72bba06f04e7745f6b02951906413eb1c15a7e253e06e373302162c6219f286a' +# disable AVX2 the brutal way +source+=('simd_avx2.patch') +sha256sums+=('e68f8a9858f14a75813df608510e1f8143fd6eb1fcf233df8239d16d935e80f8') +eval "$( + declare -f prepare | \ + sed ' + $ i patch -p1 -i "$srcdir/simd_avx2.patch" + ' +)" + diff --git a/extra/firefox/firefox-106.0.1-fdlibm.patch b/extra/firefox/firefox-106.0.1-fdlibm.patch new file mode 100644 index 00000000..5a15d2b3 Binary files /dev/null and b/extra/firefox/firefox-106.0.1-fdlibm.patch differ diff --git a/extra/firefox/firefox-99.0.1-fdlibm-double.patch b/extra/firefox/firefox-99.0.1-fdlibm-double.patch deleted file mode 100644 index ffd4b1d7..00000000 Binary files a/extra/firefox/firefox-99.0.1-fdlibm-double.patch and /dev/null differ diff --git a/extra/firefox/mozconfig-i686.patch b/extra/firefox/mozconfig-i686.patch index 35b0a095..c19df269 100644 Binary files a/extra/firefox/mozconfig-i686.patch and b/extra/firefox/mozconfig-i686.patch differ diff --git a/extra/firefox/mozconfig-pentium4.patch b/extra/firefox/mozconfig-pentium4.patch index 1cecd845..8b51064a 100644 Binary files a/extra/firefox/mozconfig-pentium4.patch and b/extra/firefox/mozconfig-pentium4.patch differ diff --git a/extra/firefox/simd_avx2.patch b/extra/firefox/simd_avx2.patch new file mode 100644 index 00000000..ee94a034 Binary files /dev/null and b/extra/firefox/simd_avx2.patch differ -- cgit v1.2.3-54-g00ecf