summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhei Makarov <serhei@serhei.io>2023-10-02 14:40:52 -0400
committerSerhei Makarov <serhei@serhei.io>2023-10-02 14:43:42 -0400
commit93da47e0714def0008b64b18fd33d40e75a4a477 (patch)
tree3b34f3ae5fb2ed202429d8ace594e56dd9af0d3f
parent520de848c880aea72cec45d16ccb7d4676627e62 (diff)
eu-stacktrace WIP: add SysprofCaptureStackUser declarations
Adding these declarations as a fallback saves some fuss, since eu-stacktrace can then be built with distro-provided sysprof-4 headers.
-rw-r--r--src/stacktrace.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/stacktrace.c b/src/stacktrace.c
index 7118a901..142c807d 100644
--- a/src/stacktrace.c
+++ b/src/stacktrace.c
@@ -84,8 +84,28 @@
option. */
#define HAVE_SYSPROF_4_HEADERS
#ifdef HAVE_SYSPROF_4_HEADERS
+
#include <sysprof-4/sysprof-capture-types.h>
-#endif
+
+/* XXX: To be added to new versions of sysprof. */
+#ifndef SYSPROF_CAPTURE_FRAME_STACK_USER
+
+#undef SYSPROF_CAPTURE_FRAME_LAST
+#define SYSPROF_CAPTURE_FRAME_STACK_USER 18
+#define SYSPROF_CAPTURE_FRAME_LAST 19
+
+SYSPROF_ALIGNED_BEGIN(1)
+typedef struct
+{
+ SysprofCaptureFrame frame;
+ uint64_t size;
+ int32_t tid;
+ unsigned char data[0];
+} SysprofCaptureStackUser
+SYSPROF_ALIGNED_END(1);
+
+#endif // ifndef SYSPROF_CAPTURE_FRAME_STACK_USER
+#endif // ifdef HAVE_SYSPROF_4_HEADERS
static char *input_path = NULL;
static int input_fd = -1;