diff options
Diffstat (limited to 'source/xap')
-rw-r--r-- | source/xap/mozilla-thunderbird/gcc13-fix.patch | 176 | ||||
-rwxr-xr-x | source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild | 3 |
2 files changed, 179 insertions, 0 deletions
diff --git a/source/xap/mozilla-thunderbird/gcc13-fix.patch b/source/xap/mozilla-thunderbird/gcc13-fix.patch new file mode 100644 index 000000000..14557b60c --- /dev/null +++ b/source/xap/mozilla-thunderbird/gcc13-fix.patch @@ -0,0 +1,176 @@ +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)); diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild index aa09baf6e..f58a9c9b9 100755 --- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild +++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild @@ -183,6 +183,9 @@ zcat $CWD/arc4random_buf.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1 # Fix build with LLVM 16: zcat $CWD/thunderbird-102.10.0-upstream_fixes-1.patch.gz | patch -p1 --verbose || exit 1 +# Fix build with gcc13: +zcat $CWD/gcc13-fix.patch.gz | patch -p1 --verbose || exit 1 + # Fetch localization, if requested: if [ ! -z $MOZLOCALIZE ]; then LOC_TAG="THUNDERBIRD_$( echo $VERSION | tr \. _ )_RELEASE" |