mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-27 15:32:10 +08:00
Joshua Peraza
3e065b11d0
linux, mac: disable cfi-icall for cross-dso calls
CFI attempts to verify that the dynamic type of a function object matches the static type of the function pointer used to call it. https://clang.llvm.org/docs/ControlFlowIntegrity.html#indirect-function-call-checking However, the analyzer does not have enough information to check cross-dso calls. In these instances, CFI crashes upon calling the function with an error like: pthread_create_linux.cc:60:16: runtime error: control flow integrity check for type 'int (unsigned long *, const pthread_attr_t *, void *(*)(void *), void *)' failed during indirect function call (/lib/x86_64-linux-gnu/libpthread.so.0+0x9200): note: (unknown) defined here pthread_create_linux.cc:60:16: note: check failed in crashpad_handler, destination function located in /lib/x86_64-linux-gnu/libpthread.so.0 Change-Id: Ib29dabfe714f2ee9cc06a5d17e6899ff81a06df4 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2339332 Commit-Queue: Joshua Peraza <jperaza@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org>
Crashpad
Crashpad is a crash-reporting system.
Documentation
- Project status
- Developing Crashpad: instructions for getting the source code, building, testing, and contributing to the project.
- Crashpad interface documentation
- Crashpad tool man pages
- Crashpad overview design
Source Code
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.
Other Links
- Bugs can be reported at the Crashpad issue tracker.
- The Crashpad bots perform automated builds and tests.
- crashpad-dev is the Crashpad developers’ mailing list.
Description
Languages
C++
92.6%
Objective-C++
2.5%
C
2%
Python
1.7%
Assembly
0.9%
Other
0.3%