8
0
Files
nodejs-electron/fpic.patch

119 lines
3.7 KiB
Diff
Raw Normal View History

Build targets which go in shared libraries as PIC to avoid linker error
Use -fpic for code which goes only in dlls (gives smaller code),
-fPIC for code which goes in both dlls and main executable
--- a/third_party/angle/BUILD.gn
+++ b/third_party/angle/BUILD.gn
@@ -119,6 +119,8 @@
# This config is applied to internal Angle targets (not pushed to dependents).
config("internal_config") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
include_dirs = [
"include",
"src",
--- a/third_party/angle/src/third_party/volk/BUILD.gn
+++ b/third_party/angle/src/third_party/volk/BUILD.gn
@@ -13,6 +13,8 @@
}
source_set("volk") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"volk.c",
"volk.h",
--- a/third_party/swiftshader/BUILD.gn
+++ b/third_party/swiftshader/BUILD.gn
@@ -15,9 +15,9 @@
import("src/Reactor/reactor.gni")
config("swiftshader_config") {
- cflags = []
+ cflags = ["-fpic", "-fno-semantic-interposition"]
defines = []
- asmflags = []
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
if (is_clang) {
cflags += [ "-Wno-shadow" ]
--- a/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn
+++ b/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn
@@ -356,7 +356,8 @@
":spvtools_include_gen_dirs",
]
- cflags = []
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
if (is_clang) {
cflags += [
"-Wno-implicit-fallthrough",
--- a/third_party/vulkan-deps/spirv-tools/src/BUILD.gn
+++ b/third_party/vulkan-deps/spirv-tools/src/BUILD.gn
@@ -356,7 +356,8 @@
":spvtools_include_gen_dirs",
]
- cflags = []
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
if (is_clang) {
cflags += [
"-Wno-implicit-fallthrough",
--- a/third_party/vulkan_memory_allocator/BUILD.gn
+++ b/third_party/vulkan_memory_allocator/BUILD.gn
@@ -35,6 +35,8 @@
}
source_set("vulkan_memory_allocator") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"include/vk_mem_alloc.h",
"vma.cpp",
--- a/third_party/zlib/google/BUILD.gn
+++ b/third_party/zlib/google/BUILD.gn
@@ -40,6 +40,8 @@
# This allows other users of Chromium's zlib library, but don't use Chromium's
# //base, to reuse some boilerplate code.
static_library("compression_utils_portable") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"compression_utils_portable.cc",
"compression_utils_portable.h",
--- src/ui/qt/BUILD.gn.old 2022-12-02 23:49:17.792117400 +0100
+++ src/ui/qt/BUILD.gn 2022-12-04 14:32:48.407196100 +0100
@@ -43,6 +43,8 @@
# target instead.
public = [ "qt_interface.h" ]
sources = [ "qt_interface.cc" ]
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
}
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - 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
2023-01-18 06:07:26 +00:00
if (!use_sysroot) {
@@ -76,6 +78,8 @@
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - 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
2023-01-18 06:07:26 +00:00
sources += get_target_outputs(":generate_moc")
deps += [ ":generate_moc" ]
}
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
}
component("qt") {
--- src/third_party/abseil-cpp/BUILD.gn.old
+++ src/third_party/abseil-cpp/BUILD.gn
@@ -132,6 +132,8 @@ config("absl_define_config") {
config("absl_default_cflags_cc") {
cflags_cc = []
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
if (is_clang) {
cflags_cc += [
# TODO(crbug.com/588506): Explicitly enable conversion warnings.