Skip to content

Teach the RTS to enable tracing (eventlog) when built in a profiling-enabled way

As a follow-up to !1070 (closed) and !1093 (closed): in addition to having -debug => -eventlog and -prof => -eventlog implications hardcoded in both build systems, the RTS itself is "aware" that building it in a debug-enabled way also makes it capable of producing eventlogs, thanks to these lines: https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/Config.h#L29-37

/* DEBUG implies TRACING and TICKY_TICKY  */
#if defined(DEBUG)
#if !defined(TRACING)
#define TRACING
#endif
...
#endif

Building the RTS with profiling support should have a similar effect (defining TRACING), but that is not the case at the moment. I'm making this issue as a reminder for myself or others to implement this. It should be a fairly straightforward patch, unless I'm missing something.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information