mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-18 08:15:56 +01:00
libunwind: guard unreachable() macro to avoid redefinition with stddef.h
The build fails due to a macro redefinition conflict for `unreachable()`. GCC 15.2.0 defines `unreachable()` in `stddef.h`, and `libunwind_i.h` also defines it based on the presence of `HAVE__BUILTIN_UNREACHABLE`. This causes a redefinition error when building with `-Werror`. Added a guard around the `unreachable()` macro definition in `libunwind_i.h` to ensure it is only defined if not already present. Signed-off-by: Sasi Kumar Maddineni <quic_sasikuma@quicinc.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
838dbfc496
commit
aa430364a2
|
|
@ -0,0 +1,42 @@
|
||||||
|
From e64495a109eefaf87235729f4dd79fc9121c16a6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sasi Kumar Maddineni <quic_sasikuma@quicinc.com>
|
||||||
|
Date: Mon, 27 Oct 2025 19:39:05 +0530
|
||||||
|
Subject: [PATCH] libunwind: guard unreachable() macro to avoid redefinition
|
||||||
|
with stddef.h
|
||||||
|
|
||||||
|
The build fails due to a macro redefinition conflict for `unreachable()`.
|
||||||
|
GCC 15.2.0 defines `unreachable()` in `stddef.h`, and `libunwind_i.h` also
|
||||||
|
defines it based on the presence of `HAVE__BUILTIN_UNREACHABLE`. This causes
|
||||||
|
a redefinition error when building with `-Werror`.
|
||||||
|
|
||||||
|
Added a guard around the `unreachable()` macro definition in `libunwind_i.h`
|
||||||
|
to ensure it is only defined if not already present.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Sasi Kumar Maddineni <quic_sasikuma@quicinc.com>
|
||||||
|
---
|
||||||
|
external/libunwind/include/libunwind_i.h | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/external/libunwind/include/libunwind_i.h b/external/libunwind/include/libunwind_i.h
|
||||||
|
index c06912a6..59a462df 100644
|
||||||
|
--- a/external/libunwind/include/libunwind_i.h
|
||||||
|
+++ b/external/libunwind/include/libunwind_i.h
|
||||||
|
@@ -88,11 +88,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(unreachable)
|
||||||
|
#if defined(HAVE__BUILTIN_UNREACHABLE)
|
||||||
|
# define unreachable() __builtin_unreachable()
|
||||||
|
#else
|
||||||
|
# define unreachable() do { } while (1)
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
# define UNW_DEBUG 1
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
|
|
@ -21,6 +21,7 @@ SRC_URI += " \
|
||||||
file://debian/external/libunwind/user_pt_regs.patch \
|
file://debian/external/libunwind/user_pt_regs.patch \
|
||||||
file://debian/external/libunwind/legacy_built-in_sync_functions.patch \
|
file://debian/external/libunwind/legacy_built-in_sync_functions.patch \
|
||||||
file://debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch \
|
file://debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch \
|
||||||
|
file://debian/external/libunwind/libunwind-guard-unreachable-macro-to-avoid-redefinit.patch \
|
||||||
\
|
\
|
||||||
file://debian/system/core/move-log-file-to-proper-dir.patch \
|
file://debian/system/core/move-log-file-to-proper-dir.patch \
|
||||||
file://debian/system/core/Added-missing-headers.patch \
|
file://debian/system/core/Added-missing-headers.patch \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user