rts: unrust 'libbfd' debug symbols parser
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 5 Oct 2014 20:20:39 +0000 (21:20 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 5 Oct 2014 21:10:08 +0000 (22:10 +0100)
commitcb0a503a44bf016de3d9042906c6ac0c0821ffea
tree02cd71760f54c6b5857eefc3d5f26f13fbf057aa
parent3549c952b535803270872adaf87262f2df0295a4
rts: unrust 'libbfd' debug symbols parser

Summary:
Patch does the following:
- fixes detection of working libbfd on modern linux
  platforms (where bfd_uncompress_section_contents is a macro)
- disables 'bfd' by default and adds '--enable-bfd-debug'
  configure option. As bfd's ABI is unstable
  the feature is primarily useful by ghc hackers.

Not done (subject for another patch):
- one-time bfd object memory leak in DEBUG_LoadSymbols
- in '-dynamic' mode debugging symbols are loaded only for
  current executable, not all libraries it is linked against.

Fixes Issue #8790

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Test Plan: built unregisterised ghc on amd64 and ran './hello +RTS -Di' there

Reviewers: simonmar, austin

Reviewed By: simonmar, austin

Subscribers: thomie, simonmar, ezyang, carter

Differential Revision: https://phabricator.haskell.org/D193

GHC Trac Issues: #8790
aclocal.m4
configure.ac
rts/Printer.c
rts/RtsStartup.c