diff options
Diffstat (limited to 'mozilla-1686888.patch')
-rw-r--r-- | mozilla-1686888.patch | 578 |
1 files changed, 578 insertions, 0 deletions
diff --git a/mozilla-1686888.patch b/mozilla-1686888.patch new file mode 100644 index 0000000..36b5e64 --- /dev/null +++ b/mozilla-1686888.patch @@ -0,0 +1,578 @@ +diff -up firefox-86.0/Cargo.lock.1686888-dump-syms firefox-86.0/Cargo.lock +--- firefox-86.0/Cargo.lock.1686888-dump-syms 2021-02-22 15:47:04.000000000 +0100 ++++ firefox-86.0/Cargo.lock 2021-02-24 10:01:09.217178617 +0100 +@@ -1241,6 +1241,13 @@ dependencies = [ + ] + + [[package]] ++name = "dump_syms_rust_demangle" ++version = "0.1.0" ++dependencies = [ ++ "rustc-demangle", ++] ++ ++[[package]] + name = "dwrote" + version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +diff -up firefox-86.0/Cargo.toml.1686888-dump-syms firefox-86.0/Cargo.toml +--- firefox-86.0/Cargo.toml.1686888-dump-syms 2021-02-22 15:47:04.000000000 +0100 ++++ firefox-86.0/Cargo.toml 2021-02-24 10:01:09.217178617 +0100 +@@ -13,6 +13,7 @@ members = [ + "netwerk/test/http3server", + "security/manager/ssl/osclientcerts", + "testing/geckodriver", ++ "toolkit/crashreporter/rust", + "toolkit/crashreporter/rust_minidump_writer_linux", + "toolkit/library/gtest/rust", + "toolkit/library/rust/", +diff -up firefox-86.0/python/mozbuild/mozbuild/action/dumpsymbols.py.1686888-dump-syms firefox-86.0/python/mozbuild/mozbuild/action/dumpsymbols.py +--- firefox-86.0/python/mozbuild/mozbuild/action/dumpsymbols.py.1686888-dump-syms 2021-02-22 14:43:46.000000000 +0100 ++++ firefox-86.0/python/mozbuild/mozbuild/action/dumpsymbols.py 2021-02-24 10:01:09.218178640 +0100 +@@ -29,7 +29,29 @@ def dump_symbols(target, tracking_file, + # Build default args for symbolstore.py based on platform. + sym_store_args = [] + +- dump_syms_bin = buildconfig.substs["DUMP_SYMS"] ++ # Find the `dump_syms` binary to use. ++ dump_syms_bin = None ++ dump_syms_binaries = [] ++ ++ default_bin = buildconfig.substs.get("DUMP_SYMS") ++ if default_bin: ++ dump_syms_binaries.append(default_bin) ++ ++ # Fallback to the in-tree breakpad version. ++ dump_syms_binaries.append( ++ os.path.join( ++ buildconfig.topobjdir, ++ "dist", ++ "host", ++ "bin", ++ "dump_syms" + buildconfig.substs["BIN_SUFFIX"], ++ ) ++ ) ++ ++ for dump_syms_bin in dump_syms_binaries: ++ if os.path.exists(dump_syms_bin): ++ break ++ + os_arch = buildconfig.substs["OS_ARCH"] + if os_arch == "WINNT": + sym_store_args.extend(["-c", "--vcs-info"]) +diff -up firefox-86.0/taskcluster/ci/toolchain/minidump_stackwalk.yml.1686888-dump-syms firefox-86.0/taskcluster/ci/toolchain/minidump_stackwalk.yml +--- firefox-86.0/taskcluster/ci/toolchain/minidump_stackwalk.yml.1686888-dump-syms 2021-02-22 15:47:05.000000000 +0100 ++++ firefox-86.0/taskcluster/ci/toolchain/minidump_stackwalk.yml 2021-02-24 10:01:09.218178640 +0100 +@@ -17,7 +17,9 @@ job-defaults: + - 'config/external/zlib' + - 'moz.configure' + - 'toolkit/crashreporter' ++ - 'toolkit/crashreporter/google-breakpad/src/common' + - 'toolkit/crashreporter/google-breakpad/src/processor' ++ - 'toolkit/crashreporter/rust' + - 'tools/crashreporter/' + toolchain-artifact: public/build/minidump_stackwalk.tar.xz + run-on-projects: +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/dwarf/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/dwarf/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/dwarf/moz.build.1686888-dump-syms 2021-02-24 10:01:09.218178640 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/dwarf/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -0,0 +1,35 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# 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/. ++ ++HostLibrary('host_breakpad_dwarf_s') ++HOST_SOURCES += [ ++ 'bytereader.cc', ++ 'dwarf2diehandler.cc', ++ 'dwarf2reader.cc', ++ 'elf_reader.cc', ++ 'functioninfo.cc', ++] ++HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++] ++ ++# need static lib ++FORCE_STATIC_LIB = True ++ ++# This code is only compiled for build-time tools, ++# so enabling RTTI should be fine. ++HOST_CXXFLAGS += [ ++ '-frtti', ++ '-funsigned-char', ++] ++ ++if CONFIG['OS_ARCH'] == 'Darwin': ++ HOST_CXXFLAGS += [ ++ '-stdlib=libc++', ++ ] ++ ++include('/toolkit/crashreporter/crashreporter.mozbuild') +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/linux/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/linux/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/linux/moz.build.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/linux/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -21,6 +21,24 @@ if CONFIG['OS_TARGET'] != 'Android': + 'http_upload.cc', + ] + ++if CONFIG['HOST_OS_ARCH'] == 'Linux': ++ HostLibrary('host_breakpad_linux_common_s') ++ ++ HOST_SOURCES += [ ++ 'crc32.cc', ++ 'dump_symbols.cc', ++ 'elf_symbols_to_module.cc', ++ 'elfutils.cc', ++ 'file_id.cc', ++ 'linux_libc_support.cc', ++ 'memory_mapped_file.cc', ++ ] ++ ++ HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++ ] ++ + if CONFIG['OS_TARGET'] == 'Android': + DEFINES['ANDROID_NDK_MAJOR_VERSION'] = CONFIG['ANDROID_NDK_MAJOR_VERSION'] + DEFINES['ANDROID_NDK_MINOR_VERSION'] = CONFIG['ANDROID_NDK_MINOR_VERSION'] +@@ -36,6 +54,8 @@ if not CONFIG['HAVE_GETCONTEXT']: + + Library('breakpad_linux_common_s') + ++HOST_DEFINES['NO_STABS_SUPPORT'] = True ++ + include('/toolkit/crashreporter/crashreporter.mozbuild') + + if CONFIG['CC_TYPE'] in ('clang', 'gcc'): +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/mac/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/mac/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/mac/moz.build.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/mac/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -13,6 +13,26 @@ UNIFIED_SOURCES += [ + 'macho_walker.cc', + ] + ++if CONFIG['HOST_OS_ARCH'] != 'Darwin': ++ HOST_CXXFLAGS += [ ++ '-I%s/toolkit/crashreporter/google-breakpad/src/third_party/mac_headers/' % TOPSRCDIR, ++ ] ++ ++# This is a little weird, but we're building a host and a target lib here. ++# The host lib is used for dump_syms, and the target lib for the ++# crash reporter client. Therefore, we don't need all the srcs in both. ++if CONFIG['MOZ_CRASHREPORTER']: ++ HOST_SOURCES += UNIFIED_SOURCES ++ HOST_SOURCES += [ ++ 'dump_syms.cc', ++ ] ++ HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++ '-stdlib=libc++', ++ ] ++ HostLibrary('host_breakpad_mac_common_s') ++ + SOURCES += [ + 'bootstrap_compat.cc', + 'HTTPMultipartUpload.m', +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/moz.build.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -14,6 +14,51 @@ if CONFIG['OS_ARCH'] == 'Darwin': + 'md5.cc', + ] + ++if CONFIG['OS_ARCH'] == 'Linux': ++ HOST_DEFINES['HAVE_A_OUT_H'] = True ++elif CONFIG['OS_ARCH'] == 'Darwin': ++ HOST_DEFINES['HAVE_MACH_O_NLIST_H'] = True ++ HOST_SOURCES += [ ++ 'stabs_reader.cc', ++ 'stabs_to_module.cc', ++ ] ++ if CONFIG['HOST_OS_ARCH'] != 'Darwin': ++ HOST_CXXFLAGS += [ ++ '-I%s/toolkit/crashreporter/google-breakpad/src/third_party/mac_headers/' % TOPSRCDIR, ++ ] ++ ++if CONFIG['HOST_OS_ARCH'] != 'WINNT': ++ if CONFIG['OS_ARCH'] in ('Darwin', 'Linux'): ++ DIRS += ['dwarf'] ++ ++ HOST_SOURCES += [ ++ 'arm_ex_reader.cc', ++ 'arm_ex_to_module.cc', ++ 'convert_UTF.cc', ++ 'dwarf_cfi_to_module.cc', ++ 'dwarf_cu_to_module.cc', ++ 'dwarf_line_to_module.cc', ++ 'dwarf_range_list_handler.cc', ++ 'language.cc', ++ 'md5.cc', ++ 'module.cc', ++ 'path_helper.cc', ++ 'string_conversion.cc', ++ ] ++ if CONFIG['OS_ARCH'] == 'Darwin': ++ HOST_CXXFLAGS += [ ++ '-stdlib=libc++', ++ ] ++ HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++ ] ++ HOST_DEFINES['HAVE_RUST_DEMANGLE'] = True ++ LOCAL_INCLUDES += [ ++ '/toolkit/crashreporter/rust', ++ ] ++ HostLibrary('host_breakpad_common_s') ++ + Library('breakpad_common_s') + + include('/toolkit/crashreporter/crashreporter.mozbuild') +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/solaris/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/solaris/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/solaris/moz.build.1686888-dump-syms 2021-02-24 10:01:09.218178640 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/common/solaris/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -0,0 +1,34 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# 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/. ++ ++UNIFIED_SOURCES += [ ++ 'dump_symbols.cc', ++ 'file_id.cc', ++ 'guid_creator.cc', ++] ++ ++HostLibrary('host_breakpad_solaris_common_s') ++ ++Library('breakpad_solaris_common_s') ++ ++# not compiling http_upload.cc currently ++# since it depends on libcurl ++HOST_SOURCES += [ ++ 'dump_symbols.cc', ++ 'file_id.cc', ++ 'guid_creator.cc', ++] ++HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++] ++ ++FINAL_LIBRARY = 'xul' ++ ++LOCAL_INCLUDES += [ ++ '../..', ++] ++ +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/moz.build.1686888-dump-syms 2021-02-24 10:01:09.218178640 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -0,0 +1,45 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# 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/. ++ ++HostProgram('dump_syms') ++ ++HOST_SOURCES += [ ++ 'dump_syms.cc', ++] ++ ++HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++] ++ ++# host_breakpad_linux_common_s needs to come first ++HOST_USE_LIBS += [ ++ 'host_breakpad_linux_common_s', ++] ++HOST_USE_LIBS += [ ++ 'host_breakpad_common_s', ++ 'host_breakpad_dwarf_s', ++] ++# Order matters here, but HOST_USE_LIBS must be sorted. ++HOST_USE_LIBS += [ ++ 'dump_syms_rust_demangle', ++] ++# Ideally, this should be derived from the output of rustc ++# --print=native-static-libs or something like that. ++HOST_OS_LIBS += [ ++ 'dl', ++ 'pthread', ++] ++if CONFIG['HOST_OS_ARCH'] == 'Linux': ++ HOST_OS_LIBS += [ ++ 'rt', ++ ] ++ ++LOCAL_INCLUDES += [ ++ '../../../common/linux', ++] ++ ++include('/toolkit/crashreporter/crashreporter.mozbuild') +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/mac/dump_syms/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/mac/dump_syms/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/mac/dump_syms/moz.build.1686888-dump-syms 2021-02-24 10:01:09.218178640 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/mac/dump_syms/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -0,0 +1,52 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# 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/. ++ ++HostProgram('dump_syms') ++ ++HOST_SOURCES += [ ++ 'dump_syms_tool.cc', ++] ++ ++HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++ '-pthread', ++ '-stdlib=libc++', ++] ++ ++# Order matters here, but HOST_USE_LIBS must be sorted. ++HOST_USE_LIBS += [ ++ 'host_breakpad_mac_common_s', ++] ++HOST_USE_LIBS += [ ++ 'host_breakpad_common_s', ++ 'host_breakpad_dwarf_s', ++] ++# Order matters here, but HOST_USE_LIBS must be sorted. ++HOST_USE_LIBS += [ ++ 'dump_syms_rust_demangle', ++] ++# Ideally, this should be derived from the output of rustc ++# --print=native-static-libs or something like that. ++HOST_OS_LIBS += [ ++ 'dl', ++ 'pthread', ++] ++if CONFIG['HOST_OS_ARCH'] == 'Linux': ++ HOST_OS_LIBS += [ ++ 'rt', ++ ] ++ ++LOCAL_INCLUDES += [ ++ '../../../common/mac', ++] ++ ++if CONFIG['HOST_OS_ARCH'] != 'Darwin': ++ HOST_CXXFLAGS += [ ++ '-I%s/toolkit/crashreporter/google-breakpad/src/third_party/mac_headers/' % TOPSRCDIR, ++ ] ++ ++include('/toolkit/crashreporter/crashreporter.mozbuild') +diff -up firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/solaris/dump_syms/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/solaris/dump_syms/moz.build +--- firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/solaris/dump_syms/moz.build.1686888-dump-syms 2021-02-24 10:01:09.218178640 +0100 ++++ firefox-86.0/toolkit/crashreporter/google-breakpad/src/tools/solaris/dump_syms/moz.build 2021-02-24 10:01:09.218178640 +0100 +@@ -0,0 +1,27 @@ ++# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- ++# vim: set filetype=python: ++# This Source Code Form is subject to the terms of the Mozilla Public ++# 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/. ++ ++HostProgram('dump_syms') ++ ++HOST_SOURCES += [ ++ 'dump_syms.cc', ++] ++ ++HOST_CXXFLAGS += [ ++ '-O2', ++ '-g', ++] ++ ++HOST_USE_LIBS += [ ++ 'host_breakpad_common_s', ++ 'host_breakpad_solaris_common_s', ++] ++ ++LOCAL_INCLUDES += [ ++ '../../../common/solaris', ++] ++ ++include('/toolkit/crashreporter/crashreporter.mozbuild') +diff -up firefox-86.0/toolkit/crashreporter/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/moz.build +--- firefox-86.0/toolkit/crashreporter/moz.build.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/toolkit/crashreporter/moz.build 2021-02-24 10:02:32.742171784 +0100 +@@ -43,6 +43,11 @@ if CONFIG["MOZ_CRASHREPORTER"]: + "google-breakpad/src/common/mac", + "google-breakpad/src/processor", + ] ++ if not CONFIG["DUMP_SYMS"]: ++ DIRS += [ ++ "google-breakpad/src/tools/mac/dump_syms", ++ "rust", ++ ] + + elif CONFIG["OS_ARCH"] == "Linux": + DIRS += [ +@@ -56,6 +61,12 @@ if CONFIG["MOZ_CRASHREPORTER"]: + if CONFIG["MOZ_OXIDIZED_BREAKPAD"]: + DIRS += ["rust_minidump_writer_linux"] + ++ if not CONFIG["DUMP_SYMS"] and CONFIG["HOST_OS_ARCH"] == "Linux": ++ DIRS += [ ++ "google-breakpad/src/tools/linux/dump_syms", ++ "rust", ++ ] ++ + DIRS += [ + "client", + "minidump-analyzer", +diff -up firefox-86.0/toolkit/crashreporter/rust/Cargo.toml.1686888-dump-syms firefox-86.0/toolkit/crashreporter/rust/Cargo.toml +--- firefox-86.0/toolkit/crashreporter/rust/Cargo.toml.1686888-dump-syms 2021-02-24 10:01:09.219178664 +0100 ++++ firefox-86.0/toolkit/crashreporter/rust/Cargo.toml 2021-02-24 10:01:09.219178664 +0100 +@@ -0,0 +1,16 @@ ++[package] ++name = "dump_syms_rust_demangle" ++version = "0.1.0" ++ ++[dependencies] ++rustc-demangle = "0.1" ++ ++[lib] ++path = "lib.rs" ++crate-type = ["staticlib"] ++test = false ++doctest = false ++bench = false ++doc = false ++plugin = false ++harness = false +diff -up firefox-86.0/toolkit/crashreporter/rust/lib.rs.1686888-dump-syms firefox-86.0/toolkit/crashreporter/rust/lib.rs +--- firefox-86.0/toolkit/crashreporter/rust/lib.rs.1686888-dump-syms 2021-02-24 10:01:09.219178664 +0100 ++++ firefox-86.0/toolkit/crashreporter/rust/lib.rs 2021-02-24 10:01:09.219178664 +0100 +@@ -0,0 +1,32 @@ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * 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/. */ ++ ++extern crate rustc_demangle; ++ ++use rustc_demangle::demangle; ++use std::ffi::{CStr, CString}; ++use std::ptr; ++ ++/// Demangle `name` as a Rust symbol. ++/// ++/// The resulting pointer should be freed with `free_demangled_name`. ++#[no_mangle] ++pub extern "C" fn rust_demangle(name: *const std::os::raw::c_char) -> *mut std::os::raw::c_char { ++ let demangled = format!( ++ "{:#}", ++ demangle(&unsafe { CStr::from_ptr(name) }.to_string_lossy()) ++ ); ++ CString::new(demangled) ++ .map(|s| s.into_raw()) ++ .unwrap_or(ptr::null_mut()) ++} ++ ++/// Free a string that was returned from `rust_demangle`. ++#[no_mangle] ++pub extern "C" fn free_rust_demangled_name(demangled: *mut std::os::raw::c_char) { ++ if demangled != ptr::null_mut() { ++ // Just take ownership here. ++ unsafe { CString::from_raw(demangled) }; ++ } ++} +diff -up firefox-86.0/toolkit/crashreporter/rust/moz.build.1686888-dump-syms firefox-86.0/toolkit/crashreporter/rust/moz.build +--- firefox-86.0/toolkit/crashreporter/rust/moz.build.1686888-dump-syms 2021-02-24 10:01:09.219178664 +0100 ++++ firefox-86.0/toolkit/crashreporter/rust/moz.build 2021-02-24 10:01:09.219178664 +0100 +@@ -0,0 +1 @@ ++HostRustLibrary("dump_syms_rust_demangle") +diff -up firefox-86.0/toolkit/crashreporter/rust/rust_demangle.h.1686888-dump-syms firefox-86.0/toolkit/crashreporter/rust/rust_demangle.h +--- firefox-86.0/toolkit/crashreporter/rust/rust_demangle.h.1686888-dump-syms 2021-02-24 10:01:09.219178664 +0100 ++++ firefox-86.0/toolkit/crashreporter/rust/rust_demangle.h 2021-02-24 10:01:09.219178664 +0100 +@@ -0,0 +1,21 @@ ++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ ++/* vim: set ts=8 sts=2 et sw=2 tw=80: */ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * 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/. */ ++ ++#ifndef __RUST_DEMANGLE_H__ ++#define __RUST_DEMANGLE_H__ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++extern char* rust_demangle(const char*); ++extern void free_rust_demangled_name(char*); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __RUST_DEMANGLE_H__ */ +diff -up firefox-86.0/toolkit/crashreporter/tools/unit-symbolstore.py.1686888-dump-syms firefox-86.0/toolkit/crashreporter/tools/unit-symbolstore.py +--- firefox-86.0/toolkit/crashreporter/tools/unit-symbolstore.py.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/toolkit/crashreporter/tools/unit-symbolstore.py 2021-02-24 10:01:09.219178664 +0100 +@@ -539,9 +539,12 @@ class TestFunctional(HelperMixin, unitte + self.script_path = os.path.join( + self.topsrcdir, "toolkit", "crashreporter", "tools", "symbolstore.py" + ) +- self.dump_syms = buildconfig.substs.get("DUMP_SYMS") +- if not self.dump_syms: +- self.skip_test = True ++ if "DUMP_SYMS" in buildconfig.substs: ++ self.dump_syms = buildconfig.substs["DUMP_SYMS"] ++ else: ++ self.dump_syms = os.path.join( ++ buildconfig.topobjdir, "dist", "host", "bin", "dump_syms" ++ ) + + if target_platform() == "WINNT": + self.target_bin = os.path.join( +diff -up firefox-86.0/tools/crashreporter/app.mozbuild.1686888-dump-syms firefox-86.0/tools/crashreporter/app.mozbuild +--- firefox-86.0/tools/crashreporter/app.mozbuild.1686888-dump-syms 2021-02-22 14:43:54.000000000 +0100 ++++ firefox-86.0/tools/crashreporter/app.mozbuild 2021-02-24 10:01:09.219178664 +0100 +@@ -4,6 +4,20 @@ + + DIRS += [ + '/config/external/zlib', ++ '/toolkit/crashreporter/google-breakpad/src/common', + '/toolkit/crashreporter/google-breakpad/src/processor', ++ '/toolkit/crashreporter/rust', + '/tools/crashreporter/minidump_stackwalk', + ] ++ ++if CONFIG['OS_ARCH'] == 'Linux': ++ DIRS += [ ++ '/toolkit/crashreporter/google-breakpad/src/common/linux', ++ '/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms', ++ ] ++ ++if CONFIG['OS_ARCH'] == 'Darwin': ++ DIRS += [ ++ '/toolkit/crashreporter/google-breakpad/src/common/mac', ++ '/toolkit/crashreporter/google-breakpad/src/tools/mac/dump_syms', ++ ] +diff -up firefox-86.0/tools/lint/clippy.yml.1686888-dump-syms firefox-86.0/tools/lint/clippy.yml +--- firefox-86.0/tools/lint/clippy.yml.1686888-dump-syms 2021-02-22 15:47:05.000000000 +0100 ++++ firefox-86.0/tools/lint/clippy.yml 2021-02-24 10:01:09.219178664 +0100 +@@ -63,6 +63,7 @@ clippy: + # not_unsafe_ptr_arg_deref + - modules/libpref/parser/ + - tools/profiler/rust-helper/ ++ - toolkit/crashreporter/rust/ + - toolkit/library/rust/shared/ + - toolkit/library/gtest/rust/ + # not_unsafe_ptr_arg_deref |