Nico Weber 7ed4d5c454 arm: Properly mark _ZN8crashpad14CaptureContextEP10ucontext_t as %function
lld wants to remove bl/blx substitution for non-function symbols
(https://reviews.llvm.org/D73542). GNU ld apparently already doesn't
do it.

Since _ZN8crashpad14CaptureContextEP10ucontext_t wasn't marked as a function,
chromium's thumb code would then branch without mode transition into
crashpads non-thumb assembly (in arm32).

So mark the symbol as function, so that things work even if that patch
relands. This should also make things work with GNU ld, though I haven't
verified that it was broken before and works now.

I also did this for aarch64 since it seems like The Right Thing To Do
(assuming the assembler accepts it, which I also haven't checked --
the CQ will hopefully check that).

Bug: chromium:1049649
Change-Id: I3452c16f0d52a2dc0397fd3d60d06b5c39a4b524
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2044144
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2020-02-07 23:42:19 +00:00
2019-09-11 19:05:30 +00:00
2020-01-31 22:54:24 +00:00
2020-01-23 13:59:00 +00:00
2018-07-10 15:29:34 +00:00
2018-10-01 18:05:23 +00:00
2014-07-30 23:24:58 -04:00
2018-10-17 22:45:45 +00:00

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpads source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.

Description
A crash-reporting system
Readme Apache-2.0 23 MiB
Languages
C++ 92.5%
Objective-C++ 2.5%
C 2%
Python 1.8%
Assembly 0.9%
Other 0.3%