summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2015-10-23 09:15:20 +0200
committerBen Gamari <ben@smart-cactus.org>2015-11-23 15:40:37 +0100
commit36b213903db2363c2153f93c78bce079083f3d68 (patch)
treee019546b932384af9f91abf756c1db7287bb9bf0 /includes
parent70ee6389ca6be37f369395f100e609e9f16a7200 (diff)
downloadhaskell-36b213903db2363c2153f93c78bce079083f3d68.tar.gz
rts: Expose more libdw symbols
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/Libdw.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/includes/rts/Libdw.h b/includes/rts/Libdw.h
index e4fac7aa41..3c71ac7529 100644
--- a/includes/rts/Libdw.h
+++ b/includes/rts/Libdw.h
@@ -77,14 +77,18 @@ typedef struct Location_ {
StgWord32 colno;
} __attribute__((packed)) Location;
-#ifdef USE_LIBDW
+struct LibdwSession_;
+typedef struct LibdwSession_ LibdwSession;
+/* Free a backtrace */
void backtraceFree(Backtrace *bt);
-#else
+/* Request a backtrace of the current stack state.
+ * May return NULL if a backtrace can't be acquired. */
+Backtrace *libdwGetBacktrace(LibdwSession *session);
-INLINE_HEADER void backtraceFree(Backtrace *bt STG_UNUSED) { }
-
-#endif /* USE_LIBDW */
+/* Lookup Location information for the given address.
+ * Returns 0 if successful, 1 if address could not be found. */
+int libdwLookupLocation(LibdwSession *session, Location *loc, StgPtr pc);
#endif /* RTS_LIBDW_H */