commit | f4740fdf7b6a7eb97b43f4035b31a82125e2a69f | [log] [tgz] |
---|---|---|
author | Nico Weber <thakis@chromium.org> | Fri Feb 07 15:46:11 2020 -0500 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Jan 19 06:46:48 2021 -0800 |
tree | 1b6d507e043c495863650c5ee475beef50726f89 | |
parent | d87e3e95827a0b89c0e869bf001f9c545e779923 [diff] |
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: Ie4449217bf9096e048ee933f2f136da3c363291e 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> GitOrigin-RevId: 7ed4d5c454c6702c900e31198cca3a18228b93e1
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.