[RTS] Add getObjectLoadStatus
authorBartosz Nitka <niteria@gmail.com>
Mon, 18 Sep 2017 14:53:56 +0000 (07:53 -0700)
committerBartosz Nitka <niteria@gmail.com>
Mon, 18 Sep 2017 16:17:31 +0000 (09:17 -0700)
commitcdaf5f2027ea9678e9f92e9140c79da2daa78360
treef5faf4681779da5f65352639fa85354c97b91c17
parent2258a2936bbeebcf671e19e8d6408b3a611c329d
[RTS] Add getObjectLoadStatus

This adds a function to the RTS linker API which lets the
user check the status of dynamically linked objects.

It was initially proposed by @afarmer in D2068.
It's useful for testing the linker and also for detecting retention
problems in production.

It takes a path, because it's easier to use path as key instead of producing
some stable handle.

It returns an enum instead of bool, because I see no reason for destroying
information. All the complexity is already out in the open, so there's
nothing to save the users from.

Test Plan: ./validate

Reviewers: simonmar, Phyx, bgamari, austin, erikd

Reviewed By: Phyx, bgamari

Subscribers: rwbarton, afarmer, thomie

Differential Revision: https://phabricator.haskell.org/D3963
includes/rts/Linker.h
rts/Linker.c
rts/LinkerInternals.h