Unhandled ELF relocation types on dynamically loading object files with GHCi
GHCi cannot handle ELF symbols with relocation types 15 (i386) and 22 (amd64) (such as ThreadRuneLocale
, coming from libc on systems later than 9.0) when dynamically loading object files.
This can be reproduced by the issuing the following commands:
# pkg install hs-hs-bibutils
..
$ ghci
Prelude> :m Text.Bibutils
Prelude> bibl_init
Loading package syb-0.4.0 ... linking ... done.
Loading package hs-bibutils-5.0 ... linking ... <interactive>: /usr/local/lib/cabal/ghc-7.6.3/hs-bibutils-5.0/HShs-bibutils-5.0.o: unhandled ELF relocation(Rel) type 15
ghc: unable to load package `hs-bibutils-5.0'
Prelude>
The source file rts/Linker.c
, function do_Elf_Rela_relocations()
is missing the case branches for types 15 (R_386_TLS_IE
) and 22 (R_X86_64_GOTTPOFF
). They shall be implemented for FreeBSD.
Trac metadata
Trac field | Value |
---|---|
Version | 7.6.3 |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | GHCi |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | hvr |
Operating system | |
Architecture |