forked from pool/nodejs-electron
- Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
59 lines
2.2 KiB
Diff
59 lines
2.2 KiB
Diff
Compiler complains about missing symbol on arm64:
|
|
|
|
[ 1362s] ../../third_party/swiftshader/src/Reactor/LLVMJIT.cpp: In member function 'void rr::JITBuilder::runPasses()':
|
|
[ 1362s] ../../third_party/swiftshader/src/Reactor/LLVMJIT.cpp:942:34: error: 'AddressSanitizerPass' is not a member of 'llvm'; did you mean 'AddressSanitizerOptions'?
|
|
[ 1362s] 942 | pm.addPass(llvm::AddressSanitizerPass(llvm::AddressSanitizerOptions{}));
|
|
[ 1362s] | ^~~~~~~~~~~~~~~~~~~~
|
|
[ 1362s] | AddressSanitizerOptions
|
|
|
|
The offending code is dead, and this patch proves it.
|
|
|
|
--- src/third_party/swiftshader/src/Reactor/LLVMJIT.cpp.old 2022-11-30 10:29:13.429851800 +0000
|
|
+++ src/third_party/swiftshader/src/Reactor/LLVMJIT.cpp 2022-11-30 21:19:08.387147100 +0000
|
|
@@ -930,18 +930,19 @@
|
|
{
|
|
pm.addPass(llvm::createModuleToFunctionPassAdaptor(std::move(fpm)));
|
|
}
|
|
-
|
|
+#if __has_feature(memory_sanitizer)
|
|
if(__has_feature(memory_sanitizer) && msanInstrumentation)
|
|
{
|
|
llvm::MemorySanitizerOptions msanOpts(0 /* TrackOrigins */, false /* Recover */, false /* Kernel */, true /* EagerChecks */);
|
|
pm.addPass(llvm::MemorySanitizerPass(msanOpts));
|
|
}
|
|
-
|
|
+#endif
|
|
+#if __has_feature(address_sanitizer)
|
|
if(__has_feature(address_sanitizer) && ADDRESS_SANITIZER_INSTRUMENTATION_SUPPORTED)
|
|
{
|
|
pm.addPass(llvm::AddressSanitizerPass(llvm::AddressSanitizerOptions{}));
|
|
}
|
|
-
|
|
+#endif
|
|
pm.run(*module, mam);
|
|
#else // Legacy pass manager
|
|
llvm::legacy::PassManager passManager;
|
|
@@ -961,18 +962,19 @@
|
|
passManager.add(llvm::createSROAPass());
|
|
passManager.add(llvm::createInstructionCombiningPass());
|
|
}
|
|
-
|
|
+#if __has_feature(memory_sanitizer)
|
|
if(__has_feature(memory_sanitizer) && msanInstrumentation)
|
|
{
|
|
llvm::MemorySanitizerOptions msanOpts(0 /* TrackOrigins */, false /* Recover */, false /* Kernel */);
|
|
passManager.add(llvm::createMemorySanitizerLegacyPassPass(msanOpts));
|
|
}
|
|
-
|
|
+#endif
|
|
+#if __has_feature(address_sanitizer)
|
|
if(__has_feature(address_sanitizer) && ADDRESS_SANITIZER_INSTRUMENTATION_SUPPORTED)
|
|
{
|
|
passManager.add(llvm::createAddressSanitizerFunctionPass());
|
|
}
|
|
-
|
|
+#endif
|
|
passManager.run(*module);
|
|
#endif
|
|
}
|