[GHC] #8380: Numerous testsuite failures on ARM due to missing mkJumpToAddr

GHC ghc-devs at haskell.org
Fri Nov 22 14:22:32 UTC 2013


#8380: Numerous testsuite failures on ARM due to missing mkJumpToAddr
-------------------------------------+---------------------------------
        Reporter:  bgamari           |            Owner:  thoughtpolice
            Type:  bug               |           Status:  patch
        Priority:  highest           |        Milestone:  7.8.1
       Component:  Compiler          |          Version:  7.7
      Resolution:                    |         Keywords:  patch
Operating System:  Unknown/Multiple  |     Architecture:  arm
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+---------------------------------

Comment (by Austin Seipp <austin@…>):

 In [changeset:"5bab1a57f572e29dfdffd6d1ce8e53a2772b18fd/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="5bab1a57f572e29dfdffd6d1ce8e53a2772b18fd"
 GHCi: Properly generate jump code for ARM (#8380)

 This adds code for jumping to given addresses for ARM, written by Ben
 Gamari.

 However, when allocating new infotables for bytecode (which is where
 this jump code occurs), we need to be sure to flush the cache on the
 execute pointer returned from allocateExec() - on systems like ARM, the
 processor won't reliably read back code or automatically cache flush,
 where x86 will.

 So we add a new flushExec primitive to call out to GCC's
 __builtin___clear_cache primitive, which will properly generate the
 correct code (nothing on x86, and a call to libgcc's __clear_cache on
 ARM) and make sure we use it after writing the code out.

 Authored-by: Ben Gamari <bgamari.foss at gmail.com>
 Authored-by: Austin Seipp <austin at well-typed.com>
 Signed-off-by: Austin Seipp <austin at well-typed.com>
 }}}

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


More information about the ghc-tickets mailing list