Skip to content

Commit

Permalink
feat(STAFF-121291): Edits to be compatible with Windows (#6)
Browse files Browse the repository at this point in the history
* feat: Add support for Qt 6 (getsentry#509)

* fix: Windows SDK Compiler Warning (getsentry#511)

* fix: Validate tm put into strftime (getsentry#510)

* fix: Rewrite the Linux module finder (getsentry#431)

It now works in memory, without requiring to mmap the libraries again,
which should make it work correctly on android when loading libraries
directly from apk or appbundle files.

The new code will keep track of readable memory maps and will
translate read requests based on the offset of those memory maps,
making sure that we actually can read whatever we are trying to read.

* build: Avoid building all targets (getsentry#512)

It looks like cmake is broken and builds ALL the targets when the parallel option is specified first, lol

* fix: Update Crashpad to 2021-04-12 and fix macOS universal build (getsentry#513)

* feat: Invoke before_send hook when using Crashpad (getsentry#519)

* feat: Add more Event Payload convenience methods (getsentry#517)

Adds:
* `sentry_value_new_exception`
* `sentry_value_new_thread`
* `sentry_value_new_stacktrace`
* `sentry_event_add_exception`
* `sentry_event_add_thread`

Deprecates `sentry_event_value_add_stacktrace`

* feat: Introduce `sentry_close` (getsentry#518)

This replaces the former `sentry_shutdown`, which is being forwarded.

* meta: Prepare Changelog for upcoming release (getsentry#522)

* ref: Pass options to scope apply directly (getsentry#521)

* fix: Further clean up platform libraries for static linking (getsentry#523)

* fix: Better macOS availability checks (getsentry#524)

This should allow building on older macOS versions as well as
running on older versions by fixing the usage of __builtin_available,
and adding a different clock source for older macOS versions.

* release: 0.4.9

* fix: Avoid double-free on invalid DSN (getsentry#527)

* meta: Use correct libunwindstack commit

* fix: Allow for Unity builds (getsentry#536)

* ref: Add more testcases that trigger crashes in various ways (getsentry#538)

* ref(craft): Modernize Craft config (getsentry#543)

* fix: Update venv and test-discovery Makefile targets (getsentry#544)

* fix: Avoid recursion when using `sentry_reinstall_backend` (getsentry#548)

Previously, the `inproc` and `crashpad` (on linux) backends didn’t correctly reset their signal handlers when doing `reinstall_backend` (or multiple `init` calls for that matter).
This has led to an infinite loop generating crashes.

The fix now correctly unregisters the inproc/crashpad signal handlers, and adds an integration test using `reinstall_backend` to make sure we do not end up in an infinite loop.

Co-authored-by: Mischa Alff <mischa@mutate.se>

* fix: Address -Wundef warning for SENTRY_UNITTEST defines (getsentry#549)

* build: Set 32-bit option for compiling assembly as well (getsentry#550)

This fixes compilation of breakpad for 32-bit systems

* meta: Update break/crashpad to 2021-06-14 (getsentry#552)

* fix: Shorten/Split Locked sections to avoid deadlock (getsentry#551)

We have received a report that the `sentry_get_modules_list` on mac can deadlock
when other code concurrently does a `dlopen` and thus invokes the `add_image`
callback from a different thread.

We shorten/split the locked blocks in order to avoid holding a lock in the
`get_modules` function whenever the `add_image` function is being invoked possibly
from other threads.

* fix: Tighten Stack Usage (getsentry#553)

According to some docs, JVM/JNI stacks on Android can be as small as
32K, and our own sigaltstack is not much larger with 64K.
Make sure to avoid large stack allocations as much as possible.

We have especially seen the literal content of `/proc/self/maps` as well
as formatted addresses inside corrupted release/environment attributes,
which might point to overflows that write into a previously allocated
release/environment string.

* meta: Update Changelog (getsentry#556)

* release: 0.4.10

* reformat

* fix: Make Linux modulefinder/unwinder safer (getsentry#559)

This is using the `process_vm_read` call to safely poke at random memory. It also makes sure to shim the libc provided call with a direct syscall for older Android devices.

* docs: Try to better explain unwind API (getsentry#564)

* fix: Make Crashpad Backend respect max_breadcrumbs setting (getsentry#566)

* fix: Cancel slow winhttp requests on shutdown (getsentry#570)

Co-authored-by: Gerhard Herbert <gerhard.herbert@avira.com>

* fix: Properly close the background worker thread on timeout (getsentry#571)

* fix: Possible race conditions in init/close and sessions (getsentry#545)

* meta: Draft Changelog (getsentry#572)

* release: 0.4.11

* feat: Make shutdown timeout customizable (getsentry#577)

Co-authored-by: Andrei Muraru <andrei.muraru@avira.com>

* CMake: Link to the CURL::libcurl target when available (getsentry#579)

Caters better for newer cmake versions.

* meta: Update crashpad to 2021-07-14 (getsentry#580)

* fix: Properly use `SENTRY_BUILD_RUNTIMESTATIC` for `sentry_fuzz_json` unit test (getsentry#583)

* meta: Update break/crashpad to 2021-07-28 (getsentry#584)

* release: 0.4.12

* fix: Increment CXX standard to 14 to allow crashpad build (getsentry#585)

Fixes getsentry#574

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

* meta: Bump python dependencies (getsentry#600)

The old version of pytest breaks with python 3.10 which changed a
little how code object internals work.  Since python 3.10 is now
released it starts being used in CI.

* Skip changes on ci.yml file

* Change xcode version to 13.0.0

* git submodule updated

Co-authored-by: Tor Arne Vestbø <torarnv@gmail.com>
Co-authored-by: Arpad Borsos <arpad.borsos@sentry.io>
Co-authored-by: Luke Street <luke@street.dev>
Co-authored-by: getsentry-bot <bot@getsentry.com>
Co-authored-by: Sentry Bot <getsentry-bot@users.noreply.github.com>
Co-authored-by: Arpad Borsos <swatinem@swatinem.de>
Co-authored-by: bschatt <44769431+bschatt@users.noreply.github.com>
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
Co-authored-by: MikeRumplerSentry <85497711+MikeRumplerSentry@users.noreply.github.com>
Co-authored-by: Mischa Alff <mischa@mutate.se>
Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>
Co-authored-by: getsentry-bot <bot@sentry.io>
Co-authored-by: Gerhard Herbert <gerhard.herbert@avira.com>
Co-authored-by: andrei-mu <andrei5008@gmail.com>
Co-authored-by: Andrei Muraru <andrei.muraru@avira.com>
Co-authored-by: pastdue <30942300+past-due@users.noreply.github.com>
Co-authored-by: Roshan Padaki <roshanpadaki@gmail.com>
Co-authored-by: mjvankampen <markjanvankampen@gmail.com>
Co-authored-by: Yucel Albar <yucel@timedoctor.com>
Co-authored-by: Floris Bruynooghe <flub@sentry.io>
  • Loading branch information
21 people authored Oct 20, 2021
1 parent 07b70bc commit d880f85
Show file tree
Hide file tree
Showing 73 changed files with 1,572 additions and 630 deletions.
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 70 files
+1 −1 DEPS
+9 −3 Makefile.am
+20 −8 Makefile.in
+13 −0 OWNERS
+3 −3 default.xml
+59 −1 src/client/mac/Breakpad.xcodeproj/project.pbxproj
+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
+23 −72 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
+52 −50 src/common/linux/dump_symbols.cc
+1 −7 src/common/mac/HTTPPutRequest.m
+31 −23 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
+4 −9 src/common/module.cc
+2 −7 src/common/module.h
+3 −2 src/common/module_unittest.cc
+2 −1 src/common/stabs_to_module.cc
+1 −7 src/common/unordered.h
+1 −0 src/common/using_std_string.h
+55 −11 src/common/windows/pdb_source_line_writer.cc
+1 −1 src/processor/microdump_processor_unittest.cc
+4 −1 src/processor/microdump_stackwalk.cc
+4 −4 src/processor/minidump.cc
+2 −1 src/processor/minidump_dump.cc
+10 −3 src/processor/minidump_stackwalk.cc
+14 −11 src/processor/stackwalk_common.cc
+1 −0 src/processor/stackwalk_common.h
+0 −27 src/processor/stackwalker_arm.cc
+0 −5 src/processor/stackwalker_arm.h
+2 −2 src/processor/testdata/minidump2.dump.out
+3 −1 src/tools/linux/core2md/core2md.cc
+3 −1 src/tools/linux/core_handler/core_handler.cc
+5 −2 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 −3 src/tools/linux/symupload/sym_upload.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
2 changes: 1 addition & 1 deletion external/crashpad
2 changes: 1 addition & 1 deletion external/libunwindstack-ndk
2 changes: 1 addition & 1 deletion external/third_party/lss
Submodule lss updated from 29f7c7 to e1e7b0
Loading

0 comments on commit d880f85

Please sign in to comment.