Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(STAFF-121291): Edits to be compatible with Windows #6

Merged
merged 55 commits into from
Oct 20, 2021
Merged
Show file tree
Hide file tree
Changes from 54 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
679b86b
feat: Add support for Qt 6 (#509)
torarnv Apr 9, 2021
43c8d9d
fix: Windows SDK Compiler Warning (#511)
Swatinem Apr 9, 2021
babae96
fix: Validate tm put into strftime (#510)
Swatinem Apr 9, 2021
03ebec7
fix: Rewrite the Linux module finder (#431)
Swatinem Apr 9, 2021
1198758
build: Avoid building all targets (#512)
Swatinem Apr 9, 2021
5fcb1dc
fix: Update Crashpad to 2021-04-12 and fix macOS universal build (#513)
encounter Apr 12, 2021
6f54c67
feat: Invoke before_send hook when using Crashpad (#519)
Swatinem Apr 19, 2021
60afb29
feat: Add more Event Payload convenience methods (#517)
Swatinem Apr 19, 2021
3c7f5b2
feat: Introduce `sentry_close` (#518)
Swatinem Apr 19, 2021
7d6f29f
meta: Prepare Changelog for upcoming release (#522)
Swatinem Apr 20, 2021
c041386
ref: Pass options to scope apply directly (#521)
Swatinem Apr 20, 2021
1d62fc5
fix: Further clean up platform libraries for static linking (#523)
Swatinem Apr 20, 2021
b8c8792
fix: Better macOS availability checks (#524)
Swatinem Apr 21, 2021
b3f2b6d
release: 0.4.9
Apr 21, 2021
06d4360
Merge release/0.4.9 into master
getsentry-bot Apr 21, 2021
756243a
fix: Avoid double-free on invalid DSN (#527)
Swatinem Apr 26, 2021
3fdaa5d
meta: Use correct libunwindstack commit
Swatinem May 3, 2021
f2ed3ac
fix: Allow for Unity builds (#536)
bschatt May 18, 2021
d45871c
ref: Add more testcases that trigger crashes in various ways (#538)
Swatinem May 20, 2021
b16af1c
ref(craft): Modernize Craft config (#543)
BYK Jun 4, 2021
09c3a9e
fix: Update venv and test-discovery Makefile targets (#544)
Jun 15, 2021
ed7f98f
fix: Avoid recursion when using `sentry_reinstall_backend` (#548)
Swatinem Jun 18, 2021
c2fe4b0
fix: Address -Wundef warning for SENTRY_UNITTEST defines (#549)
janisozaur Jun 19, 2021
415621e
build: Set 32-bit option for compiling assembly as well (#550)
janisozaur Jun 19, 2021
c2bddac
meta: Update break/crashpad to 2021-06-14 (#552)
Swatinem Jun 22, 2021
0391fb0
fix: Shorten/Split Locked sections to avoid deadlock (#551)
Swatinem Jun 22, 2021
91bd5ec
fix: Tighten Stack Usage (#553)
Swatinem Jun 23, 2021
fa31ff7
meta: Update Changelog (#556)
Swatinem Jun 24, 2021
2e98ec1
release: 0.4.10
getsentry-bot Jun 24, 2021
bf2d934
reformat
Swatinem Jun 24, 2021
61693db
Merge branch 'release/0.4.10'
Jun 24, 2021
959b81e
fix: Make Linux modulefinder/unwinder safer (#559)
Swatinem Jun 29, 2021
05db566
docs: Try to better explain unwind API (#564)
Swatinem Jun 30, 2021
c3b7b07
fix: Make Crashpad Backend respect max_breadcrumbs setting (#566)
Swatinem Jul 1, 2021
ad2e142
fix: Cancel slow winhttp requests on shutdown (#570)
Swatinem Jul 6, 2021
5648480
fix: Properly close the background worker thread on timeout (#571)
Swatinem Jul 6, 2021
b35eb96
fix: Possible race conditions in init/close and sessions (#545)
Jul 6, 2021
8b9a43d
meta: Draft Changelog (#572)
Swatinem Jul 7, 2021
5afac54
release: 0.4.11
getsentry-bot Jul 7, 2021
c4bc734
Merge branch 'release/0.4.11'
Jul 7, 2021
290fa46
feat: Make shutdown timeout customizable (#577)
andrei-mu Jul 15, 2021
c882275
CMake: Link to the CURL::libcurl target when available (#579)
past-due Jul 20, 2021
c3d490f
meta: Update crashpad to 2021-07-14 (#580)
past-due Jul 20, 2021
46a16b4
fix: Properly use `SENTRY_BUILD_RUNTIMESTATIC` for `sentry_fuzz_json`…
rpadaki Jul 30, 2021
f90f594
meta: Update break/crashpad to 2021-07-28 (#584)
Swatinem Aug 3, 2021
3436a29
release: 0.4.12
getsentry-bot Aug 3, 2021
5218603
Merge branch 'release/0.4.12'
Aug 3, 2021
90966cc
fix: Increment CXX standard to 14 to allow crashpad build (#585)
mjvankampen Aug 24, 2021
2102b30
feat(STAFF-121291): Edits to be compatible with Windows
yucelalbar Oct 15, 2021
04c7a76
meta: Bump python dependencies (#600)
Oct 15, 2021
59dfabe
Merge from master to timedoctor branch
yucelalbar Oct 15, 2021
32b907f
Merge branch 'timedoctor' into yalbar-STAFF-121291
yucelalbar Oct 15, 2021
ebc6f48
Skip changes on ci.yml file
yucelalbar Oct 15, 2021
812f06c
Change xcode version to 13.0.0
yucelalbar Oct 15, 2021
3479187
git submodule updated
yucelalbar Oct 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ IndentPPDirectives: AfterHash
ColumnLimit: 80
AlwaysBreakAfterDefinitionReturnType: All
PointerAlignment: Right
ForEachMacros: ['SENTRY_WITH_SCOPE', 'SENTRY_WITH_SCOPE_MUT', 'SENTRY_WITH_SCOPE_MUT_NO_FLUSH', 'SENTRY_WITH_OPTIONS']
ForEachMacros: ['SENTRY_WITH_SCOPE', 'SENTRY_WITH_SCOPE_MUT', 'SENTRY_WITH_SCOPE_MUT_NO_FLUSH', 'SENTRY_WITH_OPTIONS', 'SENTRY_WITH_OPTIONS_MUT']
21 changes: 5 additions & 16 deletions .craft.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,18 @@
minVersion: "0.15.0"
github:
owner: getsentry
repo: sentry-native
minVersion: 0.23.1
changelogPolicy: auto

statusProvider:
name: github
artifactProvider:
name: github

targets:
- name: github
- name: registry
type: sdk
config:
canonical: "github:getsentry/sentry-native"
sdks:
github:getsentry/sentry-native:
- name: gcs
bucket: sentry-sdk-assets
paths:
- path: /sentry-native/{{version}}/
metadata:
cacheControl: "public, max-age=2592000"
cacheControl: public, max-age=2592000
- path: /sentry-native/latest/
metadata:
cacheControl: "public, max-age=600"

cacheControl: public, max-age=600
requireNames:
- /^sentry-native.zip$/
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ jobs:
if: ${{ runner.os == 'macOS' }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '11.3.1'
xcode-version: '13.0.0'

- name: Building (macOS)
if: ${{ runner.os == 'macOS' }}
Expand Down
93 changes: 93 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,98 @@
# Changelog

## 0.4.12

**Features**:

- Make the shutdown timeout configurable via `sentry_options_set_shutdown_timeout`.

**Fixes**:

- The crashpad backend compiles with mingw again.
- Build System improvements.

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@irov](https://github.com/irov)
- [@past-due](https://github.com/past-due)
- [@andrei-mu](https://github.com/andrei-mu)
- [@rpadaki](https://github.com/rpadaki)

## 0.4.11

**Fixes**:

- The crashpad backend now respects the `max_breadcrumbs` setting.
- Hanging HTTP requests will now be canceled on shutdown in the WinHTTP transport.
- The Modulefinder and Android unwinder now use safer memory access.
- Possible races and deadlocks have been fixed in `init`/`close`, and in API related to sessions.

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@smibe](https://github.com/smibe)

## 0.4.10

**Fixes**:

- Fix a potential deadlock in macOS modulefinder.
- Lower Stack usage, to lower change of stack overflows.
- Avoid a double-free when parsing an invalid DSN.
- Improvements to Unity Builds and 32-bit Builds.
- Fix infinite recursion in signal handler by correctly cleaning up on shutdown.

**Internal**:

- Update Crashpad and Breakpad submodules to 2021-06-14.

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@janisozaur](https://github.com/janisozaur)
- [@bschatt](https://github.com/bschatt)
- [@GenuineAster](https://github.com/GenuineAster)

## 0.4.9

**Features**:

- Rewrote the Linux modulefinder which should now work correctly when encountering gaps in the memory mapping of loaded libraries, and supports libraries loaded from a file offset, such as libraries loaded directly from `.apk` files on Android.
- Invoke the `before_send` hook at time of a hard crash when using the Windows or Linux Crashpad backend.
- Added the following new convenience functions:
- `sentry_value_new_exception`
- `sentry_value_new_thread`
- `sentry_value_new_stacktrace`
- `sentry_event_add_exception`
- `sentry_event_add_thread`
- The `sentry_event_value_add_stacktrace` is deprecated.
- Renamed `sentry_shutdown` to `sentry_close`, though the old function is still available.
- Updated Qt integration to Qt 6.

**Fixes**:

- Optimized and fixed bugs in the JSON parser/serializer.
- Build fixes for PPC and universal macOS.
- Fixes to build using musl libc.
- Correctness fixes around printf and strftime usage.
- Allow building and running on older macOS versions.

**Internal**:

- Update Crashpad and Breakpad submodules to 2021-04-12

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@mastertheknife](https://github.com/mastertheknife)
- [@torarnv](https://github.com/torarnv)
- [@encounter](https://github.com/encounter)

## 0.4.8

**Features**:
Expand Down
45 changes: 30 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ if(NOT CMAKE_C_STANDARD)
endif()

if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
endif()

include(GNUInstallDirs)
Expand Down Expand Up @@ -79,6 +79,7 @@ if(LINUX)
if(SENTRY_BUILD_FORCE32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -m32 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF)
endif()
endif()
Expand Down Expand Up @@ -258,15 +259,17 @@ target_compile_definitions(sentry PRIVATE SIZEOF_LONG=${CMAKE_SIZEOF_LONG})

if(SENTRY_TRANSPORT_CURL)
find_package(CURL REQUIRED)
target_include_directories(sentry PRIVATE ${CURL_INCLUDE_DIR})
# The exported sentry target must not contain any path of the build machine, therefore use generator expressions
# FIXME: cmake 3.12 introduced the target CURL::libcurl
string(REPLACE ";" "$<SEMICOLON>" GENEX_CURL_LIBRARIES "${CURL_LIBRARIES}")
string(REPLACE ";" "$<SEMICOLON>" GENEX_CURL_COMPILE_DEFINITIONS "${CURL_COMPILE_DEFINITIONS}")
target_link_libraries(sentry PRIVATE $<BUILD_INTERFACE:${GENEX_CURL_LIBRARIES}>)
target_compile_definitions(sentry PRIVATE $<BUILD_INTERFACE:${GENEX_CURL_COMPILE_DEFINITIONS}>)
elseif(SENTRY_TRANSPORT_WINHTTP)
target_link_libraries(sentry PRIVATE winhttp)
if(TARGET CURL::libcurl) # Only available in cmake 3.12+
target_link_libraries(sentry PRIVATE CURL::libcurl)
else()
# Needed for cmake < 3.12 support (cmake 3.12 introduced the target CURL::libcurl)
target_include_directories(sentry PRIVATE ${CURL_INCLUDE_DIR})
# The exported sentry target must not contain any path of the build machine, therefore use generator expressions
string(REPLACE ";" "$<SEMICOLON>" GENEX_CURL_LIBRARIES "${CURL_LIBRARIES}")
string(REPLACE ";" "$<SEMICOLON>" GENEX_CURL_COMPILE_DEFINITIONS "${CURL_COMPILE_DEFINITIONS}")
target_link_libraries(sentry PRIVATE $<BUILD_INTERFACE:${GENEX_CURL_LIBRARIES}>)
target_compile_definitions(sentry PRIVATE $<BUILD_INTERFACE:${GENEX_CURL_COMPILE_DEFINITIONS}>)
endif()
endif()

set_property(TARGET sentry PROPERTY C_VISIBILITY_PRESET hidden)
Expand Down Expand Up @@ -345,7 +348,6 @@ if(WIN32)
target_compile_definitions(sentry PRIVATE "_WIN32_WINNT=0x0501")
endif()

target_link_libraries(sentry PRIVATE shlwapi)
# crashpad does not support Windows XP toolset
if(MSVC AND CMAKE_GENERATOR_TOOLSET MATCHES "_xp$" AND SENTRY_BACKEND_CRASHPAD)
message(FATAL_ERROR "MSVC XP toolset does not support Crashpad")
Expand All @@ -358,7 +360,11 @@ if(ANDROID)
elseif(LINUX)
set(_SENTRY_PLATFORM_LIBS "dl" "rt")
elseif(WIN32)
set(_SENTRY_PLATFORM_LIBS "dbghelp" "version")
set(_SENTRY_PLATFORM_LIBS "dbghelp" "shlwapi" "version")
endif()

if(SENTRY_TRANSPORT_WINHTTP)
list(APPEND _SENTRY_PLATFORM_LIBS "winhttp")
endif()

# handle platform threads library
Expand Down Expand Up @@ -413,7 +419,7 @@ if(SENTRY_BACKEND_CRASHPAD)
endif()
add_subdirectory(external/crashpad crashpad_build)

# set static runime if enabled
# set static runtime if enabled
if(SENTRY_BUILD_RUNTIMESTATIC AND MSVC)
set_property(TARGET crashpad_client PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
set_property(TARGET crashpad_compat PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
Expand Down Expand Up @@ -469,8 +475,17 @@ endif()

option(SENTRY_INTEGRATION_QT "Build Qt integration")
if(SENTRY_INTEGRATION_QT)
find_package(Qt5 COMPONENTS Core REQUIRED)
target_link_libraries(sentry PRIVATE Qt5::Core)
if(QT_DEFAULT_MAJOR_VERSION)
# Let user choose major version
set(Qt_VERSION_MAJOR ${QT_DEFAULT_MAJOR_VERSION})
else()
# Find best match, prioritizing Qt 6 if available
find_package(Qt NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
endif()
find_package(Qt${Qt_VERSION_MAJOR} COMPONENTS Core REQUIRED)
message(STATUS "Found Qt: ${Qt${Qt_VERSION_MAJOR}_DIR} "
"(found version \"${Qt${Qt_VERSION_MAJOR}_VERSION}\")")
target_link_libraries(sentry PRIVATE Qt${Qt_VERSION_MAJOR}::Core)
endif()

include(CMakePackageConfigHelpers)
Expand Down
5 changes: 2 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
all: test

update-test-discovery:
@perl -ne 'print if s/SENTRY_TEST\(([^)]+)\)/XX(\1)/' tests/unit/*.c | sort | uniq > tests/unit/tests.inc
@perl -ne 'print if s/SENTRY_TEST\(([^)]+)\)/XX(\1)/' tests/unit/*.c | sort | grep -v define | uniq > tests/unit/tests.inc
.PHONY: update-test-discovery

build/Makefile: CMakeLists.txt
Expand Down Expand Up @@ -55,8 +55,7 @@ setup-venv: .venv/bin/python

.venv/bin/python: Makefile tests/requirements.txt
@rm -rf .venv
@which virtualenv || sudo pip install virtualenv
virtualenv -p python3 .venv
python3 -m venv .venv
.venv/bin/pip install --upgrade --requirement tests/requirements.txt

format: setup-venv
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ The SDK supports different features on the target platform:
have the `curl` library available. On other platforms, library users need to
implement their own transport, based on the `function transport` API.
- **Crashpad Backend** is currently only supported on Linux, Windows and macOS.
- **Breakpad Backend** is currently only supported on Linux and Windows.

## Building and Installation

Expand Down Expand Up @@ -195,6 +194,8 @@ using `cmake -D BUILD_SHARED_LIBS=OFF ..`.
`OFF` will build `sentry` as a static library instead.
If sentry is used as a subdirectory of another project, the value `BUILD_SHARED_LIBS` will be inherited by default.

When using `sentry` as a static library, make sure to `#define SENTRY_BUILD_STATIC 1` before including the sentry header.

- `SENTRY_PIC` (Default: ON):
By default, `sentry` is built as a position independent library.

Expand Down Expand Up @@ -299,7 +300,7 @@ sentry_init(options);

// your application code …

sentry_shutdown();
sentry_close();
```

Other important configuration options include:
Expand All @@ -311,7 +312,7 @@ Other important configuration options include:

## Known Limitations

- The crashpad backend currently has no support for notifying the crashing
- The crashpad backend on macOS currently has no support for notifying the crashing
process, and can thus not properly terminate sessions or call the registered
`before_send` hook. It will also lose any events that have been queued for
sending at time of crash.
Expand Down
47 changes: 32 additions & 15 deletions examples/example.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,16 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef NDEBUG
# undef NDEBUG
#endif
#include <assert.h>

#ifdef SENTRY_PLATFORM_WINDOWS
# include <synchapi.h>
# define sleep_s(SECONDS) Sleep((SECONDS)*1000)
#else
# include <signal.h>
# include <unistd.h>
# define sleep_s(SECONDS) sleep(SECONDS)
#endif
Expand Down Expand Up @@ -149,13 +154,31 @@ main(int argc, char **argv)
}
}

if (has_arg(argc, argv, "reinstall")) {
sentry_reinstall_backend();
}

if (has_arg(argc, argv, "sleep")) {
sleep_s(10);
}

if (has_arg(argc, argv, "crash")) {
trigger_crash();
}
if (has_arg(argc, argv, "assert")) {
assert(0);
}
if (has_arg(argc, argv, "abort")) {
abort();
}
#ifdef SENTRY_PLATFORM_UNIX
if (has_arg(argc, argv, "raise")) {
raise(SIGSEGV);
}
if (has_arg(argc, argv, "kill")) {
kill(getpid(), SIGSEGV);
}
#endif

if (has_arg(argc, argv, "capture-event")) {
sentry_value_t event = sentry_value_new_message_event(
Expand All @@ -166,27 +189,21 @@ main(int argc, char **argv)
sentry_capture_event(event);
}
if (has_arg(argc, argv, "capture-exception")) {
// TODO: Create a convenience API to create a new exception object,
// and to attach a stacktrace to the exception.
// See also https://github.com/getsentry/sentry-native/issues/235
sentry_value_t exc = sentry_value_new_exception(
"ParseIntError", "invalid digit found in string");
if (has_arg(argc, argv, "add-stacktrace")) {
sentry_value_t stacktrace = sentry_value_new_stacktrace(NULL, 0);
sentry_value_set_by_key(exc, "stacktrace", stacktrace);
}
sentry_value_t event = sentry_value_new_event();
sentry_value_t exception = sentry_value_new_object();
// for example:
sentry_value_set_by_key(
exception, "type", sentry_value_new_string("ParseIntError"));
sentry_value_set_by_key(exception, "value",
sentry_value_new_string("invalid digit found in string"));
sentry_value_t exceptions = sentry_value_new_list();
sentry_value_append(exceptions, exception);
sentry_value_t values = sentry_value_new_object();
sentry_value_set_by_key(values, "values", exceptions);
sentry_value_set_by_key(event, "exception", values);
sentry_event_add_exception(event, exc);

sentry_capture_event(event);
}

// make sure everything flushes
sentry_shutdown();
sentry_close();

if (has_arg(argc, argv, "sleep-after-shutdown")) {
sleep_s(1);
}
Expand Down
2 changes: 1 addition & 1 deletion external/breakpad
Submodule breakpad updated 98 files
+1 −1 DEPS
+9 −3 Makefile.am
+20 −8 Makefile.in
+13 −0 OWNERS
+3 −3 default.xml
+7 −14 docs/symbol_files.md
+8 −0 src/client/ios/Breakpad.xcodeproj/project.pbxproj
+59 −1 src/client/mac/Breakpad.xcodeproj/project.pbxproj
+2 −1 src/client/mac/handler/dynamic_images.h
+2 −2 src/client/windows/crash_generation/minidump_generator.cc
+2 −2 src/common/dwarf/bytereader-inl.h
+2 −2 src/common/dwarf/bytereader.cc
+2 −2 src/common/dwarf/bytereader.h
+254 −254 src/common/dwarf/bytereader_unittest.cc
+20 −22 src/common/dwarf/cfi_assembler.cc
+2 −4 src/common/dwarf/cfi_assembler.h
+2 −2 src/common/dwarf/dwarf2diehandler.cc
+2 −2 src/common/dwarf/dwarf2diehandler.h
+6 −6 src/common/dwarf/dwarf2diehandler_unittest.cc
+2 −2 src/common/dwarf/dwarf2enums.h
+30 −73 src/common/dwarf/dwarf2reader.cc
+6 −9 src/common/dwarf/dwarf2reader.h
+217 −217 src/common/dwarf/dwarf2reader_cfi_unittest.cc
+292 −121 src/common/dwarf/dwarf2reader_die_unittest.cc
+2 −2 src/common/dwarf/dwarf2reader_lineinfo_unittest.cc
+1 −1 src/common/dwarf/dwarf2reader_splitfunctions_unittest.cc
+8 −8 src/common/dwarf/dwarf2reader_test_common.h
+2 −2 src/common/dwarf/elf_reader.cc
+2 −2 src/common/dwarf/elf_reader.h
+2 −4 src/common/dwarf/functioninfo.cc
+2 −2 src/common/dwarf/functioninfo.h
+4 −2 src/common/dwarf/line_state_machine.h
+1 −1 src/common/dwarf_cfi_to_module.cc
+1 −2 src/common/dwarf_cfi_to_module.h
+100 −91 src/common/dwarf_cu_to_module.cc
+9 −14 src/common/dwarf_cu_to_module.h
+182 −183 src/common/dwarf_cu_to_module_unittest.cc
+2 −2 src/common/dwarf_line_to_module.h
+1 −1 src/common/dwarf_range_list_handler.h
+55 −52 src/common/linux/dump_symbols.cc
+1 −7 src/common/mac/HTTPPutRequest.m
+64 −9 src/common/mac/HTTPRequest.m
+34 −26 src/common/mac/dump_syms.cc
+3 −4 src/common/mac/dump_syms.h
+14 −5 src/common/mac/macho_reader.cc
+45 −0 src/common/mac/macho_reader_unittest.cc
+1 −0 src/common/md5.h
+6 −3 src/common/memory_allocator.h
+6 −11 src/common/module.cc
+4 −9 src/common/module.h
+4 −3 src/common/module_unittest.cc
+2 −1 src/common/stabs_to_module.cc
+19 −3 src/common/symbol_data.h
+1 −7 src/common/unordered.h
+1 −0 src/common/using_std_string.h
+56 −14 src/common/windows/pdb_source_line_writer.cc
+29 −0 src/google_breakpad/processor/basic_source_line_resolver.h
+5 −1 src/google_breakpad/processor/source_line_resolver_base.h
+8 −2 src/google_breakpad/processor/source_line_resolver_interface.h
+6 −3 src/google_breakpad/processor/stack_frame.h
+4 −1 src/google_breakpad/processor/stack_frame_symbolizer.h
+0 −2 src/google_breakpad/processor/stackwalker.h
+197 −1 src/processor/basic_source_line_resolver.cc
+34 −3 src/processor/basic_source_line_resolver_types.h
+171 −11 src/processor/basic_source_line_resolver_unittest.cc
+4 −1 src/processor/fast_source_line_resolver.cc
+3 −1 src/processor/fast_source_line_resolver_types.h
+11 −11 src/processor/fast_source_line_resolver_unittest.cc
+0 −1 src/processor/microdump_processor.cc
+1 −1 src/processor/microdump_processor_unittest.cc
+4 −1 src/processor/microdump_stackwalk.cc
+4 −18 src/processor/minidump.cc
+2 −1 src/processor/minidump_dump.cc
+0 −1 src/processor/minidump_processor.cc
+10 −3 src/processor/minidump_stackwalk.cc
+4 −2 src/processor/source_line_resolver_base.cc
+37 −1 src/processor/source_line_resolver_base_types.h
+4 −3 src/processor/stack_frame_symbolizer.cc
+379 −340 src/processor/stackwalk_common.cc
+1 −0 src/processor/stackwalk_common.h
+17 −63 src/processor/stackwalker.cc
+5 −0 src/processor/stackwalker_amd64.cc
+0 −27 src/processor/stackwalker_arm.cc
+0 −5 src/processor/stackwalker_arm.h
+ src/processor/testdata/linux_inline.dmp
+2 −2 src/processor/testdata/minidump2.dump.out
+68 −0 src/processor/testdata/symbols/linux_inline/BBA6FA10B8AAB33D00000000000000000/linux_inline.sym
+3 −1 src/tools/linux/core2md/core2md.cc
+3 −1 src/tools/linux/core_handler/core_handler.cc
+7 −3 src/tools/linux/dump_syms/dump_syms.cc
+1 −2 src/tools/linux/md2core/minidump-2-core.cc
+3 −1 src/tools/linux/pid2md/pid2md.cc
+5 −2 src/tools/linux/symupload/minidump_upload.cc
+5 −5 src/tools/linux/symupload/sym_upload.cc
+2 −1 src/tools/mac/dump_syms/dump_syms_tool.cc
+30 −2 src/tools/mac/symupload/symupload.mm
+176 −6 src/tools/mac/symupload/symupload.xcodeproj/project.pbxproj
+2 −2 src/tools/python/deps-to-manifest.py
Loading