
#8834: 64-bit windows cabal.exe segfaults in GC ----------------------------------+---------------------------------- Reporter: awson | Owner: jstolarek Type: bug | Status: patch Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 (amd64) Type of failure: Runtime crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ----------------------------------+---------------------------------- Comment (by simonpj): Interesting; good progress. * Can you (by experiment) find which of registers is causing the problem. You fixed it by making them ''all'' caller saves, but that might be more than what's needed. * You say "It looks that sinking is not performed here for some reason that I was unable to figure out". I suspect it'd really be worth figuring this out. Maybe it's important! * You hypothesise that the C procedure `memchr` is destroying a callee- saves register. Might it be possible to test this hypothesis directly? For example, make the Haskell code call `my_memchr` instead, and handwrite `my_memchr` in assembly code, so that it saves all the registers (in a static location), calls the real `memchr`, and then checks whether the registers have changed. That would absolutely confirm that a claimed callee-saves register is being destroyed. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8834#comment:56 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler