[GHC] #10531: modules that can be linked successfully when compiled with optimizations, fail to link with: multiple definition of `__stginit_ZCMain'
GHC
ghc-devs at haskell.org
Mon Jun 15 20:58:44 UTC 2015
#10531: modules that can be linked successfully when compiled with optimizations,
fail to link with: multiple definition of `__stginit_ZCMain'
-------------------------------------+-------------------------------------
Reporter: imz | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.1
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: GHC rejects | (amd64)
valid program | Test Case: attached
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by imz):
One difference is that without `-O1` it doesn't recompile `A.hs` when
compiling `B.hs`, whereas with `-O1` it does (although superficially there
is no extra reason to do so in the second case, i.e., no change in flags
which might cause this: `A.hs` has been compiled with `-O1` already in the
second case; it could be understood if `-O1` always caused recompilation,
no matter what the previous flags were):
{{{
removed 'A.o'
ghc -Wall A.hs -main-is A.main -o a
[1 of 1] Compiling A ( A.hs, A.o )
Linking a ...
ghc -Wall B.hs -main-is B.main -o b
[2 of 2] Compiling B ( B.hs, B.o ) [flags changed]
Linking b ...
./A.o: In function `siv_closure':
(.data+0x0): multiple definition of `__stginit_ZCMain'
}}}
vs
{{{
removed 'A.o'
ghc -Wall -O1 A.hs -main-is A.main -o a
[1 of 1] Compiling A ( A.hs, A.o )
Linking a ...
ghc -Wall -O1 B.hs -main-is B.main -o b
[1 of 2] Compiling A ( A.hs, A.o ) [flags changed]
[2 of 2] Compiling B ( B.hs, B.o ) [flags changed]
Linking b ...
}}}
(success)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10531#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list