[LLVMbugs] [Bug 4961] New: [2.6] ARM GCC __sync_synchronize does not generate code

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Sep 12 12:42:03 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=4961

           Summary: [2.6] ARM GCC __sync_synchronize does not generate code
           Product: libraries
           Version: 2.6
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: xerxes at zafena.se
                CC: llvmbugs at cs.uiuc.edu
            Blocks: 4886


http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00600.html

GCC __sync_synchronize does not generate code for ARM.

This basically means LLVM_MULTITHREADED==1 are broken for ARM until we
implement some OS specific code to implement sys::MemoryFence() in
lib/System/Atomic.cpp for for ARM Darwin and ARM Linux when using GCC.

For ARM Linux this can be implemented by a system call to  __kernel_dmb a linux
kernel helper located at fixed address 0xffff0fa0 that can perform the
memmorybarrier for userspace applications.

For ARM Darwin i have no clue, please assist.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list