[Bug 249070] Using backtrace() from libexecinfo causes program to fail with "libunwind: EHHeaderParser::decodeTableEntry: bad fde: CIE ID is not zero"
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Sep 6 15:17:57 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249070
Dimitry Andric <dim at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|New |Open
Assignee|bugs at FreeBSD.org |dim at FreeBSD.org
--- Comment #2 from Dimitry Andric <dim at FreeBSD.org> ---
This is sort of a duplicate of bug 241562, which was solved in base r354418, by
turning on unwind tables by default for non-amd64 arches. The example program
fails because there is no unwind information embedded in the tracer functions
in libexecinfo.
As a workaround, you can either apply the following diff, then rebuild and
reinstall libexecinfo:
Index: lib/libexecinfo/Makefile
===================================================================
--- lib/libexecinfo/Makefile (revision 365364)
+++ lib/libexecinfo/Makefile (working copy)
@@ -11,6 +11,8 @@ SHLIB_MAJOR= 1
INCS= execinfo.h
SRCS= backtrace.c symtab.c unwind.c
+CFLAGS+= -funwind-tables
+
LIBADD= elf
MAN= backtrace.3
Alternatively, base r354418 can be backported to releng/12.1, but that would
require a full rebuild of clang, *and* a rebuild of libexecinfo, so that seems
overkill to me.
I'm unsure whether this is serious enough to warrant an Errata Notice.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list