[GHC] #10375: arm: ghci hits an illegal instruction

GHC ghc-devs at haskell.org
Mon Sep 14 23:01:59 UTC 2015


#10375: arm: ghci hits an illegal instruction
-------------------------------------+-------------------------------------
        Reporter:  erikd             |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  high              |               Milestone:  7.10.3
       Component:  Runtime System    |                 Version:  7.10.1
  (Linker)                           |
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:  arm
 Type of failure:  GHCi crash        |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by erikd):

 Added some debug to `rts/Linker.c` to print anything related to the
 function `hSetBuffering` and get:

 {{{
 GHCi, version 7.11.20150912: http://www.haskell.org/ghc/  :? for help

 HSbase-4.8.2.0-FkKrfrxMoa06H6w6uNoJiJ.o, nentires 414047, section 1,
 symtab 14, strtab 15
 base_GHCziIOziHandle_hSetBuffering1_entry   is 0xb3eb63cd, is_thumb 1,
 R_ARM_THM_MOVW_ABS_NC
 base_GHCziIOziHandle_hSetBuffering1_entry   is 0xb3eb63cd, is_thumb 1,
 R_ARM_THM_MOVT_ABS

 HSbase-4.8.2.0-FkKrfrxMoa06H6w6uNoJiJ.o, nentires 103794, section 2,
 symtab 14, strtab 15
 base_GHCziIOziHandle_hSetBuffering1_info    is 0xb4198738, is_thumb 0,
 R_ARM_ABS32
 base_GHCziIOziHandle_hSetBuffering1_closure is 0xb41965b0, is_thumb 0,
 R_ARM_ABS32
 base_GHCziIOziHandle_hSetBuffering_entry    is 0xb3eb6471, is_thumb 1,
 R_ARM_ABS32
 base_GHCziIOziHandle_hSetBuffering_info     is 0xb4198718, is_thumb 0,
 R_ARM_ABS32
 base_GHCziIOziHandle_hSetBuffering1_entry   is 0xb3eb63cd, is_thumb 1,
 R_ARM_ABS32

 turnOffBuffering start
 turnOffBuffering middle
 Illegal instruction
 }}}

 Not sure why `base_GHCziIOziHandle_hSetBuffering1_entry` has 3 entries,
 all with the same address, but with different `ELF_R_TYPE` types, ie
 `R_ARM_THM_MOVW_ABS_NC`, `R_ARM_THM_MOVT_ABS` and `R_ARM_THM_MOVT_ABS`.

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


More information about the ghc-tickets mailing list