
which breaks the assumption that all the objects of a package are
#8696: linking fails with 'relocation R_X86_64_PC32 against undefined symbol' -----------------------------+---------------------------------- Reporter: Kata | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.8.1-rc1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: Other | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -----------------------------+---------------------------------- Comment (by simonmar): Replying to [comment:14 simonpj]: linked into the same shared library
Could we not simply drop that assumption? At least when we aren't
loading a whole package but instead are doing this "load module and its dependencies" stuff. It's a compile-time choice, so we can't do one thing for compiling a package and another when running TH. I think it's probably a big performance hit to drop this optimisation (but I don't have measurements). Basically the optimisation means that all the intra-package references can be direct, rather than going via the indirection table. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8696#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler