[GHC] #10046: Linker script patch in rts/Linker.c doesn't work for (non-C or non-en..) locales
GHC
ghc-devs at haskell.org
Wed Dec 30 19:58:14 UTC 2015
#10046: Linker script patch in rts/Linker.c doesn't work for (non-C or non-en..)
locales
-------------------------------------+-------------------------------------
Reporter: hgolden | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 8.0.1
Component: Runtime System | Version: 7.8.4
(Linker) |
Resolution: | Keywords: linker script
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: 2615, 9237 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by hgolden):
Replying to [comment:4 ezyang]:
> hgolden, I actually am having difficulty running your script and
reproducing the same output. There are two problems. First, the path that
is in your example doesn't exist on my system. There are a few possible
candidates: `/usr/lib/x86_64-linux-gnu/libc.so` is a linker script that
has contents
>
> {{{
> /* GNU ld script
> Use the shared library, but some functions are only in
> the static library, so try that secondarily. */
> OUTPUT_FORMAT(elf64-x86-64)
> GROUP ( /lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-
gnu/libc_nonshared.a AS_NEEDED ( /lib/x86_64-linux-gnu/ld-
linux-x86-64.so.2 ) )
> }}}
My apology for not replying promptly! The library above should have the
same results on your system. Please replace the library name in the
`loadDLL` function with the name of any linker script on your test system.
> Then, when I run the script compiled by GHC 7.6.3, I get `Nothing`. So I
can't seem to coax out the Chinese output.
If you are getting `Nothing` that suggests a problem with the regular
expression. It should find the `/lib/x86_64-linux-gnu/libc.so.6` in the
GROUP command and try to `dlopen` it. I will investigate.
> BTW, in GHC 7.10 you need to initialize the object linker, otherwise it
will segfault.
In the past the RTS initialized the object linker when it started up.
Maybe this is related to a change in that logic?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10046#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list