[GHC] #10244: "memory barriers unimplemented on this architecture" on ARM pre-ARMv7
GHC
ghc-devs at haskell.org
Wed May 13 22:13:07 UTC 2015
#10244: "memory barriers unimplemented on this architecture" on ARM pre-ARMv7
-------------------------------------+-------------------------------------
Reporter: rwbarton | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.10.2
Component: Runtime System | Version: 7.10.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: arm
Type of failure: Building GHC | Test Case:
failed | Blocking:
Blocked By: | Differential Revisions:
Related Tickets: |
-------------------------------------+-------------------------------------
Changes (by slyfox):
* cc: slyfox (added)
Comment:
Do you have a particular build error? I wonder what else
is visible there.
From what I see in the '''includes/stg/SMP.h''' it's just omission
in implementation.
There is properly-looking '''write_barrier'''
{{{
EXTERN_INLINE void
write_barrier(void) {
...
#elif arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv7)
__asm__ __volatile__ ("" : : : "memory");
#elif (arm_HOST_ARCH && !defined(arm_HOST_ARCH_PRE_ARMv7)) ||
aarch64_HOST_ARCH
__asm__ __volatile__ ("dmb st" : : : "memory");
...
}}}
but not load_load:
{{{
EXTERN_INLINE void
load_load_barrier(void) {
...
#elif arm_HOST_ARCH && !defined(arm_HOST_ARCH_PRE_ARMv7)
__asm__ __volatile__ ("dmb" : : : "memory");
...
}}}
I think stubbing out with
{{{
__asm__ __volatile__ ("" : : : "memory");
}}}
is best we can do there.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10244#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list