diff --git a/Telegram/Patches/crashpad.diff b/Telegram/Patches/crashpad.diff new file mode 100644 index 000000000..b0b719bb5 --- /dev/null +++ b/Telegram/Patches/crashpad.diff @@ -0,0 +1,107 @@ +diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc +index 436ac5ad..8e14fb9c 100644 +--- a/client/capture_context_mac_test.cc ++++ b/client/capture_context_mac_test.cc +@@ -34,11 +34,11 @@ namespace { + // gtest assertions. + void SanityCheckContext(const NativeCPUContext& context) { + #if defined(ARCH_CPU_X86) +- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor); +- ASSERT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), context.tsh.count); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE32), implicit_cast(context.tsh.flavor)); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), implicit_cast(context.tsh.count)); + #elif defined(ARCH_CPU_X86_64) +- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor); +- ASSERT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), context.tsh.count); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE64), implicit_cast(context.tsh.flavor)); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), implicit_cast(context.tsh.count)); + #endif + + #if defined(ARCH_CPU_X86_FAMILY) +diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc +index 7e279015..27864388 100644 +--- a/client/simulate_crash_mac.cc ++++ b/client/simulate_crash_mac.cc +@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread, + + void SimulateCrash(const NativeCPUContext& cpu_context) { + #if defined(ARCH_CPU_X86) +- DCHECK_EQ(cpu_context.tsh.flavor, ++ DCHECK_EQ(implicit_cast(cpu_context.tsh.flavor), + implicit_cast(x86_THREAD_STATE32)); + DCHECK_EQ(implicit_cast(cpu_context.tsh.count), + x86_THREAD_STATE32_COUNT); + #elif defined(ARCH_CPU_X86_64) +- DCHECK_EQ(cpu_context.tsh.flavor, ++ DCHECK_EQ(implicit_cast(cpu_context.tsh.flavor), + implicit_cast(x86_THREAD_STATE64)); + DCHECK_EQ(implicit_cast(cpu_context.tsh.count), + x86_THREAD_STATE64_COUNT); +diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc +index 87c5f845..ca813e4c 100644 +--- a/client/simulate_crash_mac_test.cc ++++ b/client/simulate_crash_mac_test.cc +@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->tsh.flavor) { + case x86_THREAD_STATE32: +- EXPECT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), +- state->tsh.count); ++ EXPECT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), ++ implicit_cast(state->tsh.count)); + break; + case x86_THREAD_STATE64: +- EXPECT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), +- state->tsh.count); ++ EXPECT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), ++ implicit_cast(state->tsh.count)); + break; + default: + ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor; +@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->fsh.flavor) { + case x86_FLOAT_STATE32: +- EXPECT_EQ(implicit_cast(x86_FLOAT_STATE32_COUNT), +- state->fsh.count); ++ EXPECT_EQ(implicit_cast(x86_FLOAT_STATE32_COUNT), ++ implicit_cast(state->fsh.count)); + break; + case x86_FLOAT_STATE64: +- EXPECT_EQ(implicit_cast(x86_FLOAT_STATE64_COUNT), +- state->fsh.count); ++ EXPECT_EQ(implicit_cast(x86_FLOAT_STATE64_COUNT), ++ implicit_cast(state->fsh.count)); + break; + default: + ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor; +@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->dsh.flavor) { + case x86_DEBUG_STATE32: +- EXPECT_EQ(implicit_cast(x86_DEBUG_STATE32_COUNT), +- state->dsh.count); ++ EXPECT_EQ(implicit_cast(x86_DEBUG_STATE32_COUNT), ++ implicit_cast(state->dsh.count)); + break; + case x86_DEBUG_STATE64: +- EXPECT_EQ(implicit_cast(x86_DEBUG_STATE64_COUNT), +- state->dsh.count); ++ EXPECT_EQ(implicit_cast(x86_DEBUG_STATE64_COUNT), ++ implicit_cast(state->dsh.count)); + break; + default: + ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor; +diff --git a/crashpad.gyp b/crashpad.gyp +index 42fe0a26..d8af1bf1 100644 +--- a/crashpad.gyp ++++ b/crashpad.gyp +@@ -25,7 +25,7 @@ + 'minidump/minidump.gyp:*', + 'minidump/minidump_test.gyp:*', + 'snapshot/snapshot.gyp:*', +- 'snapshot/snapshot_test.gyp:*', ++# 'snapshot/snapshot_test.gyp:*', + 'test/test.gyp:*', + 'test/test_test.gyp:*', + 'tools/tools.gyp:*', diff --git a/Telegram/Patches/macold/crashpad.diff b/Telegram/Patches/macold/crashpad.diff index 7aa23102b..1fc3f980a 100644 --- a/Telegram/Patches/macold/crashpad.diff +++ b/Telegram/Patches/macold/crashpad.diff @@ -1,5 +1,5 @@ diff --git a/build/crashpad.gypi b/build/crashpad.gypi -index 027c7b6..4bfdfb5 100644 +index 027c7b68..4bfdfb5a 100644 --- a/build/crashpad.gypi +++ b/build/crashpad.gypi @@ -25,5 +25,15 @@ @@ -18,3 +18,110 @@ index 027c7b6..4bfdfb5 100644 + ], }, } +diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc +index 436ac5ad..8e14fb9c 100644 +--- a/client/capture_context_mac_test.cc ++++ b/client/capture_context_mac_test.cc +@@ -34,11 +34,11 @@ namespace { + // gtest assertions. + void SanityCheckContext(const NativeCPUContext& context) { + #if defined(ARCH_CPU_X86) +- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor); +- ASSERT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), context.tsh.count); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE32), implicit_cast(context.tsh.flavor)); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), implicit_cast(context.tsh.count)); + #elif defined(ARCH_CPU_X86_64) +- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor); +- ASSERT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), context.tsh.count); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE64), implicit_cast(context.tsh.flavor)); ++ ASSERT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), implicit_cast(context.tsh.count)); + #endif + + #if defined(ARCH_CPU_X86_FAMILY) +diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc +index 7e279015..27864388 100644 +--- a/client/simulate_crash_mac.cc ++++ b/client/simulate_crash_mac.cc +@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread, + + void SimulateCrash(const NativeCPUContext& cpu_context) { + #if defined(ARCH_CPU_X86) +- DCHECK_EQ(cpu_context.tsh.flavor, ++ DCHECK_EQ(implicit_cast(cpu_context.tsh.flavor), + implicit_cast(x86_THREAD_STATE32)); + DCHECK_EQ(implicit_cast(cpu_context.tsh.count), + x86_THREAD_STATE32_COUNT); + #elif defined(ARCH_CPU_X86_64) +- DCHECK_EQ(cpu_context.tsh.flavor, ++ DCHECK_EQ(implicit_cast(cpu_context.tsh.flavor), + implicit_cast(x86_THREAD_STATE64)); + DCHECK_EQ(implicit_cast(cpu_context.tsh.count), + x86_THREAD_STATE64_COUNT); +diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc +index 87c5f845..ca813e4c 100644 +--- a/client/simulate_crash_mac_test.cc ++++ b/client/simulate_crash_mac_test.cc +@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->tsh.flavor) { + case x86_THREAD_STATE32: +- EXPECT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), +- state->tsh.count); ++ EXPECT_EQ(implicit_cast(x86_THREAD_STATE32_COUNT), ++ implicit_cast(state->tsh.count)); + break; + case x86_THREAD_STATE64: +- EXPECT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), +- state->tsh.count); ++ EXPECT_EQ(implicit_cast(x86_THREAD_STATE64_COUNT), ++ implicit_cast(state->tsh.count)); + break; + default: + ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor; +@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->fsh.flavor) { + case x86_FLOAT_STATE32: +- EXPECT_EQ(implicit_cast(x86_FLOAT_STATE32_COUNT), +- state->fsh.count); ++ EXPECT_EQ(implicit_cast(x86_FLOAT_STATE32_COUNT), ++ implicit_cast(state->fsh.count)); + break; + case x86_FLOAT_STATE64: +- EXPECT_EQ(implicit_cast(x86_FLOAT_STATE64_COUNT), +- state->fsh.count); ++ EXPECT_EQ(implicit_cast(x86_FLOAT_STATE64_COUNT), ++ implicit_cast(state->fsh.count)); + break; + default: + ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor; +@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess, + reinterpret_cast(old_state); + switch (state->dsh.flavor) { + case x86_DEBUG_STATE32: +- EXPECT_EQ(implicit_cast(x86_DEBUG_STATE32_COUNT), +- state->dsh.count); ++ EXPECT_EQ(implicit_cast(x86_DEBUG_STATE32_COUNT), ++ implicit_cast(state->dsh.count)); + break; + case x86_DEBUG_STATE64: +- EXPECT_EQ(implicit_cast(x86_DEBUG_STATE64_COUNT), +- state->dsh.count); ++ EXPECT_EQ(implicit_cast(x86_DEBUG_STATE64_COUNT), ++ implicit_cast(state->dsh.count)); + break; + default: + ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor; +diff --git a/crashpad.gyp b/crashpad.gyp +index 42fe0a26..d8af1bf1 100644 +--- a/crashpad.gyp ++++ b/crashpad.gyp +@@ -25,7 +25,7 @@ + 'minidump/minidump.gyp:*', + 'minidump/minidump_test.gyp:*', + 'snapshot/snapshot.gyp:*', +- 'snapshot/snapshot_test.gyp:*', ++# 'snapshot/snapshot_test.gyp:*', + 'test/test.gyp:*', + 'test/test_test.gyp:*', + 'tools/tools.gyp:*', diff --git a/docs/building-xcode.md b/docs/building-xcode.md index f3d356f32..2d1d7049b 100644 --- a/docs/building-xcode.md +++ b/docs/building-xcode.md @@ -102,6 +102,7 @@ Go to ***BuildPath*** and run git clone https://chromium.googlesource.com/crashpad/crashpad.git cd crashpad git checkout feb3aa3923 + git apply ../../../tdesktop/Telegram/Patches/crashpad.diff cd third_party/mini_chromium git clone https://chromium.googlesource.com/chromium/mini_chromium cd mini_chromium