1
0

- Mozilla Thunderbird 115.2.0

https://www.thunderbird.net/en-US/thunderbird/115.2.0/releasenotes
  MFSA 2023-38 (bsc#1214606)
  * CVE-2023-4573 (bmo#1846687)
    Memory corruption in IPC CanvasTranslator
  * CVE-2023-4574 (bmo#1846688)
    Memory corruption in IPC ColorPickerShownCallback
  * CVE-2023-4575 (bmo#1846689)
    Memory corruption in IPC FilePickerShownCallback
  * CVE-2023-4576 (bmo#1846694)
    Integer Overflow in RecordedSourceSurfaceCreation
  * CVE-2023-4577 (bmo#1847397)
    Memory corruption in JIT UpdateRegExpStatics
  * CVE-2023-4051 (bmo#1821884)
    Full screen notification obscured by file open dialog
  * CVE-2023-4578 (bmo#1839007)
    Error reporting methods in SpiderMonkey could have triggered
    an Out of Memory Exception
  * CVE-2023-4053 (bmo#1839079)
    Full screen notification obscured by external program
  * CVE-2023-4580 (bmo#1843046)
    Push notifications saved to disk unencrypted
  * CVE-2023-4581 (bmo#1843758)
    XLL file extensions were downloadable without warnings
  * CVE-2023-4582 (bmo#1773874)
    Buffer Overflow in WebGL glGetProgramiv
  * CVE-2023-4583 (bmo#1842030)
    Browsing Context potentially not cleared when closing Private
    Window
  * CVE-2023-4584 (bmo#1843968, bmo#1845205, bmo#1846080,

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=714
This commit is contained in:
Wolfgang Rosenauer 2023-08-31 07:59:41 +00:00 committed by Git OBS Bridge
parent da50d4ab72
commit 98a8bbee26
34 changed files with 1571 additions and 4513 deletions

View File

@ -1,8 +1,59 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 1 20:15:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org> Sun Aug 27 08:17:34 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Thunderbird 102.14.0 - Mozilla Thunderbird 115.2.0
MFSA 2023-32 (bsc#1213746) https://www.thunderbird.net/en-US/thunderbird/115.2.0/releasenotes
MFSA 2023-38 (bsc#1214606)
* CVE-2023-4573 (bmo#1846687)
Memory corruption in IPC CanvasTranslator
* CVE-2023-4574 (bmo#1846688)
Memory corruption in IPC ColorPickerShownCallback
* CVE-2023-4575 (bmo#1846689)
Memory corruption in IPC FilePickerShownCallback
* CVE-2023-4576 (bmo#1846694)
Integer Overflow in RecordedSourceSurfaceCreation
* CVE-2023-4577 (bmo#1847397)
Memory corruption in JIT UpdateRegExpStatics
* CVE-2023-4051 (bmo#1821884)
Full screen notification obscured by file open dialog
* CVE-2023-4578 (bmo#1839007)
Error reporting methods in SpiderMonkey could have triggered
an Out of Memory Exception
* CVE-2023-4053 (bmo#1839079)
Full screen notification obscured by external program
* CVE-2023-4580 (bmo#1843046)
Push notifications saved to disk unencrypted
* CVE-2023-4581 (bmo#1843758)
XLL file extensions were downloadable without warnings
* CVE-2023-4582 (bmo#1773874)
Buffer Overflow in WebGL glGetProgramiv
* CVE-2023-4583 (bmo#1842030)
Browsing Context potentially not cleared when closing Private
Window
* CVE-2023-4584 (bmo#1843968, bmo#1845205, bmo#1846080,
bmo#1846526, bmo#1847529)
Memory safety bugs fixed in Firefox 117, Firefox ESR 102.15,
Firefox ESR 115.2, Thunderbird 102.15, and Thunderbird 115.2
* CVE-2023-4585 (bmo#1751583, bmo#1833504, bmo#1841082,
bmo#1847904, bmo#1848999)
Memory safety bugs fixed in Firefox 117, Firefox ESR 115.2,
and Thunderbird 115.2
-------------------------------------------------------------------
Tue Aug 15 07:53:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Thunderbird 115.1.1
bugfixes as documented here
https://www.thunderbird.net/en-US/thunderbird/115.1.1/releasenotes
-------------------------------------------------------------------
Tue Aug 1 07:51:37 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Thunderbird 115.1.0
New major release with Supernova UI
Releasenotes for 115.0:
https://www.thunderbird.net/en-US/thunderbird/115.0/releasenotes
MFSA 2023-33 (bsc#1213746)
* CVE-2023-4045 (bmo#1833876) * CVE-2023-4045 (bmo#1833876)
Offscreen Canvas could have bypassed cross-origin restrictions Offscreen Canvas could have bypassed cross-origin restrictions
* CVE-2023-4046 (bmo#1837686) * CVE-2023-4046 (bmo#1837686)
@ -15,14 +66,29 @@ Tue Aug 1 20:15:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
Fix potential race conditions when releasing platform objects Fix potential race conditions when releasing platform objects
* CVE-2023-4050 (bmo#1843038) * CVE-2023-4050 (bmo#1843038)
Stack buffer overflow in StorageManager Stack buffer overflow in StorageManager
* CVE-2023-4052 (bmo#1824420)
File deletion and privilege escalation through Firefox uninstaller
* CVE-2023-4054 (bmo#1840777) * CVE-2023-4054 (bmo#1840777)
Lack of warning when opening appref-ms files Lack of warning when opening appref-ms files
* CVE-2023-4055 (bmo#1782561) * CVE-2023-4055 (bmo#1782561)
Cookie jar overflow caused unexpected cookie jar state Cookie jar overflow caused unexpected cookie jar state
* CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235, * CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235, bmo#1842325,
bmo#1842325, bmo#1843847) bmo#1843847)
Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1, Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1,
Firefox ESR 102.14, Thunderbird 115.1, and Thunderbird 102.14 Firefox ESR 102.14, Thunderbird 115.1, and Thunderbird 102.14
* CVE-2023-4057 (bmo#1841682)
Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1,
and Thunderbird 115.1
- requires NSS 3.90
- add patches:
mozilla-rust-disable-future-incompat.patch
mozilla-partial-revert-1768632.patch
- removed obsolete patches:
gcc13-fix.patch
mozilla-bmo1568145.patch
mozilla-bmo1005535.patch
mozilla-s390x-skia-gradient.patch
- update create-tar.sh
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 25 06:56:46 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org> Tue Jul 25 06:56:46 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>

View File

@ -2,7 +2,7 @@
# spec file # spec file
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2023 SUSE LLC
# 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org> # Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -27,11 +27,11 @@
# orig_version 70.0 # orig_version 70.0
# orig_suffix b3 # orig_suffix b3
# major 69 # major 69
# mainver %major.99 # mainver %%major.99
%define major 102 %define major 115
%define mainver %major.14.0 %define mainver %major.2.0
%define orig_version 102.14.0 %define orig_version 115.2.0
%define orig_suffix %{nil} %define orig_suffix %nil
%define update_channel release %define update_channel release
%define source_prefix thunderbird-%{orig_version} %define source_prefix thunderbird-%{orig_version}
@ -54,8 +54,9 @@
%ifarch %ix86 %ifarch %ix86
ExclusiveArch: i586 i686 ExclusiveArch: i586 i686
BuildArch: i686 BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic} %{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif %endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions # general build definitions
%define progname thunderbird %define progname thunderbird
@ -68,8 +69,12 @@ BuildArch: i686
%define __provides_exclude ^lib.*\\.so.*$ %define __provides_exclude ^lib.*\\.so.*$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$ %define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
%define localize 1 %define localize 1
%ifarch %ix86 x86_64
%define crashreporter 1
%else
%define crashreporter 0 %define crashreporter 0
%define with_pipewire0_3 1 %endif
%define with_pipewire0_3 1
%define wayland_supported 1 %define wayland_supported 1
%if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200 %if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200
# pipewire is too old on Leap <=15.1 # pipewire is too old on Leap <=15.1
@ -85,41 +90,33 @@ BuildRequires: autoconf213
BuildRequires: dbus-1-glib-devel BuildRequires: dbus-1-glib-devel
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: memory-constraints BuildRequires: memory-constraints
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
BuildRequires: gcc11-c++ BuildRequires: gcc12
BuildRequires: gcc12-c++
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 BuildRequires: cargo1.69
BuildRequires: cargo >= 1.59 BuildRequires: rust1.69
BuildRequires: rust >= 1.59
%else
# Newer sle/leap/tw use parallel versioned rust releases which have
# a different method for provides that we can use to request a
# specific version
# minimal requirement:
BuildRequires: rust+cargo >= 1.59
# actually used upstream:
BuildRequires: cargo1.67
BuildRequires: rust1.67
%endif
%if 0%{useccache} != 0 %if 0%{useccache} != 0
BuildRequires: ccache BuildRequires: ccache
%endif %endif
BuildRequires: libXcomposite-devel BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: mozilla-nspr-devel >= 4.34.1 BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.79.4 BuildRequires: mozilla-nss-devel >= 3.90
BuildRequires: nasm >= 2.14 BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 10.22.1 BuildRequires: nodejs >= 12.22.12
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 %if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150600
BuildRequires: python-libxml2 BuildRequires: python39
BuildRequires: python36 BuildRequires: python39-curses
BuildRequires: python39-devel
%else %else
BuildRequires: python3 >= 3.5 BuildRequires: python3 >= 3.7
BuildRequires: python3-curses
BuildRequires: python3-devel BuildRequires: python3-devel
%endif %endif
BuildRequires: rust-cbindgen >= 0.24.0 BuildRequires: rust-cbindgen >= 0.24.3
BuildRequires: unzip BuildRequires: unzip
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel BuildRequires: xorg-x11-libXt-devel
@ -131,11 +128,7 @@ BuildRequires: zip
%if 0%{?suse_version} < 1550 %if 0%{?suse_version} < 1550
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1 BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
%endif %endif
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
BuildRequires: clang6-devel
%else
BuildRequires: clang-devel >= 5 BuildRequires: clang-devel >= 5
%endif
BuildRequires: pkgconfig(glib-2.0) >= 2.22 BuildRequires: pkgconfig(glib-2.0) >= 2.22
BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
@ -177,36 +170,39 @@ Source2: thunderbird-rpmlintrc
Source3: mozilla.sh.in Source3: mozilla.sh.in
Source4: tar_stamps Source4: tar_stamps
Source6: suse-default-prefs.js Source6: suse-default-prefs.js
%if %{localize}
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
%endif
Source9: thunderbird.appdata.xml Source9: thunderbird.appdata.xml
Source13: spellcheck.js Source13: spellcheck.js
Source14: https://github.com/openSUSE/firefox-scripts/raw/9b77cf0/create-tar.sh Source14: https://github.com/openSUSE/firefox-scripts/raw/c3f287d/create-tar.sh
Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
# Gecko/Toolkit # Gecko/Toolkit
Patch1: mozilla-nongnome-proxies.patch Patch1: mozilla-nongnome-proxies.patch
%if %{with mozilla_tb_kde4}
Patch2: mozilla-kde.patch Patch2: mozilla-kde.patch
%endif
Patch3: mozilla-ntlm-full-path.patch Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-aarch64-startup-crash.patch Patch4: mozilla-aarch64-startup-crash.patch
Patch5: mozilla-fix-aarch64-libopus.patch Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch Patch8: mozilla-reduce-rust-debuginfo.patch
Patch9: mozilla-bmo1005535.patch Patch9: mozilla-bmo1504834-part1.patch
Patch10: mozilla-bmo1568145.patch Patch10: mozilla-bmo1504834-part3.patch
Patch11: mozilla-bmo1504834-part1.patch Patch11: mozilla-bmo1512162.patch
Patch12: mozilla-bmo1504834-part3.patch Patch12: mozilla-fix-top-level-asm.patch
Patch13: mozilla-bmo1512162.patch Patch13: mozilla-bmo849632.patch
Patch14: mozilla-fix-top-level-asm.patch Patch14: mozilla-bmo998749.patch
Patch15: mozilla-bmo849632.patch Patch15: mozilla-libavcodec58_91.patch
Patch16: mozilla-bmo998749.patch Patch16: mozilla-silence-no-return-type.patch
Patch17: mozilla-s390x-skia-gradient.patch Patch17: mozilla-bmo531915.patch
Patch18: mozilla-libavcodec58_91.patch Patch18: one_swizzle_to_rule_them_all.patch
Patch19: mozilla-silence-no-return-type.patch Patch19: svg-rendering.patch
Patch20: mozilla-bmo531915.patch Patch20: mozilla-partial-revert-1768632.patch
Patch21: one_swizzle_to_rule_them_all.patch Patch21: mozilla-bmo1775202.patch
Patch22: svg-rendering.patch Patch22: mozilla-rust-disable-future-incompat.patch
Patch23: gcc13-fix.patch
%endif %endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: /bin/sh PreReq: /bin/sh
@ -271,49 +267,18 @@ fi
%else %else
%setup -q -n %{srcname}-%{orig_version} %setup -q -n %{srcname}-%{orig_version}
%endif %endif
%patch1 -p1 cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
%if %{with mozilla_tb_kde4} %autopatch -p1
%patch2 -p1
%endif
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%endif %endif
%build %build
%if !%{with only_print_mozconfig} %if !%{with only_print_mozconfig}
# no need to add build time to binaries # no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{pkgname}.changes")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\"" TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
# SLE-12 provides python36, but that package does not provide a python3 binary
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
sed -i "s/python3/python36/g" configure.in
sed -i "s/python3/python36/g" mach
export PYTHON3=/usr/bin/python36
%endif
#
%if %{with mozilla_tb_kde4} %if %{with mozilla_tb_kde4}
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
if test "$kdehelperversion" != %{kde_helper_version}; then if test "$kdehelperversion" != %{kde_helper_version}; then
@ -322,73 +287,65 @@ if test "$kdehelperversion" != %{kde_helper_version}; then
fi fi
%endif %endif
source %{SOURCE4} # When doing only_print_mozconfig, this file isn't necessarily available, so skip it
cp %{SOURCE4} .obsenv.sh
%else
# We need to make sure its empty
echo "" > .obsenv.sh
%endif %endif
cat >> .obsenv.sh <<EOF
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG export MOZ_SOURCE_CHANGESET=\$RELEASE_TAG
export SOURCE_REPO=$RELEASE_REPO export SOURCE_REPO=\$RELEASE_REPO
export source_repo=$RELEASE_REPO export source_repo=\$RELEASE_REPO
export MOZ_SOURCE_REPO=$RELEASE_REPO export MOZ_SOURCE_REPO=\$RELEASE_REPO
export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP export MOZ_BUILD_DATE=\$RELEASE_TIMESTAMP
export MOZILLA_OFFICIAL=1 export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1 export BUILD_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1 export MOZ_TELEMETRY_REPORTING=1
export MOZ_REQUIRE_SIGNING= export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export MACH_USE_SYSTEM_PYTHON=1 export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
export CC=gcc-11 export CC=gcc-12
export CXX=g++-12
%else %else
%if 0%{?clang_build} == 0 %if 0%{?clang_build} == 0
export CC=gcc export CC=gcc
export CXX=g++ export CXX=g++
%if 0%{?gcc_version:%{gcc_version}} >= 12 %if 0%{?gcc_version:%{gcc_version}} >= 12
export CFLAGS="$CFLAGS -fimplicit-constexpr" export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif %endif
%endif %endif
%endif %endif
%ifarch %arm %ix86 %ifarch %arm %ix86
# Limit RAM usage during link # Limit RAM usage during link
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer # A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
%endif %endif
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now" export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
%ifarch ppc64 ppc64le %ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0 %if 0%{?clang_build} == 0
export CFLAGS="$CFLAGS -mminimal-toc" #export CFLAGS="\$CFLAGS -mminimal-toc"
%endif %endif
%endif %endif
export CXXFLAGS="$CFLAGS" %ifarch %ix86
# Not enough memory on 32-bit systems, reduce debug info.
export CFLAGS="\$CFLAGS -g1"
%endif
export CXXFLAGS="\$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
%if %{with only_print_mozconfig} EOF
echo "export CC=$CC" # Done with env-variables.
echo "export CXX=$CXX" source ./.obsenv.sh
echo "export CFLAGS=\"$CFLAGS\""
echo "export CXXFLAGS=\"$CXXFLAGS\"" %ifarch aarch64 %arm ppc64 ppc64le riscv64
echo "export LDFLAGS=\"$LDFLAGS\""
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
echo "export CARGO_HOME=\"$CARGO_HOME\""
echo "export PATH=\"$PATH\""
echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\""
echo "export MOZCONFIG=\"$MOZCONFIG\""
echo "export MOZILLA_OFFICIAL=1"
echo "export BUILD_OFFICIAL=1"
echo "export MOZ_TELEMETRY_REPORTING=1"
echo "export MOZ_REQUIRE_SIGNING="
echo ""
cat << EOF
%else
%ifarch aarch64 ppc64 ppc64le
%limit_build -m 2500 %limit_build -m 2500
%else
%limit_build -m 2000
%endif %endif
# TODO: Check if this can be removed
#export MOZ_DEBUG_FLAGS="-pipe" # Generating mozconfig
cat << EOF > $MOZCONFIG cat << EOF > $MOZCONFIG
%endif
mk_add_options MOZILLA_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
@ -412,16 +369,19 @@ ac_add_options --enable-debug-symbols=-g1
%endif %endif
ac_add_options --disable-install-strip ac_add_options --disable-install-strip
# building with elf-hack started to fail everywhere with FF73 # building with elf-hack started to fail everywhere with FF73
#%if 0%{?suse_version} > 1549 #%%if 0%%{?suse_version} > 1549
%ifnarch aarch64 ppc64 ppc64le s390x %ifarch %arm %ix86 x86_64
ac_add_options --disable-elf-hack ac_add_options --disable-elf-hack
%endif %endif
#%endif #%%endif
ac_add_options --with-system-nspr ac_add_options --with-system-nspr
ac_add_options --with-system-nss ac_add_options --with-system-nss
%if 0%{useccache} != 0 %if 0%{useccache} != 0
ac_add_options --with-ccache ac_add_options --with-ccache
%endif %endif
%if %{localize}
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
%endif
ac_add_options --with-system-zlib ac_add_options --with-system-zlib
ac_add_options --disable-updater ac_add_options --disable-updater
ac_add_options --disable-tests ac_add_options --disable-tests
@ -456,7 +416,7 @@ ac_add_options --enable-optimize="-O1"
%ifarch x86_64 %ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506) # LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500 %if 0%{?suse_version} > 1500
ac_add_options --enable-lto #ac_add_options --enable-lto
%if 0%{?do_profiling} %if 0%{?do_profiling}
ac_add_options MOZ_PGO=1 ac_add_options MOZ_PGO=1
%endif %endif
@ -467,7 +427,12 @@ ac_add_options --enable-valgrind
%endif %endif
%endif %endif
EOF EOF
%if !%{with only_print_mozconfig}
%if %{with only_print_mozconfig}
cat ./.obsenv.sh
cat $MOZCONFIG
%else
%if 0%{useccache} != 0 %if 0%{useccache} != 0
ccache -s ccache -s
%endif %endif
@ -491,15 +456,21 @@ mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj_LANG mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj_LANG
ac_add_options --enable-application=comm/mail ac_add_options --enable-application=comm/mail
ac_add_options --prefix=%{_prefix} ac_add_options --prefix=%{_prefix}
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
ac_add_options --disable-updater ac_add_options --disable-updater
ac_add_options --without-wasm-sandboxed-libraries ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --enable-official-branding ac_add_options --enable-official-branding
EOF EOF
%ifarch %ix86
%define njobs 1
%else
%define njobs 0%{?jobs:%jobs}
%endif
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/ mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \ sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
| xargs -n 1 %{?jobs:-P %jobs} -I {} /bin/sh -c ' | xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
locale=$1 locale=$1
cp ${MOZCONFIG}_LANG ${MOZCONFIG}_$locale cp ${MOZCONFIG}_LANG ${MOZCONFIG}_$locale
sed -i "s|obj_LANG|obj_$locale|" ${MOZCONFIG}_$locale sed -i "s|obj_LANG|obj_$locale|" ${MOZCONFIG}_$locale
@ -518,6 +489,7 @@ sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/m
>> %{_tmppath}/translations.$_l10ntarget >> %{_tmppath}/translations.$_l10ntarget
' -- {} ' -- {}
%endif %endif
%if 0%{useccache} != 0 %if 0%{useccache} != 0
ccache -s ccache -s
%endif %endif
@ -531,7 +503,7 @@ export MOZ_SOURCE_REPO=$RELEASE_REPO
make -C comm/mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 make -C comm/mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
# copy tree into RPM_BUILD_ROOT # copy tree into RPM_BUILD_ROOT
mkdir -p %{buildroot}%{progdir} mkdir -p %{buildroot}%{progdir}
cp -rf $RPM_BUILD_DIR/obj/dist/%{progname}/* %{buildroot}%{progdir} cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
mkdir -p %{buildroot}%{progdir}/extensions mkdir -p %{buildroot}%{progdir}/extensions
cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/extensions/ cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/extensions/
@ -581,10 +553,10 @@ EOF
mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/ mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/
cp %{_builddir}/%{source_prefix}/comm/mail/branding/thunderbird/TB-symbolic.svg \ cp %{_builddir}/%{source_prefix}/comm/mail/branding/thunderbird/TB-symbolic.svg \
%{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg
for size in 16 22 24 32 48 64 128; do for size in 16 22 24 32 48 64 128 256; do
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/ mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/
cp %{buildroot}%{progdir}/chrome/icons/default/default$size.png \ cp %{buildroot}%{progdir}/chrome/icons/default/default$size.png \
%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/%{progname}.png %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
done done
# excluded files # excluded files
rm -f %{buildroot}%{progdir}/thunderbird rm -f %{buildroot}%{progdir}/thunderbird
@ -602,13 +574,16 @@ rm -f %{buildroot}%{progdir}/nspr-config
%fdupes %{buildroot}%{_datadir} %fdupes %{buildroot}%{_datadir}
%post %post
# update mime and desktop database
%mime_database_post
%desktop_database_post %desktop_database_post
%icon_theme_cache_post %icon_theme_cache_post
exit 0 exit 0
%postun %postun
%desktop_database_postun
%icon_theme_cache_postun %icon_theme_cache_postun
%desktop_database_postun
%mime_database_postun
exit 0 exit 0
%files %files
@ -617,9 +592,13 @@ exit 0
%dir %{progdir} %dir %{progdir}
%{progdir}/application.ini %{progdir}/application.ini
%{progdir}/dependentlibs.list %{progdir}/dependentlibs.list
%{progdir}/fonts/
%{progdir}/*.so %{progdir}/*.so
%{progdir}/glxtest
%if 0%{wayland_supported}
%{progdir}/vaapitest
%endif
%{progdir}/omni.ja %{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/pingsender %{progdir}/pingsender
%{progdir}/platform.ini %{progdir}/platform.ini
%{progdir}/plugin-container %{progdir}/plugin-container
@ -630,8 +609,8 @@ exit 0
%if %crashreporter %if %crashreporter
%{progdir}/crashreporter %{progdir}/crashreporter
%{progdir}/crashreporter.ini %{progdir}/crashreporter.ini
%{progdir}/minidump-analyzer
%{progdir}/Throbber-small.gif %{progdir}/Throbber-small.gif
%{progdir}/minidump-analyzer
%endif %endif
%dir %{progdir}/chrome/ %dir %{progdir}/chrome/
%{progdir}/chrome/icons/ %{progdir}/chrome/icons/

View File

@ -78,6 +78,9 @@ function set_internal_variables() {
SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz" SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
PREV_SOURCE_TARBALL="$PRODUCT-$PREV_VERSION$PREV_VERSION_SUFFIX.source.tar.xz" PREV_SOURCE_TARBALL="$PRODUCT-$PREV_VERSION$PREV_VERSION_SUFFIX.source.tar.xz"
if [ "$PRODUCT" = "thunderbird" ]; then
TB_LOCALE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.strings_all.tar.zst"
fi
FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source" FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates" FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates"
LOCALES_URL="https://product-details.mozilla.org/1.0/l10n" LOCALES_URL="https://product-details.mozilla.org/1.0/l10n"
@ -302,10 +305,18 @@ function check_what_to_do_with_source_tarballs() {
printf "%-40s: %s\n" "$ff" "$(check_tarball_source $ff)" printf "%-40s: %s\n" "$ff" "$(check_tarball_source $ff)"
done done
if [ "$PRODUCT" = "thunderbird" ]; then
printf "%-40s: %s\n" "$TB_LOCALE_TARBALL" "$(check_tarball_source $TB_LOCALE_TARBALL)"
fi
ask_cont_abort_question "Is this ok?" || exit 0 ask_cont_abort_question "Is this ok?" || exit 0
} }
function check_what_to_do_with_locales_tarballs() { function check_what_to_do_with_locales_tarballs() {
if [ -e "$TB_LOCALE_TARBALL" ]; then
return;
fi
LOCALES_CHANGED=1 LOCALES_CHANGED=1
extract_locales_file extract_locales_file
@ -364,6 +375,10 @@ function download_upstream_source_tarballs() {
download_release_or_candidate_file "$SOURCE_TARBALL" download_release_or_candidate_file "$SOURCE_TARBALL"
download_release_or_candidate_file "$SOURCE_TARBALL.asc" download_release_or_candidate_file "$SOURCE_TARBALL.asc"
if [ "$PRODUCT" = "thunderbird" ]; then
download_release_or_candidate_file "$TB_LOCALE_TARBALL"
fi
# we might have an upstream archive already and can skip the checkout # we might have an upstream archive already and can skip the checkout
if [ -e "$SOURCE_TARBALL" ]; then if [ -e "$SOURCE_TARBALL" ]; then
get_source_stamp "$BUILD_ID" get_source_stamp "$BUILD_ID"
@ -447,13 +462,18 @@ function create_locales_tarballs() {
exit 0 exit 0
fi fi
if [ "$LOCALES_CHANGED" -ne 0 ]; then if [ -e "$TB_LOCALE_TARBALL" ]; then
clone_and_repackage_locales echo "Repackaging upstream lang-tarball."
elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then zstd -dcf "$TB_LOCALE_TARBALL" | xz > "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
# Locales did not change, but the old tar-ball is in this directory else
# Simply rename it: if [ "$LOCALES_CHANGED" -ne 0 ]; then
echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz" clone_and_repackage_locales
mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz" elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
# Locales did not change, but the old tar-ball is in this directory
# Simply rename it:
echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz"
mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
fi
fi fi
} }
@ -537,6 +557,13 @@ function clean_up_old_tarballs() {
rm "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" rm "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz"
fi fi
fi fi
# If we downloaded the upstream zstd-tarball and repackaged it, remove it now
if [ -f "$TB_LOCALE_TARBALL" ] && [ -f "l10n-$VERSION$VERSION_SUFFIX.tar.xz" ]; then
echo ""
echo "Deleting old sources tarball $TB_LOCALE_TARBALL"
ask_cont_abort_question "Is this ok?" || exit 0
rm "$TB_LOCALE_TARBALL"
fi
} }
main "$@" main "$@"

View File

@ -1,176 +0,0 @@
diff --git a/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp b/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
index 8c8a0369c3..01a1a1d817 100644
--- a/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
+++ b/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
@@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <string>
+#include <cstdint>
#include "sdp/RsdparsaSdpInc.h"
#include "sdp/RsdparsaSdpGlue.h"
diff --git a/gfx/2d/Rect.h b/gfx/2d/Rect.h
index 4875ad6714..f52437bbdc 100644
--- a/gfx/2d/Rect.h
+++ b/gfx/2d/Rect.h
@@ -15,6 +15,7 @@
#include "mozilla/Maybe.h"
#include <cmath>
+#include <cstdint>
namespace mozilla {
diff --git a/toolkit/components/telemetry/pingsender/pingsender.cpp b/toolkit/components/telemetry/pingsender/pingsender.cpp
index 01fdb63c29..a61b9d3693 100644
--- a/toolkit/components/telemetry/pingsender/pingsender.cpp
+++ b/toolkit/components/telemetry/pingsender/pingsender.cpp
@@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include <cstdlib>
+#include <cstdint>
#include <cstring>
#include <ctime>
#include <fstream>
diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp
index bd20110f12..08e38d6938 100644
--- a/tools/profiler/core/platform.cpp
+++ b/tools/profiler/core/platform.cpp
@@ -1106,7 +1106,7 @@ class ActivePS {
continue;
}
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
- offThreadRef.LockedRWFromAnyThread();
+ offThreadRef.GetLockedRWFromAnyThread();
MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{
profiledThreadData->Info().RegisterTime(),
lockedThreadData->GetJSContext(), profiledThreadData}));
@@ -4050,7 +4050,7 @@ void SamplerThread::Run() {
if (threadStackSampling) {
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
- lockedThreadData = offThreadRef.LockedRWFromAnyThread();
+ lockedThreadData = offThreadRef.GetLockedRWFromAnyThread();
// Suspend the thread and collect its stack data in the local
// buffer.
mSampler.SuspendAndSampleAndResumeThread(
@@ -4764,7 +4764,7 @@ static ProfilingStack* locked_register_thread(
aLock, aOffThreadRef.UnlockedConstReaderCRef().Info());
if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
- lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread();
+ lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread();
ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
aLock, MakeUnique<ProfiledThreadData>(
@@ -5629,7 +5629,7 @@ static void locked_profiler_start(PSLockRef aLock, PowerOfTwo32 aCapacity,
ActivePS::ProfilingFeaturesForThread(aLock, info);
if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
- offThreadRef.LockedRWFromAnyThread();
+ offThreadRef.GetLockedRWFromAnyThread();
ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
aLock, MakeUnique<ProfiledThreadData>(info));
lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures,
@@ -5853,7 +5853,7 @@ void profiler_ensure_started(PowerOfTwo32 aCapacity, double aInterval,
}
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
- offThreadRef.LockedRWFromAnyThread();
+ offThreadRef.GetLockedRWFromAnyThread();
lockedThreadData->ClearProfilingFeaturesAndData(aLock);
@@ -6196,7 +6196,7 @@ static void locked_unregister_thread(
// thread that is in the process of disappearing.
ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
- aOnThreadRef.LockedRWOnThread();
+ aOnThreadRef.GetLockedRWOnThread();
ProfiledThreadData* profiledThreadData =
lockedThreadData->GetProfiledThreadData(lock);
@@ -6717,7 +6717,7 @@ void profiler_clear_js_context() {
// The profiler mutex must be locked before the ThreadRegistration's.
PSAutoLock lock;
ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
- aOnThreadRef.LockedRWOnThread();
+ aOnThreadRef.GetLockedRWOnThread();
if (ProfiledThreadData* profiledThreadData =
lockedThreadData->GetProfiledThreadData(lock);
diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h
index fafe06e446..3fb931987d 100644
--- a/tools/profiler/public/ProfilerThreadRegistration.h
+++ b/tools/profiler/public/ProfilerThreadRegistration.h
@@ -214,14 +214,14 @@ class ThreadRegistration {
DataLock mDataLock;
};
- [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() {
+ [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() {
return RWOnThreadWithLock{mThreadRegistration->mData,
mThreadRegistration->mDataMutex};
}
template <typename F>
auto WithLockedRWOnThread(F&& aF) {
- RWOnThreadWithLock lockedData = LockedRWOnThread();
+ RWOnThreadWithLock lockedData = GetLockedRWOnThread();
return std::forward<F>(aF)(lockedData.DataRef());
}
diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h
index 76e0c0a78a..4d0fd3ef68 100644
--- a/tools/profiler/public/ProfilerThreadRegistry.h
+++ b/tools/profiler/public/ProfilerThreadRegistry.h
@@ -177,14 +177,14 @@ class ThreadRegistry {
ThreadRegistration::DataLock mDataLock;
};
- [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() {
+ [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() {
return RWFromAnyThreadWithLock{mThreadRegistration->mData,
mThreadRegistration->mDataMutex};
}
template <typename F>
auto WithLockedRWFromAnyThread(F&& aF) {
- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread();
+ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread();
return std::forward<F>(aF)(lockedData.DataRef());
}
diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp
index fd0d4d2acc..c9882cb5d3 100644
--- a/tools/profiler/tests/gtest/GeckoProfiler.cpp
+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp
@@ -621,7 +621,7 @@ TEST(GeckoProfiler, ThreadRegistration_DataAccess)
EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
{
TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock =
- aOnThreadRef.LockedRWOnThread();
+ aOnThreadRef.GetLockedRWOnThread();
EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(),
beforeRegistration, afterRegistration,
@@ -1020,7 +1020,7 @@ TEST(GeckoProfiler, ThreadRegistry_DataAccess)
EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
{
TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
- aOffThreadRef.LockedRWFromAnyThread();
+ aOffThreadRef.GetLockedRWFromAnyThread();
if (profiler_current_thread_id() == testThreadId) {
EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
}
@@ -1157,7 +1157,7 @@ TEST(GeckoProfiler, ThreadRegistration_RegistrationEdgeCases)
PR_Sleep(PR_MillisecondsToInterval(1));
}
TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
- aOffThreadRef.LockedRWFromAnyThread();
+ aOffThreadRef.GetLockedRWFromAnyThread();
++otherThreadReads;
if (otherThreadReads % 1000 == 0) {
PR_Sleep(PR_MillisecondsToInterval(1));

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f10fca8ebcb416a90e1c31917e1401520c93be6e45f828782cee3ea7862ab8b9
size 35799724

3
l10n-115.2.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e385c4dbcade40b6e68b17d67261c0a5af7623d1b8cf07202117e621c4e0011
size 27900160

View File

@ -3,19 +3,14 @@
# Date 1558442998 -7200 # Date 1558442998 -7200
# Tue May 21 14:49:58 2019 +0200 # Tue May 21 14:49:58 2019 +0200
# Node ID 386083b58d8558141901d796ec6919a4aba7ad3a # Node ID 386083b58d8558141901d796ec6919a4aba7ad3a
# Parent a30a9b9aae5740f096a16118ed9e4bc45d3d1c35 # Parent 76b747f7d113bddbb8593184d81e1bfe5fd51af0
bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage
bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal() bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal()
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
--- a/netwerk/base/nsIOService.cpp --- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp +++ b/netwerk/base/nsIOService.cpp
@@ -1032,17 +1032,23 @@ nsresult nsIOService::NewChannelFromURIW @@ -1159,7 +1159,13 @@ nsresult nsIOService::NewChannelFromURIW
"doesn't support nsIUploadChannel2. An extension has "
"supplied a non-functional http protocol handler. This will "
"break behavior and in future releases not work at all.");
}
gHasWarnedUploadChannel2 = true;
} }
} }
@ -29,8 +24,3 @@ diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
nsIOService::NewChannelFromURIWithProxyFlags(
nsIURI* aURI, nsIURI* aProxyURI, uint32_t aProxyFlags,
nsINode* aLoadingNode, nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal, uint32_t aSecurityFlags,

View File

@ -1,30 +0,0 @@
# HG changeset patch
# User Steve Singer <steve@ssinger.info>
# Date 1558451540 -7200
# Tue May 21 17:12:20 2019 +0200
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
# Parent c0fdccc716e80a6d289c94f5d507ae141c62a3bf
Bug 1005535 - Get skia GPU building on big endian.
diff --git a/gfx/skia/skia/src/gpu/GrColor.h b/gfx/skia/skia/src/gpu/GrColor.h
--- a/gfx/skia/skia/src/gpu/GrColor.h
+++ b/gfx/skia/skia/src/gpu/GrColor.h
@@ -59,17 +59,17 @@ static inline GrColor GrColorPackRGBA(un
#define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF)
#define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF)
#define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF)
/**
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
*/
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
static inline float GrNormalizeByteToFloat(uint8_t value) {
static const float ONE_OVER_255 = 1.f / 255.f;
return value * ONE_OVER_255;
}
/** Used to pick vertex attribute types. */

View File

@ -1,43 +1,34 @@
# HG changeset patch # HG changeset patch
# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a # Parent 9fcbd287056a40084b1e679f787bf683b291f323
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp --- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp +++ b/gfx/2d/DrawTargetSkia.cpp
@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co @@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
}
return surfaceBounds.Intersect(bounds);
} }
-static const int kARGBAlphaOffset = static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; - SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; + 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 ==
+ // SurfaceFormat::B8G8R8A8 ? 3 : 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) { const int32_t aStride, SurfaceFormat aFormat) {
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
return true;
}
// We should've initialized the data to be opaque already
// On debug builds, verify that this is actually true.
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h --- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h +++ b/gfx/2d/Types.h
@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t { @@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
Depth,
// This represents the unknown format. // This represents the unknown format.
UNKNOWN, UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
// The following values are endian-independent synonyms. The _UINT32 suffix -// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t -// indicates that the name reflects the layout when viewed as a uint32_t
// value. -// value.
-#if MOZ_LITTLE_ENDIAN() -#if MOZ_LITTLE_ENDIAN()
+ // The following values are endian-independent synonyms. The _UINT32 suffix
+ // indicates that the name reflects the layout when viewed as a uint32_t
+ // value.
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN() -#elif MOZ_BIG_ENDIAN()
@ -49,20 +40,10 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
// The following values are OS and endian-independent synonyms. // The following values are OS and endian-independent synonyms.
// //
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms. --- a/gfx/skia/skia/modules/skcms/skcms.cc
OS_RGBA = A8R8G8B8_UINT32, +++ b/gfx/skia/skia/modules/skcms/skcms.cc
OS_RGBX = X8R8G8B8_UINT32 @@ -30,6 +30,8 @@
};
diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
--- a/gfx/skia/skia/third_party/skcms/skcms.cc
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
@@ -25,16 +25,18 @@
// it'd be a lot slower. But we want all those headers included so we
// can use their features after runtime checks later.
#include <smmintrin.h>
#include <avxintrin.h>
#include <avx2intrin.h>
#include <avx512fintrin.h> #include <avx512fintrin.h>
#include <avx512dqintrin.h> #include <avx512dqintrin.h>
#endif #endif
@ -70,30 +51,21 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
+ #define SKCMS_PORTABLE + #define SKCMS_PORTABLE
#endif #endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. static bool runtime_cpu_detection = true;
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit. @@ -324,20 +326,28 @@ enum {
//
// Please do not use sizeof() directly, and size_t only when required.
// (We have no way of enforcing these requests...)
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
@@ -275,30 +277,38 @@ enum {
skcms_Signature_sf32 = 0x73663332,
// XYZ is also a PCS signature, so it's defined in skcms.h
// skcms_Signature_XYZ = 0x58595A20,
};
static uint16_t read_big_u16(const uint8_t* ptr) { static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be; uint16_t be;
memcpy(&be, ptr, sizeof(be)); memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER) -#if defined(_MSC_VER)
- return _byteswap_ushort(be);
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be; + return be;
+#else #else
- return __builtin_bswap16(be);
+ #if defined(_MSC_VER) + #if defined(_MSC_VER)
return _byteswap_ushort(be); + return _byteswap_ushort(be);
-#else
+ #else + #else
return __builtin_bswap16(be); + return __builtin_bswap16(be);
+ #endif + #endif
#endif #endif
} }
@ -102,20 +74,16 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
uint32_t be; uint32_t be;
memcpy(&be, ptr, sizeof(be)); memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER) -#if defined(_MSC_VER)
- return _byteswap_ulong(be);
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__ +#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be; + return be;
+#else #else
- return __builtin_bswap32(be);
+ #if defined(_MSC_VER) + #if defined(_MSC_VER)
return _byteswap_ulong(be); + return _byteswap_ulong(be);
-#else
+ #else + #else
return __builtin_bswap32(be); + return __builtin_bswap32(be);
+ #endif + #endif
#endif #endif
} }
static int32_t read_big_i32(const uint8_t* ptr) {
return (int32_t)read_big_u32(ptr);
}
static float read_big_fixed(const uint8_t* ptr) {

View File

@ -1,64 +1,17 @@
# HG changeset patch # HG changeset patch
# Parent d1d66f7e4d0e7fd45e91e4fcee07555e72046d48 # Parent 09cd4ac2cc607e85aa572425b824fbab386af607
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white). right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff --git a/gfx/skia/skia/include/private/SkNx.h b/gfx/skia/skia/include/private/SkNx.h
--- a/gfx/skia/skia/include/private/SkNx.h
+++ b/gfx/skia/skia/include/private/SkNx.h
@@ -233,17 +233,28 @@ struct SkNx<1,T> {
AI SkNx operator<<(int bits) const { return fVal << bits; }
AI SkNx operator>>(int bits) const { return fVal >> bits; }
AI SkNx operator+(const SkNx& y) const { return fVal + y.fVal; }
AI SkNx operator-(const SkNx& y) const { return fVal - y.fVal; }
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
+ // On Big endian the commented out variant doesn't work,
+ // and honestly, I have no idea why it exists in the first place.
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
+ // cutting off the wrong half again.
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
+#ifdef SK_CPU_BENDIAN
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
+#else
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+#endif
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
AI SkNx operator==(const SkNx& y) const { return FromBits(fVal == y.fVal ? ~0 : 0); }
AI SkNx operator!=(const SkNx& y) const { return FromBits(fVal != y.fVal ? ~0 : 0); }
AI SkNx operator<=(const SkNx& y) const { return FromBits(fVal <= y.fVal ? ~0 : 0); }
AI SkNx operator>=(const SkNx& y) const { return FromBits(fVal >= y.fVal ? ~0 : 0); }
AI SkNx operator< (const SkNx& y) const { return FromBits(fVal < y.fVal ? ~0 : 0); }
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h --- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
@@ -198,17 +198,23 @@ namespace SK_OPTS_NS { @@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
const SkAlpha* mask, size_t maskRB,
int w, int h) {
auto fn = [](const Sk4px& d, const Sk4px& aa) {
// = (s + d(1-sa))aa + d(1-aa)
// = s*aa + d(1-sa*aa)
// ~~~> // ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa) // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa) // c = 0*aa + d(1-1*aa) = d(1-aa)
+ + // TODO: Check this for endian-issues!
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0 + // Do we need to switch 255 to the front for all of those tuples?
+#ifdef SK_CPU_BENDIAN return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
+#else
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
+#endif
+ d.approxMulDiv255(aa.inv()); + d.approxMulDiv255(aa.inv());
}; };
while (h --> 0) {
Sk4px::MapDstAlpha(w, dst, mask, fn);
dst += dstRB / sizeof(*dst);
mask += maskRB / sizeof(*mask);
}
}

View File

@ -3,15 +3,11 @@
This fixes a broken build for gcc < 9 on ppc64le. This fixes a broken build for gcc < 9 on ppc64le.
This patch can be removed for newer gcc-versions. This patch can be removed for newer gcc-versions.
diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp ===================================================================
+++ b/js/xpconnect/src/XPCWrappedNative.cpp --- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
@@ -1072,17 +1072,21 @@ class MOZ_STACK_CLASS CallMethodHelper f +++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
uint32_t* result); @@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type,
nsID* result) const;
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex, MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const; MutableHandleValue srcp) const;
@ -24,17 +20,7 @@ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrapped
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath(); MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
nsXPTCVariant* GetDispatchParam(uint8_t paramIndex) { @@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
if (paramIndex >= mJSContextIndex) {
paramIndex += 1;
}
if (paramIndex >= mOptArgcIndex) {
@@ -1119,17 +1123,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
{
// Success checked later.
mIFaceInfo->GetMethodInfo(mVTableIndex, &mMethodInfo);
}
~CallMethodHelper(); ~CallMethodHelper();
@ -47,8 +33,3 @@ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrapped
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>. // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc); void trace(JSTracer* aTrc);
};
// static
bool XPCWrappedNative::CallMethod(XPCCallContext& ccx,
CallMode mode /*= CALL_METHOD */) {

View File

@ -1,49 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2019-07-22
Allow to override build date with SOURCE_DATE_EPOCH
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
@@ -11,16 +11,17 @@
from __future__ import absolute_import, print_function, unicode_literals
import argparse
import sys
import os
import json
import io
import datetime
+import time
import requests
import mozversioncontrol
import mozpack.path as mozpath
from mozpack.chrome.manifest import (
Manifest,
ManifestLocale,
parse_manifest,
)
@@ -100,17 +101,17 @@ def get_dt_from_hg(path):
# ts == "20170914215617"
###
def get_timestamp_for_locale(path):
dt = None
if os.path.isdir(os.path.join(path, ".hg")):
dt = get_dt_from_hg(path)
if dt is None:
- dt = datetime.datetime.utcnow()
+ dt = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
dt = dt.replace(microsecond=0)
return dt.strftime("%Y%m%d%H%M%S")
###
# Parses multiple defines files into a single key-value pair object.
#

26
mozilla-bmo1775202.patch Normal file
View File

@ -0,0 +1,26 @@
From: Mike Hommey <mh@glandium.org>
Date: Sun, 14 Aug 2022 07:01:33 +0900
Subject: Work around bz#1775202 to fix FTBFS on ppc64el
---
third_party/libwebrtc/moz.build | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/third_party/libwebrtc/moz.build b/third_party/libwebrtc/moz.build
index 976cf373..311519c 100644
--- a/third_party/libwebrtc/moz.build
+++ b/third_party/libwebrtc/moz.build
@@ -566,6 +566,13 @@ if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
"/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
]
+if CONFIG["CPU_ARCH"] == "ppc64" and CONFIG["OS_TARGET"] == "Linux":
+
+ DIRS += [
+ "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
+ "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
+ ]
+
if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
DIRS += [

View File

@ -1,13 +1,13 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 7332dfc4c47d73f1b88850b7727d33096d68e329 # Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
--- a/modules/fdlibm/src/math_private.h --- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h +++ b/modules/fdlibm/src/math_private.h
@@ -25,17 +25,21 @@ @@ -25,19 +25,24 @@
#include "mozilla/EndianUtils.h" #include "fdlibm.h"
/* /*
* Emulate FreeBSD internal double types. * Emulate FreeBSD internal double types.
@ -16,10 +16,13 @@ diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private
+#ifdef __i386__ +#ifdef __i386__
+typedef long double __double_t; +typedef long double __double_t;
+typedef long double __float_t;
+#else +#else
typedef double __double_t; typedef double __double_t;
+typedef float __float_t;
+#endif +#endif
typedef __double_t double_t; typedef __double_t double_t;
-typedef float __float_t;
/* /*
* The original fdlibm code used statements like: * The original fdlibm code used statements like:
@ -27,3 +30,4 @@ diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private
* ix0 = *(n0+(int*)&x); * high word of x * * ix0 = *(n0+(int*)&x); * high word of x *
* ix1 = *((1-n0)+(int*)&x); * low word of x * * ix1 = *((1-n0)+(int*)&x); * low word of x *
* to dig two 32 bit words out of the 64 bit IEEE floating point * to dig two 32 bit words out of the 64 bit IEEE floating point
* value. That is non-ANSI, and, moreover, the gcc instruction

View File

@ -6,15 +6,11 @@ Solution: Problem is with skia once again. Output of webgl seems endian-correct,
So we swizzle the output of webgl after reading it from readpixels() So we swizzle the output of webgl after reading it from readpixels()
Note: This does not fix all webGL sites, but is a step in the right direction Note: This does not fix all webGL sites, but is a step in the right direction
diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h Index: firefox-115.0/gfx/gl/GLContext.h
--- a/gfx/gl/GLContext.h ===================================================================
+++ b/gfx/gl/GLContext.h --- firefox-115.0.orig/gfx/gl/GLContext.h
@@ -1548,16 +1548,23 @@ class GLContext : public GenericAtomicRe +++ firefox-115.0/gfx/gl/GLContext.h
AFTER_GL_CALL; @@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
}
void raw_fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type, GLvoid* pixels) {
BEFORE_GL_CALL; BEFORE_GL_CALL;
mSymbols.fReadPixels(x, y, width, height, format, type, pixels); mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
OnSyncCall(); OnSyncCall();
@ -28,8 +24,3 @@ diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h
AFTER_GL_CALL; AFTER_GL_CALL;
mHeavyGLCallsSinceLastFlush = true; mHeavyGLCallsSinceLastFlush = true;
} }
void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type, GLvoid* pixels);
public:

View File

@ -1,15 +1,10 @@
# HG changeset patch # HG changeset patch
# Parent 2640f2f68373b7bec776bb11d3b3fb75c72a8adb # Parent af2c24874d79cbebb444727ae96f2fefa3f22b47
diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
--- a/media/libopus/silk/arm/arm_silk_map.c --- a/media/libopus/silk/arm/arm_silk_map.c
+++ b/media/libopus/silk/arm/arm_silk_map.c +++ b/media/libopus/silk/arm/arm_silk_map.c
@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY @@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
***********************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h" # include "config.h"
#endif #endif
@ -18,8 +13,3 @@ diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_
#include "NSQ.h" #include "NSQ.h"
#include "SigProc_FIX.h" #include "SigProc_FIX.h"
#if defined(OPUS_HAVE_RTCD)
# if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
!defined(OPUS_ARM_PRESUME_NEON_INTR))

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,17 @@
# HG changeset patch # HG changeset patch
# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd # Parent 60fc1933af9d4f1769025a6f1d9a60db6b899315
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp --- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp +++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
@@ -34,16 +34,18 @@ static const char* sLibs[] = { @@ -36,16 +36,18 @@ static const char* sLibs[] = {
"libavcodec.55.dylib",
"libavcodec.54.dylib", "libavcodec.54.dylib",
"libavcodec.53.dylib", "libavcodec.53.dylib",
#elif defined(XP_OPENBSD) #elif defined(XP_OPENBSD)
"libavcodec.so", // OpenBSD hardly controls the major/minor library version "libavcodec.so", // OpenBSD hardly controls the major/minor library version
// of ffmpeg and update it regulary on ABI/API changes // of ffmpeg and update it regulary on ABI/API changes
#else #else
"libavcodec.so.60",
"libavcodec.so.59", "libavcodec.so.59",
+ "libavcodec.so.58.134", + "libavcodec.so.58.134",
+ "libavcodec.so.58.91", + "libavcodec.so.58.91",

View File

@ -3,7 +3,7 @@
# Date 1558442915 -7200 # Date 1558442915 -7200
# Tue May 21 14:48:35 2019 +0200 # Tue May 21 14:48:35 2019 +0200
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5 # Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
# Parent bd5d1f49975deb730064a16b3079edb53c4a5f84 # Parent 715f01d61df8627117e6aefca540f0c1bba45011
Do not use gconf for proxy settings if not running within Gnome Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
=================================================================== ===================================================================
@ -13,12 +13,7 @@ retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -49,20 +49,24 @@ NS_IMETHODIMP @@ -52,10 +52,13 @@ nsUnixSystemProxySettings::GetMainThread
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
*aMainThreadOnly = true;
return NS_OK;
} }
void nsUnixSystemProxySettings::Init() { void nsUnixSystemProxySettings::Init() {
@ -30,15 +25,9 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ if (sessionType && !strcmp(sessionType, "gnome")) { + if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) { + if (mGSettings) {
+ mGSettings->GetCollectionForSchema( + mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns,
+ "org.gnome.system.proxy"_ns, + getter_AddRefs(mProxySettings));
+ getter_AddRefs(mProxySettings));
+ } + }
} }
} }
nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
if (mProxySettings) {
nsCString proxyMode;
// Check if mode is auto
nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode);

View File

@ -1,18 +1,13 @@
# HG changeset patch # HG changeset patch
# User Petr Cerny <pcerny@novell.com> # User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6 # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent 2361c5db1e70e358b2158325e07fa15bb4569c2c # Parent 1c6a565013e4c5f3494f964269783939cd5ed0b8
Bug 634334 - call to the ntlm_auth helper fails Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp --- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp +++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA @@ -160,7 +160,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
*aLen = (length / 4) * 3 - numEquals;
return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
}
nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
const char* username = PR_GetEnv("USER"); const char* username = PR_GetEnv("USER");
if (!username) return NS_ERROR_FAILURE; if (!username) return NS_ERROR_FAILURE;
@ -21,8 +16,3 @@ diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNT
"--helper-protocol", "--helper-protocol",
"ntlmssp-client-1", "ntlmssp-client-1",
"--use-cached-creds", "--use-cached-creds",
"--username",
username,
nullptr};
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,

View File

@ -0,0 +1,13 @@
Index: firefox-102.4.0/mfbt/EnumSet.h
===================================================================
--- firefox-102.4.0.orig/mfbt/EnumSet.h
+++ firefox-102.4.0/mfbt/EnumSet.h
@@ -326,7 +326,7 @@ class EnumSet {
}
}
- static constexpr size_t kMaxBits = MaxBits();
+ static constexpr size_t kMaxBits = EnumSet().MaxBits();
Serialized mBitField;

View File

@ -1,16 +1,12 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 02ffee15578fd4dc2dd5ade32e7dab907d633b0d # Parent 9959fe2a13a39cbeb98ca1bef2e21caba16717bd
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure Index: firefox-115.0/build/moz.configure/lto-pgo.configure
--- a/build/moz.configure/lto-pgo.configure ===================================================================
+++ b/build/moz.configure/lto-pgo.configure --- firefox-115.0.orig/build/moz.configure/lto-pgo.configure
@@ -242,34 +242,34 @@ def lto( +++ firefox-115.0/build/moz.configure/lto-pgo.configure
"configure." @@ -251,8 +251,8 @@ def lto(
)
if c_compiler.type == "clang":
if value == "full":
cflags.append("-flto") cflags.append("-flto")
ldflags.append("-flto") ldflags.append("-flto")
else: else:
@ -19,18 +15,10 @@ diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo
+ cflags.append("-flto") + cflags.append("-flto")
+ ldflags.append("-flto") + ldflags.append("-flto")
if target.os == "Android" and value == "cross": if target.os == "Android" and "cross" in values:
# Work around https://github.com/rust-lang/rust/issues/90088 # Work around https://github.com/rust-lang/rust/issues/90088
# by enabling the highest level of SSE the rust targets default @@ -268,7 +268,7 @@ def lto(
# to. if "full" in values:
# https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13
# https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7
if target.cpu == "x86":
ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3")
elif target.cpu == "x86_64":
ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2")
elif c_compiler.type == "clang-cl":
if value == "full":
cflags.append("-flto") cflags.append("-flto")
else: else:
- cflags.append("-flto=thin") - cflags.append("-flto=thin")
@ -38,39 +26,20 @@ diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld. # With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld. # AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
cflags.append("-fuse-ld=lld") cflags.append("-fuse-ld=lld")
Index: firefox-115.0/build/pgo/profileserver.py
# Explicitly set the CPU to optimize for so the linker doesn't ===================================================================
# choose a poor default. Rust compilation by default uses the --- firefox-115.0.orig/build/pgo/profileserver.py
# pentium4 CPU on x86: +++ firefox-115.0/build/pgo/profileserver.py
# @@ -11,7 +11,7 @@ import subprocess
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
--- a/build/pgo/profileserver.py
+++ b/build/pgo/profileserver.py
@@ -6,17 +6,17 @@
import json
import os
import sys import sys
import glob
import subprocess
import mozcrash import mozcrash
-from mozbuild.base import MozbuildObject, BinaryNotFoundException -from mozbuild.base import BinaryNotFoundException, MozbuildObject
+from mozbuild.base import MozbuildObject, BinaryNotFoundException, BuildEnvironmentNotFoundException +from mozbuild.base import BinaryNotFoundException, MozbuildObject, BuildEnvironmentNotFoundException
from mozfile import TemporaryDirectory from mozfile import TemporaryDirectory
from mozhttpd import MozHttpd from mozhttpd import MozHttpd
from mozprofile import FirefoxProfile, Preferences from mozprofile import FirefoxProfile, Preferences
from mozprofile.permissions import ServerLocations @@ -87,9 +87,22 @@ if __name__ == "__main__":
from mozrunner import FirefoxRunner, CLI
from six import string_types
PORT = 8888
@@ -82,19 +82,32 @@ if __name__ == "__main__":
docroot=os.path.join(build.topsrcdir, "build", "pgo"),
path_mappings=path_mappings,
)
httpd.start(block=False)
locations = ServerLocations() locations = ServerLocations()
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged") locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
@ -96,17 +65,7 @@ diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
with TemporaryDirectory() as profilePath: with TemporaryDirectory() as profilePath:
# TODO: refactor this into mozprofile # TODO: refactor this into mozprofile
profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles") @@ -213,6 +226,10 @@ if __name__ == "__main__":
with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
base_profiles = json.load(fh)["profileserver"]
prefpaths = [
@@ -207,16 +220,20 @@ if __name__ == "__main__":
# Try to move the crash reports to the artifacts even if Firefox appears
# to exit successfully, in case there's a crash that doesn't set the
# return code to non-zero for some reason.
if get_crashreports(profilePath, name="Firefox exited successfully?") != 0:
print("Firefox exited successfully, but produced a crashreport") print("Firefox exited successfully, but produced a crashreport")
sys.exit(1) sys.exit(1)
@ -117,61 +76,41 @@ diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
llvm_profdata = env.get("LLVM_PROFDATA") llvm_profdata = env.get("LLVM_PROFDATA")
if llvm_profdata: if llvm_profdata:
profraw_files = glob.glob("*.profraw") profraw_files = glob.glob("*.profraw")
if not profraw_files: Index: firefox-115.0/build/unix/mozconfig.unix
print( ===================================================================
"Could not find profraw files in the current directory: %s" --- firefox-115.0.orig/build/unix/mozconfig.unix
% os.getcwd() +++ firefox-115.0/build/unix/mozconfig.unix
) @@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
--- a/build/unix/mozconfig.unix
+++ b/build/unix/mozconfig.unix
@@ -1,14 +1,23 @@
. "$topsrcdir/build/mozconfig.common"
if [ -n "$FORCE_GCC" ]; then
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc" CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++" CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
+ if [ -n "$MOZ_PGO" ]; then + if [ -n "$MOZ_PGO" ]; then
+ if [ -z "$USE_ARTIFACT" ]; then + if [ -z "$USE_ARTIFACT" ]; then
+ ac_add_options --enable-lto + ac_add_options --enable-lto
+ fi + fi
+ export AR="$topsrcdir/gcc/bin/gcc-ar" + export AR="$topsrcdir/gcc/bin/gcc-ar"
+ export NM="$topsrcdir/gcc/bin/gcc-nm" + export NM="$topsrcdir/gcc/bin/gcc-nm"
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib" + export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
+ fi + fi
+ +
# We want to make sure we use binutils and other binaries in the tooltool # We want to make sure we use binutils and other binaries in the tooltool
# package. # package.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH" mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
else Index: firefox-115.0/extensions/spellcheck/src/moz.build
# For some builds we don't want to have Clang based static-analysis activated ===================================================================
if [ -z "$DISABLE_CLANG_PLUGIN" ]; then --- firefox-115.0.orig/extensions/spellcheck/src/moz.build
export ENABLE_CLANG_PLUGIN=1 +++ firefox-115.0/extensions/spellcheck/src/moz.build
fi @@ -28,3 +28,5 @@ EXPORTS.mozilla += [
diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build
--- a/extensions/spellcheck/src/moz.build
+++ b/extensions/spellcheck/src/moz.build
@@ -23,8 +23,10 @@ LOCAL_INCLUDES += [
"../hunspell/glue",
"../hunspell/src",
"/dom/base",
]
EXPORTS.mozilla += [
"mozInlineSpellChecker.h", "mozInlineSpellChecker.h",
"mozSpellChecker.h", "mozSpellChecker.h",
] ]
+ +
+CXXFLAGS += ['-fno-devirtualize'] +CXXFLAGS += ['-fno-devirtualize']
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
--- a/toolkit/components/terminator/nsTerminator.cpp ===================================================================
+++ b/toolkit/components/terminator/nsTerminator.cpp --- firefox-115.0.orig/toolkit/components/terminator/nsTerminator.cpp
@@ -461,16 +461,21 @@ void nsTerminator::StartWatchdog() { +++ firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
// Defend against overflow @@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
crashAfterMS = INT32_MAX;
} else {
crashAfterMS *= scaleUp;
}
} }
#endif #endif
@ -183,8 +122,3 @@ diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components
UniquePtr<Options> options(new Options()); UniquePtr<Options> options(new Options());
// crashAfterTicks is guaranteed to be > 0 as // crashAfterTicks is guaranteed to be > 0 as
// crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS;
DebugOnly<PRThread*> watchdogThread =
CreateSystemThread(RunWatchdog, options.release());
MOZ_ASSERT(watchdogThread);

View File

@ -1,6 +1,10 @@
--- firefox-96.0.3.orig/build/moz.configure/rust.configure # HG changeset patch
+++ firefox-96.0.3/build/moz.configure/rust.configure # Parent 135d931b3e674a670473f69f8c079e741ac63643
@@ -641,7 +643,7 @@ def rust_compile_flags(
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -668,7 +668,7 @@ def rust_compile_flags(
debug_assertions = False debug_assertions = False
if debug_symbols: if debug_symbols:

View File

@ -0,0 +1,12 @@
diff -rup a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml 2023-07-04 15:15:01.089470619 +0200
+++ b/Cargo.toml 2023-07-04 15:24:31.626226962 +0200
@@ -188,3 +188,8 @@ uniffi_bindgen = "=0.23.0"
uniffi_build = "=0.23.0"
uniffi_macros = "=0.23.0"
weedle2 = "=4.0.0"
+
+# Package code v0.1.4 uses code "that will be rejected by a future version of Rust"
+# Shut up such messages for now to make the build succeed
+[future-incompat-report]
+frequency = "never"

View File

@ -3,51 +3,31 @@
# Date 1558452408 -7200 # Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200 # Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
# Parent 136e1f2c44a3099b3e49a576fa62c8ad77aa431e # Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
[mq]: mozilla-s390-context.patch [mq]: mozilla-s390-context.patch
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/wasm/WasmSignalHandlers.cpp --- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp +++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -157,16 +157,20 @@ using mozilla::DebugOnly; @@ -174,6 +174,10 @@ using mozilla::DebugOnly;
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32]) # define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
# endif # endif
# if defined(__linux__) && defined(__loongarch__) +# if defined(__linux__) && defined(__s390x__)
# define EPC_sig(p) ((p)->uc_mcontext.pc) +# define GR_sig(p, x) ((p)->uc_mcontext.gregs[x])
# define RRA_sig(p) ((p)->uc_mcontext.gregs[1]) +# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
# define RSP_sig(p) ((p)->uc_mcontext.gregs[3]) +# endif
# define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
# endif
+# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
+# endif
# elif defined(__NetBSD__) # elif defined(__NetBSD__)
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP]) # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP]) # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
# define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP]) @@ -416,6 +420,10 @@ struct macos_aarch64_context {
# define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
@@ -399,16 +403,20 @@ struct macos_aarch64_context {
# define PC_sig(p) R32_sig(p)
# define SP_sig(p) R01_sig(p)
# define FP_sig(p) R01_sig(p)
# elif defined(__loongarch__)
# define PC_sig(p) EPC_sig(p)
# define FP_sig(p) RFP_sig(p) # define FP_sig(p) RFP_sig(p)
# define SP_sig(p) RSP_sig(p) # define SP_sig(p) R03_sig(p)
# define LR_sig(p) RRA_sig(p) # define LR_sig(p) RRA_sig(p)
+# elif defined(__s390x__) +# elif defined(__s390x__)
+# define PC_sig(p) PSWa_sig(p) +# define PC_sig(p) PSWa_sig(p)
+# define SP_sig(p) GR_sig(p, 15) +# define SP_sig(p) GR_sig(p, 15)
+# define FP_sig(p) GR_sig(p, 11) +# define FP_sig(p) GR_sig(p, 11)
# endif # elif defined(__riscv)
# define PC_sig(p) RPC_sig(p)
static void SetContextPC(CONTEXT* context, uint8_t* pc) { # define FP_sig(p) RFP_sig(p)
# ifdef PC_sig
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
# else
MOZ_CRASH();
# endif

View File

@ -1,51 +0,0 @@
# HG changeset patch
# Parent acf59ea86dd1d878b43920832093f082dcfc61c0
diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Mon Mar 09 08:26:10 2020 +0100
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Fri Mar 27 13:30:28 2020 +0100
@@ -7,7 +7,7 @@
#include "include/core/SkPaint.h"
#include "src/shaders/gradients/Sk4fLinearGradient.h"
-
+#include "src/core/SkEndian.h"
#include <cmath>
#include <utility>
@@ -28,6 +28,9 @@
while (n >= 4) {
DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
+#ifdef SK_CPU_BENDIAN
+ SkEndianSwap32s(dst, 4);
+#endif
dst += 4;
c0 = c0 + dc4;
@@ -37,12 +40,23 @@
n -= 4;
}
if (n & 2) {
- DstTraits<premul>::store(c0, dst++, bias0);
- DstTraits<premul>::store(c1, dst++, bias1);
+ DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
+ ++dst;
+ DstTraits<premul>::store(c1, dst, bias1);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
+ ++dst;
c0 = c0 + dc2;
}
if (n & 1) {
DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
}
}

File diff suppressed because it is too large Load Diff

View File

@ -89,7 +89,7 @@ WAYLAND_SUPPORTED=%WAYLAND_SUPPORTED
# $XDG_SESSION_TYPE should contain either x11 or wayland # $XDG_SESSION_TYPE should contain either x11 or wayland
if [ $WAYLAND_SUPPORTED -eq 1 ] && [ "$XDG_SESSION_TYPE" = "wayland" ] && [ -z "$MOZ_ENABLE_WAYLAND" ]; then if [ $WAYLAND_SUPPORTED -eq 1 ] && [ "$XDG_SESSION_TYPE" = "wayland" ] && [ -z "$MOZ_ENABLE_WAYLAND" ]; then
export MOZ_ENABLE_WAYLAND=0 export MOZ_ENABLE_WAYLAND=1
fi fi
## ##
@ -100,7 +100,7 @@ if [ "$WAYLAND_DISPLAY" ]; then
fi fi
# xinput2 (boo#1173320) # xinput2 (boo#1173320)
source /etc/os-release . /etc/os-release
if [ "$ID" = "opensuse-tumbleweed" ]; then if [ "$ID" = "opensuse-tumbleweed" ]; then
export MOZ_USE_XINPUT2=1 export MOZ_USE_XINPUT2=1
fi fi
@ -151,7 +151,7 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
# Try with a local variant first, then without a local variant # Try with a local variant first, then without a local variant
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"` SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"`
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"` MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"`
function create_langpack_link() { create_langpack_link() {
local language=$* local language=$*
local langpack=langpack-${language}@firefox.mozilla.org.xpi local langpack=langpack-${language}@firefox.mozilla.org.xpi
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then

View File

@ -6,10 +6,10 @@
# Parent 81832d035e101471dcf52dd91de287268add7a91 # Parent 81832d035e101471dcf52dd91de287268add7a91
imported patch one_swizzle_to_rule_them_all.patch imported patch one_swizzle_to_rule_them_all.patch
Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp Index: firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
=================================================================== ===================================================================
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp --- firefox-115.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp +++ firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "RenderCompositorSWGL.h" #include "RenderCompositorSWGL.h"
@ -18,7 +18,7 @@ Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
#include "mozilla/widget/CompositorWidget.h" #include "mozilla/widget/CompositorWidget.h"
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB @@ -242,6 +243,13 @@ void RenderCompositorSWGL::CommitMappedB
} }
mDT->Flush(); mDT->Flush();

View File

@ -1,10 +1,10 @@
PRODUCT="thunderbird" PRODUCT="thunderbird"
CHANNEL="esr102" CHANNEL="esr115"
VERSION="102.14.0" VERSION="115.2.0"
VERSION_SUFFIX="" VERSION_SUFFIX=""
PREV_VERSION="102.13.1" PREV_VERSION="115.1.1"
PREV_VERSION_SUFFIX="" PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr102" RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr115"
RELEASE_TAG="d83d81499d87f2360995ae0448fcaa40e0cd106a" RELEASE_TAG="ffd49506d62c329824f7adb4896602a8c77ec7e8"
RELEASE_TIMESTAMP="20230801134847" RELEASE_TIMESTAMP="20230828145448"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:68514ac2e196b3526588b2957f2ab51b99b366af497fe13d1518a52bf8298c83
size 502877912

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmTJLHwACgkQ4207E/PZ
MnTDMQ//RP0i4TeYipFmuih2+ae5mNjSCuRCsH3Cq+eOXT4l1vr79PCRcWQwDjJN
R4JDfxSE8eUkVEHmoj11TySXFRHRCNOKRIKveRHayGJSn54SMt9aHHicqbZGDdjp
BjESw8ZVlS9u+9TVWGK3Ah0roHBr9oSHxeC3Pj5VtAwz5Bb3RSimMnArk3V8b7dB
oZLZfbm5bWeuL26mhias8NZS3aINDvNLRHyVBOiIHKCODIFh2Upql9NPhSpCmV0x
PXEc2QGozNXnbfNoOcwoBHcrsAeFdqjv6/gVRLIqa9hQ7uhiXjGaG3vJrRzwP9hM
2kFgCcGisnZDWTs1KOhGTEBezcqIQ+p1OSu/NbfrRKQmnUo0bV3+eqIvwQA2dao8
wuzps9IBKdZwVDNC6CFIgOzTVimCg99SvcmFu2PxjjJauTgZ6Hrva5C/4vddBkyl
oignfiDU6+sVK2Prfz44ydHo8ZUdjxz31xfSxFObHEfySkdDTE0UvNUHWU++g+Ci
E0AqbwvNk3SuFfuQirnan/dJlstPGVjxZB8bfc2WG4Qz/z6vrygB0oKzbu2nuPXM
FWC/NQkpMoBB7eXcZA8vIK81DSkk/vPiZ/CjYDjQqaZxnRxaZtWLbfqOgHfBTLDx
kjQh+AdS1unHJE0DhHq5mGGFtCmhyNgh9uk5wJbyseuTGYzgOKw=
=K3lJ
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:57ef08e5134e8370d60b3b3f920ffcf3744721f50b0dfad379ceb260ced6d940
size 531890376

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmTs5TgACgkQ4207E/PZ
MnRV6g/+MCygp8FZE4/x29Y1N+NwqjSMtcAYmd0IET0O04pEimNUI0erITEg3Api
4vMsc1HJ493EDDQeCr/LJmpsIFzopDYJNNCeKska+NAtgFmgTDgciExElPK22v4h
T7xuMiPPkNCVX9kGFg1zmLAdj7WnHgaT6ZMPI1DYixU0CzBwlJIihuNmnWfyTap0
xBrz/KzEtGjzhB2e+BVOumOo2WZ7q2+t2AE6MvHbVtijkKu33RWbb9O2I/lpCfBx
kABdpleNSL4TyxPBvnLfesVmZzTyw8UzPJ7hiiTR2Pj9ELAP5sX84lr4/YTUrxEK
XOrWr5lSaXgzB/Oq72nl9IINDrsLxlTagyyGjdROKc9W6HboQPuVvXL+ShohFt5J
ACv6e9xGAjhQo0nuT4zTCbLnDKGEi4EWnlb50F3CTy99gFRtxVoti3XpGkTU9xn4
VrAnq6QRh1YuJYslPz4v8Sn0kF9TI1gJtl7fzXXOwyvKLPgT1H78Ss0jyZv99J0O
oNB68Di3u0x3A70rx0z41QkL2Ohj+2iIxxjUS9dftQmjmJJ9nbFWKPdWRbR1Noi8
dMrJ1W53VlltaRATDCMSuhAAc145YqCiUTVeR0griRFsh+LEQqEncCx3AeQo3khZ
PLHQ9+cxsvPzGbfeOeilHiiW32P4H0FLh4reXojK2iZcDkWC+5k=
=skc3
-----END PGP SIGNATURE-----