[GHC] #5: fails if library has main()
GHC
ghc-devs at haskell.org
Sun Mar 6 09:53:30 UTC 2016
#5: fails if library has main()
-----------------------+----------------------
Reporter: cwitty | Owner: simonmar
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Driver | Version: 5.02
Resolution: Wont Fix | Keywords:
-----------------------+----------------------
Comment (by Sergei Trofimovich <siarheit@…>):
In [changeset:"ade1a461ab4ba3e6de3c4afe9fe9766b7b4e51b3/ghc"
ade1a461/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="ade1a461ab4ba3e6de3c4afe9fe9766b7b4e51b3"
Fix minimum alignment for StgClosure (Trac #11395)
The bug is observed on m68k-linux target as crash
in RTS:
-- a.hs:
main = print 43
$ inplace/bin/ghc-stage1 --make -debug a.hs
$ ./a
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x80463b0a in LOOKS_LIKE_INFO_PTR_NOT_NULL (p=32858)
at includes/rts/storage/ClosureMacros.h:248
(gdb) bt
#0 0x80463b0a in LOOKS_LIKE_INFO_PTR_NOT_NULL (p=32858)
at includes/rts/storage/ClosureMacros.h:248
#1 0x80463b46 in LOOKS_LIKE_INFO_PTR (p=32858)
at includes/rts/storage/ClosureMacros.h:253
#2 0x80463b6c in LOOKS_LIKE_CLOSURE_PTR (
p=0x805aac6e <stg_dummy_ret_closure>)
at includes/rts/storage/ClosureMacros.h:258
#3 0x80463e4c in initStorage ()
at rts/sm/Storage.c:121
#4 0x8043ffb4 in hs_init_ghc (...)
at rts/RtsStartup.c:181
#5 0x80455982 in hs_main (...)
at rts/RtsMain.c:51
#6 0x80003c1c in main ()
GHC assumes last 2 pointer bits are tags on 32-bit targets.
But here 'stg_dummy_ret_closure' address violates the assumption:
LOOKS_LIKE_CLOSURE_PTR (p=0x805aac6e <stg_dummy_ret_closure>)
I've added compiler hint for static StgClosure objects to
align closures at least by their natural alignment (what GHC assumes).
See Note [StgWord alignment].
Signed-off-by: Sergei Trofimovich <siarheit at google.com>
Test Plan: ran basic test on m68k qemu, it got past ASSERTs
Reviewers: simonmar, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1974
GHC Trac Issues: #11395
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list