forked from pool/nodejs-electron
- Update to electron 29.3.1 * ABI break: NODE_MODULE_VERSION is now 121 * Chromium 122.0.6261.156 * Node 20.9.0 * V8 12.2 * The deprecated gpu-process-crashed event on app has been removed. * The deprecated renderer-process-crashed event on app and crashed event on WebContents and <webview> have been removed. * Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. * Added new webUtils.getPathForFile method to replace File.path augmentation. * see https://www.electronjs.org/blog/electron-29-0 and https://github.com/electron/electron/releases/tag/v29.0.0 for more * Security fixes for Angle (CVE-2024-3516) and Compositing (CVE-2024-3157) - Drop upstreamed patches * atspi.patch * chromium-117-blink-BUILD-mnemonic.patch * local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch * node-upgrade-llhttp-to-8.patch * policy_templates-deterministic.patch * v8-hide-private-symbols.patch * web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch - Add patches to fix build errors * aarch64-Xclang.patch * absl2023-encapsulated_web_transport-StrCat.patch * boringssl-internal-addc-cxx.patch * chromium-122-avoid-SFINAE-TypeConverter.patch * chromium-122-BookmarkNode-missing-operator.patch * distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch * distributed_point_functions-evaluate_prg_hwy-signature.patch * fake_ssl_socket_client-Wlto-type-mismatch.patch * grid_sizing_tree-Wchanges-meaning.patch * hit_test_request-missing-optional.patch * InternalAllocator-too-many-initializers.patch * mt21_util-flax-vector-conversions.patch * plus_address_types-missing-optional.patch * race_network_request_write_buffer_manager-missing-optional.patch * resolution_monitor-missing-bitset.patch * script_promise_resolver-explicit-specialization.patch * search_engine_choice_service-missing-optional.patch * system-yuv.patch - Replace abseil-remove-unused-targets.patch with chromium-122-abseil-shims.patch - Remove dead code from third_party/ * remove-dawn.patch * remove-openscreen.patch * remove-password-manager-and-policy.patch * remove-puffin.patch * remove-rust.patch * remove AFL-2.0, BSD-Protection and IJG from licence list, because the relevant libraries (xdg-mime, bsdiff and iccjpeg) are no longer shipped. - Leap, Fedora: use bundled re2 * drop replace-StringPiece-with-string_view.patch - Fedora 38: use bundled abseil * drop pending_task_safety_flag-abseil-2022-nullability.patch * drop thread_annotations-fix-build-with-system-abseil.patch - Leap 15.5: Reverse upstream changes to build with old wayland * wayland-proto-31-cursor-shape.patch - Leap 15.5/6: Reverse upstream changes to build with old ffmpeg * Cr122-ffmpeg-new-channel-layout.patch - aarch64: reduce debuginfo due to linker OOM OBS-URL: https://build.opensuse.org/request/show/1169276 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=141
76 lines
3.1 KiB
Diff
76 lines
3.1 KiB
Diff
Compile files which declare functions in inline assembly without LTO due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703
|
|
|
|
--- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.old 2022-10-01 13:53:03.367797474 +0200
|
|
+++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn 2022-10-05 14:23:53.999860356 +0200
|
|
@@ -90,6 +90,33 @@ if (!is_debug || partition_alloc_optimiz
|
|
_add_configs += [ "//build/config/compiler:no_optimize" ]
|
|
}
|
|
|
|
+if (use_starscan) {
|
|
+ static_library("partition_alloc_asm") {
|
|
+ if (gcc_lto) {
|
|
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
|
+ }
|
|
+ if (current_cpu == "x64") {
|
|
+ assert(pcscan_stack_supported)
|
|
+ sources = [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "x86") {
|
|
+ assert(pcscan_stack_supported)
|
|
+ sources = [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "arm") {
|
|
+ assert(pcscan_stack_supported)
|
|
+ sources = [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "arm64") {
|
|
+ assert(pcscan_stack_supported)
|
|
+ sources = [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "riscv64") {
|
|
+ assert(pcscan_stack_supported)
|
|
+ sources = [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
|
|
+ } else {
|
|
+ assert(!pcscan_stack_supported)
|
|
+ # To support a trampoline for another arch, please refer to v8/src/heap/base.
|
|
+ }
|
|
+ }
|
|
+}
|
|
+
|
|
component("raw_ptr") {
|
|
# `gn check` is unhappy with most `#includes` when PA isn't
|
|
# actually built.
|
|
@@ -497,25 +524,10 @@ if (is_clang_or_gcc) {
|
|
# The Android NDK supports PR_MTE_* macros as of NDK r23.
|
|
defines += [ "HAS_PR_MTE_MACROS" ]
|
|
}
|
|
+ deps = [ ":allocator_base" ]
|
|
if (use_starscan) {
|
|
- if (current_cpu == "x64") {
|
|
- assert(pcscan_stack_supported)
|
|
- sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "x86") {
|
|
- assert(pcscan_stack_supported)
|
|
- sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "arm") {
|
|
- assert(pcscan_stack_supported)
|
|
- sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "arm64") {
|
|
- assert(pcscan_stack_supported)
|
|
- sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "riscv64") {
|
|
- assert(pcscan_stack_supported)
|
|
- sources += [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
|
|
- } else {
|
|
- # To support a trampoline for another arch, please refer to v8/src/heap/base.
|
|
- assert(!pcscan_stack_supported)
|
|
+ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm" || current_cpu == "arm64" || current_cpu == "riscv64") {
|
|
+ deps += [ ":partition_alloc_asm" ]
|
|
}
|
|
}
|
|
if (use_freelist_pool_offsets) {
|
|
@@ -536,7 +548,6 @@ if (is_clang_or_gcc) {
|
|
":memory_tagging",
|
|
"//build/config/compiler:wexit_time_destructors",
|
|
]
|
|
- deps = [ ":allocator_base" ]
|
|
public_configs = []
|
|
if (is_android) {
|
|
# tagging.cc requires __arm_mte_set_* functions.
|