From e1da8d787198565e73ee3ae8b2ed310bd4c9d22c Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Wed, 26 Jul 2023 14:27:10 +0200 Subject: [PATCH] Updated to 116.0 --- .gitignore | 2 + D182447.diff | 111 --------------------------------------------------- firefox.spec | 10 ++--- pgo.patch | 76 +++++++++++++++++------------------ sources | 4 +- 5 files changed, 46 insertions(+), 157 deletions(-) delete mode 100644 D182447.diff diff --git a/.gitignore b/.gitignore index 43fa144..701ace4 100644 --- a/.gitignore +++ b/.gitignore @@ -584,3 +584,5 @@ firefox-3.6.4.source.tar.bz2 /firefox-langpacks-115.0-20230703.tar.xz /firefox-115.0.2.source.tar.xz /firefox-langpacks-115.0.2-20230717.tar.xz +/firefox-116.0.source.tar.xz +/firefox-langpacks-116.0-20230725.tar.xz diff --git a/D182447.diff b/D182447.diff deleted file mode 100644 index 8163545..0000000 --- a/D182447.diff +++ /dev/null @@ -1,111 +0,0 @@ -diff --git a/build/unix/elfhack/elf.cpp b/build/unix/elfhack/elf.cpp ---- a/build/unix/elfhack/elf.cpp -+++ b/build/unix/elfhack/elf.cpp -@@ -347,11 +347,11 @@ - } - } - return sections[index]; - } - --ElfSection* Elf::getSectionAt(unsigned int offset) { -+ElfSection* Elf::getSectionAt(Elf64_Off offset) { - for (int i = 1; i < ehdr->e_shnum; i++) { - ElfSection* section = getSection(i); - if ((section != nullptr) && (section->getFlags() & SHF_ALLOC) && - !(section->getFlags() & SHF_TLS) && (offset >= section->getAddr()) && - (offset < section->getAddr() + section->getSize())) -@@ -532,11 +532,11 @@ - info.section = shdr.sh_info ? parent->getSection(shdr.sh_info) : nullptr; - else - info.index = shdr.sh_info; - } - --unsigned int ElfSection::getAddr() { -+Elf64_Addr ElfSection::getAddr() { - if (shdr.sh_addr != (Elf64_Addr)-1) return shdr.sh_addr; - - // It should be safe to adjust sh_addr for all allocated sections that - // are neither SHT_NOBITS nor SHT_PROGBITS - if ((previous != nullptr) && isRelocatable()) { -@@ -548,16 +548,16 @@ - return (shdr.sh_addr = addr); - } - return shdr.sh_addr; - } - --unsigned int ElfSection::getOffset() { -+Elf64_Off ElfSection::getOffset() { - if (shdr.sh_offset != (Elf64_Off)-1) return shdr.sh_offset; - - if (previous == nullptr) return (shdr.sh_offset = 0); - -- unsigned int offset = previous->getOffset(); -+ Elf64_Off offset = previous->getOffset(); - - ElfSegment* ptload = getSegmentByType(PT_LOAD); - ElfSegment* prev_ptload = previous->getSegmentByType(PT_LOAD); - - if (ptload && (ptload == prev_ptload)) { -diff --git a/build/unix/elfhack/elfhack.cpp b/build/unix/elfhack/elfhack.cpp ---- a/build/unix/elfhack/elfhack.cpp -+++ b/build/unix/elfhack/elfhack.cpp -@@ -1258,12 +1258,12 @@ - second->getAddr() < first_executable->getAddr()) { - // The distance between both sections needs to be preserved because - // eh_frame_hdr contains relative offsets to eh_frame. Well, they could be - // relocated too, but it's not worth the effort for the few number of bytes - // this would save. -- unsigned int distance = second->getAddr() - first->getAddr(); -- unsigned int origAddr = eh_frame->getAddr(); -+ Elf64_Off distance = second->getAddr() - first->getAddr(); -+ Elf64_Addr origAddr = eh_frame->getAddr(); - ElfSection* previous = first->getPrevious(); - first->getShdr().sh_addr = (previous->getAddr() + previous->getSize() + - first->getAddrAlign() - 1) & - ~(first->getAddrAlign() - 1); - second->getShdr().sh_addr = -diff --git a/build/unix/elfhack/elfxx.h b/build/unix/elfhack/elfxx.h ---- a/build/unix/elfhack/elfxx.h -+++ b/build/unix/elfhack/elfxx.h -@@ -283,11 +283,11 @@ - ~Elf(); - - /* index == -1 is treated as index == ehdr.e_shstrndx */ - ElfSection* getSection(int index); - -- ElfSection* getSectionAt(unsigned int offset); -+ ElfSection* getSectionAt(Elf64_Off offset); - - ElfSegment* getSegmentByType(unsigned int type, ElfSegment* last = nullptr); - - ElfDynamic_Section* getDynSection(); - -@@ -332,12 +332,12 @@ - virtual ~ElfSection() { free(data); } - - const char* getName() { return name; } - unsigned int getType() { return shdr.sh_type; } - unsigned int getFlags() { return shdr.sh_flags; } -- unsigned int getAddr(); -- unsigned int getSize() { return shdr.sh_size; } -+ Elf64_Addr getAddr(); -+ Elf64_Off getSize() { return shdr.sh_size; } - unsigned int getAddrAlign() { return shdr.sh_addralign; } - unsigned int getEntSize() { return shdr.sh_entsize; } - const char* getData() { return data; } - ElfSection* getLink() { return link; } - SectionInfo getInfo() { return info; } -@@ -356,11 +356,11 @@ - shdr.sh_size = newsize; - markDirty(); - } - } - -- unsigned int getOffset(); -+ Elf64_Off getOffset(); - int getIndex(); - Elf_Shdr& getShdr(); - - ElfSection* getNext() { return next; } - ElfSection* getPrevious() { return previous; } - diff --git a/firefox.spec b/firefox.spec index b11e31a..996c289 100644 --- a/firefox.spec +++ b/firefox.spec @@ -159,13 +159,13 @@ ExcludeArch: i686 Summary: Mozilla Firefox Web browser Name: firefox -Version: 115.0.2 -Release: 4%{?pre_tag}%{?dist} +Version: 116.0 +Release: 1%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20230717.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20230725.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source10: firefox-mozconfig @@ -234,7 +234,6 @@ Patch230: firefox-enable-vaapi.patch # Upstream patches Patch402: mozilla-1196777.patch Patch407: mozilla-1667096.patch -Patch408: D182447.diff # PGO/LTO patches Patch600: pgo.patch @@ -507,13 +506,12 @@ This package contains results of tests executed during build. %patch402 -p1 -b .1196777 %patch407 -p1 -b .1667096 -%patch408 -p1 -b .D182447 # PGO patches %if %{build_with_pgo} %if !%{build_with_clang} %patch600 -p1 -b .pgo -#%patch602 -p1 -b .1516803 +%patch602 -p1 -b .1516803 %endif %endif %patch603 -p1 -b .inline diff --git a/pgo.patch b/pgo.patch index 72c8b87..3932d34 100644 --- a/pgo.patch +++ b/pgo.patch @@ -1,7 +1,7 @@ -diff -up firefox-115.0.2/build/moz.configure/lto-pgo.configure.pgo firefox-115.0.2/build/moz.configure/lto-pgo.configure ---- firefox-115.0.2/build/moz.configure/lto-pgo.configure.pgo 2023-07-10 21:29:37.000000000 +0200 -+++ firefox-115.0.2/build/moz.configure/lto-pgo.configure 2023-07-17 12:14:11.504155850 +0200 -@@ -86,7 +86,7 @@ def pgo_flags(compiler, profdata, target +diff -up firefox-116.0/build/moz.configure/lto-pgo.configure.pgo firefox-116.0/build/moz.configure/lto-pgo.configure +--- firefox-116.0/build/moz.configure/lto-pgo.configure.pgo 2023-07-24 22:39:09.000000000 +0200 ++++ firefox-116.0/build/moz.configure/lto-pgo.configure 2023-07-25 10:58:24.992687495 +0200 +@@ -93,7 +93,7 @@ def pgo_flags(compiler, profdata, target return namespace( gen_cflags=["-fprofile-generate"], gen_ldflags=["-fprofile-generate"], @@ -10,9 +10,9 @@ diff -up firefox-115.0.2/build/moz.configure/lto-pgo.configure.pgo firefox-115.0 use_ldflags=["-fprofile-use"], ) -diff -up firefox-115.0.2/build/pgo/profileserver.py.pgo firefox-115.0.2/build/pgo/profileserver.py ---- firefox-115.0.2/build/pgo/profileserver.py.pgo 2023-07-10 21:29:38.000000000 +0200 -+++ firefox-115.0.2/build/pgo/profileserver.py 2023-07-17 12:14:11.503155816 +0200 +diff -up firefox-116.0/build/pgo/profileserver.py.pgo firefox-116.0/build/pgo/profileserver.py +--- firefox-116.0/build/pgo/profileserver.py.pgo 2023-07-24 22:39:09.000000000 +0200 ++++ firefox-116.0/build/pgo/profileserver.py 2023-07-25 10:58:24.992687495 +0200 @@ -11,7 +11,7 @@ import subprocess import sys @@ -48,9 +48,9 @@ diff -up firefox-115.0.2/build/pgo/profileserver.py.pgo firefox-115.0.2/build/pg with TemporaryDirectory() as profilePath: # TODO: refactor this into mozprofile -diff -up firefox-115.0.2/gfx/2d/moz.build.pgo firefox-115.0.2/gfx/2d/moz.build ---- firefox-115.0.2/gfx/2d/moz.build.pgo 2023-07-17 12:37:49.532499847 +0200 -+++ firefox-115.0.2/gfx/2d/moz.build 2023-07-17 12:38:16.378433587 +0200 +diff -up firefox-116.0/gfx/2d/moz.build.pgo firefox-116.0/gfx/2d/moz.build +--- firefox-116.0/gfx/2d/moz.build.pgo 2023-07-24 22:39:10.000000000 +0200 ++++ firefox-116.0/gfx/2d/moz.build 2023-07-25 10:58:24.992687495 +0200 @@ -136,11 +136,11 @@ if CONFIG["INTEL_ARCHITECTURE"]: # The file uses SSE2 intrinsics, so it needs special compile flags on some # compilers. @@ -65,43 +65,43 @@ diff -up firefox-115.0.2/gfx/2d/moz.build.pgo firefox-115.0.2/gfx/2d/moz.build SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"] SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"] SOURCES["ssse3-scaler.c"].flags += CONFIG["SSSE3_FLAGS"] -diff -up firefox-115.0.2/gfx/skia/generate_mozbuild.py.pgo firefox-115.0.2/gfx/skia/generate_mozbuild.py ---- firefox-115.0.2/gfx/skia/generate_mozbuild.py.pgo 2023-07-10 21:29:41.000000000 +0200 -+++ firefox-115.0.2/gfx/skia/generate_mozbuild.py 2023-07-17 12:35:46.651225829 +0200 +diff -up firefox-116.0/gfx/skia/generate_mozbuild.py.pgo firefox-116.0/gfx/skia/generate_mozbuild.py +--- firefox-116.0/gfx/skia/generate_mozbuild.py.pgo 2023-07-25 10:58:24.993687530 +0200 ++++ firefox-116.0/gfx/skia/generate_mozbuild.py 2023-07-25 10:59:43.428384144 +0200 @@ -54,10 +54,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind if CONFIG['INTEL_ARCHITECTURE']: - SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-mssse3'] - SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-msse4.2'] -- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-mavx'] -- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-mavx2', '-mf16c', '-mfma'] -+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-mavx', '-fno-lto'] -+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-mavx2', '-mf16c', '-mfma', '-fno-lto'] + SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3', '-mssse3'] + SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-Dskvx=skvx_sse42', '-msse4.2'] +- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx'] +- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma'] ++ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx', '-fno-lto'] ++ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto'] if not CONFIG["MOZ_CODE_COVERAGE"]: -- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl'] -+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto'] +- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl'] ++ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto'] elif CONFIG['CPU_ARCH'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang', 'gcc'): - SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-march=armv8-a+crc'] + SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-Dskvx=skvx_crc32', '-march=armv8-a+crc'] -diff -up firefox-115.0.2/gfx/skia/moz.build.pgo firefox-115.0.2/gfx/skia/moz.build ---- firefox-115.0.2/gfx/skia/moz.build.pgo 2023-07-10 21:29:41.000000000 +0200 -+++ firefox-115.0.2/gfx/skia/moz.build 2023-07-17 12:37:21.626529230 +0200 -@@ -565,10 +565,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind +diff -up firefox-116.0/gfx/skia/moz.build.pgo firefox-116.0/gfx/skia/moz.build +--- firefox-116.0/gfx/skia/moz.build.pgo 2023-07-25 10:58:24.993687530 +0200 ++++ firefox-116.0/gfx/skia/moz.build 2023-07-25 11:00:20.382652180 +0200 +@@ -564,10 +564,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind if CONFIG['INTEL_ARCHITECTURE']: - SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-mssse3'] - SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-msse4.2'] -- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-mavx'] -- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-mavx2', '-mf16c', '-mfma'] -+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-mavx', '-fno-lto'] -+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-mavx2', '-mf16c', '-mfma', '-fno-lto'] + SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += ['-Dskvx=skvx_ssse3', '-mssse3'] + SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += ['-Dskvx=skvx_sse42', '-msse4.2'] +- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx'] +- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma'] ++ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx', '-mavx', '-fno-lto'] ++ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma', '-fno-lto'] if not CONFIG["MOZ_CODE_COVERAGE"]: -- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl'] -+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto'] +- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl'] ++ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags += ['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw', '-mavx512vl', '-fno-lto'] elif CONFIG['CPU_ARCH'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang', 'gcc'): - SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-march=armv8-a+crc'] + SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags += ['-Dskvx=skvx_crc32', '-march=armv8-a+crc'] -diff -up firefox-115.0.2/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-115.0.2/toolkit/components/terminator/nsTerminator.cpp ---- firefox-115.0.2/toolkit/components/terminator/nsTerminator.cpp.pgo 2023-07-10 21:29:58.000000000 +0200 -+++ firefox-115.0.2/toolkit/components/terminator/nsTerminator.cpp 2023-07-17 12:14:11.503155816 +0200 +diff -up firefox-116.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-116.0/toolkit/components/terminator/nsTerminator.cpp +--- firefox-116.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2023-07-24 22:39:24.000000000 +0200 ++++ firefox-116.0/toolkit/components/terminator/nsTerminator.cpp 2023-07-25 10:58:24.993687530 +0200 @@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() { } #endif diff --git a/sources b/sources index f5f96cd..4218047 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563 SHA512 (mochitest-python.tar.gz) = 089b1593068b76f4572af0086eaccf52a6a1299bfffb58593206d19bf021ae381f2380bbfeb4371586cd53706ff6dde3d240238b2caf19b96c57dfc2f4524e36 -SHA512 (firefox-115.0.2.source.tar.xz) = de6ce8a2512e862c69a7d5c557d6168498d0d40e9c4b54b775f81c444e863a64c43130d57b51b360db4224c34b64a93f3ad263441caee713243b97750ec1eb4b -SHA512 (firefox-langpacks-115.0.2-20230717.tar.xz) = d29693aaaf741af4d55b404711f8d423ebaeb0344cd99ae7f724a7f97953193bf648a05ede1c342db5a12c4835d7dd00766ce0b6718966588f080b027a3e6e44 +SHA512 (firefox-116.0.source.tar.xz) = cf9738e954cc3f2b754ea26b08f93f6296aa0d002a35082404567341d53fe06f17b4faeb0a3fc64a8c782cf8184d6470f31d00d00d9d1bf5d8f5b12cbacc22b4 +SHA512 (firefox-langpacks-116.0-20230725.tar.xz) = 74c44f9dc6f3a9b7b7aa841e7f4c5774d7e2b9d0bdb738922bf675a4b413cf12e64274d594074e33cd499da2e50fe833a36d47ee91458b080b202c1b2dc6913c