forked from pool/nodejs-electron
- Enable LTO on x64 (Tumbleweed and Fedora only) now that it works correctly. * add seccomp_pbf-no-lto.patch - Do not build some chromium features unused in Electron. - Remove upstream's tinkering with optimization flags. * change chromium-102-compiler.patch - Remove upstream's warning suppression * change chromium-102-compiler.patch * add -Wno-class-memaccess due to log spam * add -Wno-error=narrowing due to non-compliant generated code - Add -DIS_SERIAL_ENABLED_PLATFORM to work around upstream C++ ODR error. - Build main binary as PIE instead of PIC. * change chromium-102-compiler.patch * add fpic.patch - Compile with gcc11 (was 10) on Leap now that it's available. - Add backported patches * compact_enc_det_generated_tables-Wnarrowing.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * select_file_dialog_linux_kde-Wodr.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * unzip-Wsubobject-linkage.patch * web_contents_impl-Wsubobject-linkage.patch - Add patches to fix C++ bugs and submit them upstream * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * v8_initializer-PageAllocator-fpermissive.patch OBS-URL: https://build.opensuse.org/request/show/1031228 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=42
62 lines
2.3 KiB
Diff
62 lines
2.3 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/BUILD.gn.old 2022-10-01 13:53:03.367797474 +0200
|
|
+++ src/base/allocator/partition_allocator/BUILD.gn 2022-10-05 14:23:53.999860356 +0200
|
|
@@ -51,6 +51,24 @@
|
|
}
|
|
}
|
|
|
|
+static_library("partition_alloc_asm") {
|
|
+ defines = [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
|
+ if (gcc_lto) {
|
|
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
|
+ }
|
|
+ if (current_cpu == "x64") {
|
|
+ sources = [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "x86") {
|
|
+ sources = [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "arm") {
|
|
+ sources = [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
|
|
+ } else if (current_cpu == "arm64") {
|
|
+ sources = [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
|
|
+ } else {
|
|
+ # To support a trampoline for another arch, please refer to v8/src/heap/base.
|
|
+ }
|
|
+}
|
|
+
|
|
target(partition_alloc_target_type, "partition_alloc") {
|
|
sources = [
|
|
"address_pool_manager.cc",
|
|
@@ -262,20 +278,10 @@
|
|
"partition_alloc_base/mac/scoped_typeref.h",
|
|
]
|
|
}
|
|
- if (current_cpu == "x64") {
|
|
- defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
|
- sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "x86") {
|
|
- defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
|
- sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "arm") {
|
|
- defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
|
- sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
|
|
- } else if (current_cpu == "arm64") {
|
|
+ deps = []
|
|
+ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm" || current_cpu == "arm64") {
|
|
defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
|
- sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
|
|
- } else {
|
|
- # To support a trampoline for another arch, please refer to v8/src/heap/base.
|
|
+ deps += [ ":partition_alloc_asm" ]
|
|
}
|
|
public_deps = [
|
|
":chromecast_buildflags",
|
|
@@ -289,7 +295,6 @@
|
|
":partition_alloc_implementation",
|
|
":memory_tagging",
|
|
]
|
|
- deps = []
|
|
public_configs = []
|
|
if (is_android) {
|
|
# tagging.cc requires __arm_mte_set_* functions.
|