LTO Missing Symbol Error: CrashForExceptionInNonABICompliantCodeRange

Building Chromium Win64 ThinLTO is faulting, with a link error on a missing
symbol. The fix is to add a __declspec(dllexport) to function
CrashForExceptionInNonABICompliantCodeRange defined in
src/unwinding-info-win64.cc.

Note that using V8_EXPORT_PRIVATE instead does not work because
'BUILDING_V8_SHARED' is not defined.

Bug: v8:9224, v8:9251
Change-Id: Ic0265c22c1d6a4e4955f093bf8de0b5575bf6bde
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601423
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61598}
This commit is contained in:
Paolo Severini 2019-05-08 21:22:54 -07:00 committed by Commit Bot
parent e73776cfe3
commit 1b77e7e936

View File

@ -100,7 +100,7 @@ void SetUnhandledExceptionCallback(
// part of the registration of unwinding info. It is referenced by
// RegisterNonABICompliantCodeRange(), below, and by the unwinding info for
// builtins declared in the embedded blob.
extern "C" int CRASH_HANDLER_FUNCTION_NAME(
extern "C" __declspec(dllexport) int CRASH_HANDLER_FUNCTION_NAME(
PEXCEPTION_RECORD ExceptionRecord, ULONG64 EstablisherFrame,
PCONTEXT ContextRecord, PDISPATCHER_CONTEXT DispatcherContext) {
if (unhandled_exception_callback_g != nullptr) {