Slighly clean up symbol loading error.
authorTamar Christina <tamar@zhox.com>
Mon, 30 Jan 2017 16:58:19 +0000 (11:58 -0500)
committerBen Gamari <ben@smart-cactus.org>
Mon, 30 Jan 2017 19:01:35 +0000 (14:01 -0500)
commitf41c27d3ffdddbb1afe07de1bd25205061194c93
tree8de819f75b1fd3432bf144392ab00979ac02cbf1
parent559357384e300355b62edb3d60dcc3fadb942a50
Slighly clean up symbol loading error.

The symbol not found error that is triggered
during lazy-loading was a bit chaotic before.

This reformats it a bit to:

```
ghc-stage2.exe:  | E:\...\libLLVMSupport.a: unknown symbol `_ZN4llvm5APIntC1Ejyb'
ghc-stage2.exe:  | E:\...\libLLVMCore.a: unknown symbol `_ZN4llvm5APInt14AssignSlowCaseERKS0_'
ghc-stage2.exe:  | E:\...\libLLVMCore.a: unknown symbol `_ZN4llvm13ConstantRangeC1ENS_5APIntES1_'
ghc-stage2.exe:  | E:\...\libLLVMCore.a: unknown symbol `_ZN4llvm14FoldingSetImplC2Ej'
ghc-stage2.exe:  | E:\...\libLLVMCore.a: unknown symbol `_ZN4llvm15LLVMContextImplD1Ev'
ghc-stage2.exe:  | E:\...\libLLVMLTO.a: unknown symbol `_ZN4llvm11LLVMContextD1Ev'
ghc-stage2.exe:  | E:\...\libLLVMCore.a: unknown symbol `_ZNK4llvm5Value10getContextEv'
ghc-stage2.exe: ^^ Could not load 'LLVMIsMultithreaded', dependency unresolved.
See top entry above.
```

I have also thought about also showing the demangled names, as it may
be useful for the end user.

`libgcc` seems to provide a method for this so we wouldn't need any
extra dependency.

Any thoughts on this or would it not be useful?

Reviewers: austin, erikd, simonmar, bgamari

Reviewed By: bgamari

Subscribers: RyanGlScott, thomie, #ghc_windows_task_force

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

GHC Trac Issues: #13093, #13113
rts/Linker.c
rts/linker/PEi386.c