ports/184291: [lang/ghc] Unhandled ELF relocation types on dynamically loading object files with GHCi

Gabor Pali pgj at FreeBSD.org
Mon Nov 25 19:50:00 UTC 2013


>Number:         184291
>Category:       ports
>Synopsis:       [lang/ghc] Unhandled ELF relocation types on dynamically loading object files with GHCi
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 25 19:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Gabor Pali
>Release:        FreeBSD/i386 9.2-RELEASE
>Organization:
The FreeBSD Project
>Environment:
Both i386 and amd64, starting from 9.0-RELEASE.
>Description:
GHCi cannot handle ELF symbols with relocation types 15 (i386) and 22 (amd64) (such as ThreadRuneLocale, coming from libc) when dynamically loading object files.

>How-To-Repeat:
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>

>Fix:
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.


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list