[GHC] #13617: Segfault when using SSE and R_X86_64_PC32 relocations to .rdata on Windows in GHCi (was: GHCI Linker incorrectly handles the R_X86_64_PC32 relocation)

GHC ghc-devs at haskell.org
Sun Jul 9 19:00:02 UTC 2017


#13617: Segfault when using SSE and R_X86_64_PC32 relocations to .rdata on Windows
in GHCi
--------------------------------+----------------------------------------
        Reporter:  RyanGlScott  |                Owner:  Phyx-
            Type:  bug          |               Status:  new
        Priority:  normal       |            Milestone:
       Component:  GHCi         |              Version:  8.0.2
      Resolution:               |             Keywords:
Operating System:  Windows      |         Architecture:  Unknown/Multiple
 Type of failure:  GHCi crash   |            Test Case:
      Blocked By:               |             Blocking:
 Related Tickets:  #7134        |  Differential Rev(s):
       Wiki Page:               |
--------------------------------+----------------------------------------

Comment (by Phyx-):

 My initial analysis was wrong, the code isn't expecting a trampoline, it's
 data not code.

 It's simply trying to load the loop iteration increment into the SSE
 registers.

 {{{
 (gdb) x/10x 0xced02b8
 0xced02b8:      0x00000001      0x00000001      0x00000001      0x00000001
 0xced02c8:      0x3a434347      0x65522820      0x202c3276      0x6c697542
 0xced02d8:      0x79622074      0x59534d20
 }}}

 The loop seems to have undergone 4-way vectorization. I'm not certain why
 this is failing..

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13617#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list