Skip to content

-eventlog / -debug should imply -rtsopts

The -eventlog flag links the program to the threaded rts. The eventlog is only generated when using the -l RTS flag, but by default we get

$ ./foo +RTS -l
Setup: Most RTS options are disabled. Link with -rtsopts to enable them.

You have to use both -eventlog and -rtsopts to be able to run with +RTS -l.

I think -eventlog should imply -rtsopts because it's pointless to use the -eventlog way if one never uses the runtime flag +RTS -l.

The -rtsopts was added as a security measure, so that by default the runtime +RTS -RTS options would not be available. Since -eventlog is a non-default option then I think it is also safe from a security POV to have it imply -rtsopts.

For the security paranoid, at most, one could consider in the userguide where -rtsopts is mentioned and the security issue pointed out, that it could also mention what other flags imply -rtsopts.

BTW, I tried making a patch for this, but the -eventlog flag is a static flag while -rtsopts is a dynamic flag and it appears hard to make one imply the other (the only case where that is done is labeled as a hack).

Trac metadata
Trac field Value
Version 7.0.1
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Driver
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information