summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch')
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch79
1 files changed, 0 insertions, 79 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch
deleted file mode 100644
index a1200e01c1..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Lower-init-prio-for-extension-attributes.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 8ff34dbff1eac612326b492d0b2cb93901ad7e2b Mon Sep 17 00:00:00 2001
-From: Jani Nurminen <jani.nurminen@windriver.com>
-Date: Fri, 24 Sep 2021 09:56:11 +0200
-Subject: [PATCH] Lower init prio for extension attributes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Added PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY in
-code generation for extension attributes.
-It has lower prio than PROTOBUF_ATTRIBUTE_INIT_PRIORITY to
-ensure that extension attributes are initialized after
-other attribute.
-This is needed in some applications to avoid segmentation fault.
-
-Reported by Karl-Herman Näslund.
-
-Signed-off-by: Jani Nurminen <jani.nurminen@windriver.com>
-
-Rebase on master
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- src/google/protobuf/compiler/cpp/cpp_extension.cc | 2 +-
- src/google/protobuf/port_def.inc | 12 ++++++++++++
- src/google/protobuf/port_undef.inc | 1 +
- 3 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/src/google/protobuf/compiler/cpp/cpp_extension.cc b/src/google/protobuf/compiler/cpp/cpp_extension.cc
-index 8604da5f2..984345ebe 100644
---- a/src/google/protobuf/compiler/cpp/cpp_extension.cc
-+++ b/src/google/protobuf/compiler/cpp/cpp_extension.cc
-@@ -164,7 +164,7 @@ void ExtensionGenerator::GenerateDefinition(io::Printer* printer) {
- }
-
- format(
-- "PROTOBUF_ATTRIBUTE_INIT_PRIORITY "
-+ "PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY "
- "::$proto_ns$::internal::ExtensionIdentifier< $extendee$,\n"
- " ::$proto_ns$::internal::$type_traits$, $field_type$, $packed$ >\n"
- " $scoped_name$($constant_name$, $1$);\n",
-diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
-index 7e9119112..a5117090d 100644
---- a/src/google/protobuf/port_def.inc
-+++ b/src/google/protobuf/port_def.inc
-@@ -614,6 +614,18 @@
- #define PROTOBUF_ATTRIBUTE_INIT_PRIORITY
- #endif
-
-+// Some embedded systems get a segmentation fault if extension attributes are
-+// initialized with higher or equal priority as other attributes. This gives
-+// extension attributes high priority, but lower than other attributes.
-+#ifdef PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
-+#error PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY was previously defined
-+#endif
-+#if PROTOBUF_GNUC_MIN(3, 0) && (!defined(__APPLE__) || defined(__clang__)) && !((defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__)))
-+#define PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY __attribute__((init_priority((103))))
-+#else
-+#define PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
-+#endif
-+
- #ifdef PROTOBUF_PRAGMA_INIT_SEG
- #error PROTOBUF_PRAGMA_INIT_SEG was previously defined
- #endif
-diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc
-index ccc5daf56..2b28f3a31 100644
---- a/src/google/protobuf/port_undef.inc
-+++ b/src/google/protobuf/port_undef.inc
-@@ -83,6 +83,7 @@
- #undef PROTOBUF_HAVE_ATTRIBUTE_WEAK
- #undef PROTOBUF_ATTRIBUTE_NO_DESTROY
- #undef PROTOBUF_ATTRIBUTE_INIT_PRIORITY
-+#undef PROTOBUF_EXTENSION_ATTRIBUTE_INIT_PRIORITY
- #undef PROTOBUF_PRAGMA_INIT_SEG
- #undef PROTOBUF_ASAN
- #undef PROTOBUF_MSAN
---
-2.26.2
-