diff options
author | Ben Gamari <ben@smart-cactus.org> | 2015-10-23 09:15:20 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2015-11-23 15:40:37 +0100 |
commit | 36b213903db2363c2153f93c78bce079083f3d68 (patch) | |
tree | e019546b932384af9f91abf756c1db7287bb9bf0 /includes | |
parent | 70ee6389ca6be37f369395f100e609e9f16a7200 (diff) | |
download | haskell-36b213903db2363c2153f93c78bce079083f3d68.tar.gz |
rts: Expose more libdw symbols
Diffstat (limited to 'includes')
-rw-r--r-- | includes/rts/Libdw.h | 14 |
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 */ |