[Webkit-unassigned] [Bug 125581] New: JS broken on ARMv6 because of dmb instruction

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 11 09:20:24 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=125581

           Summary: JS broken on ARMv6 because of dmb instruction
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: tomeu at tomeuvizoso.net


DMB was added in ARMv7, build is broken like this (sorry, no proper output handy):

/tmp/ccXgxs8q.s:4813: Error: selected processor does not support ARM mode `dmb sy'


tomeu`:  jbrianceau: regarding http://trac.webkit.org/changeset/159571 , I noticed that the implementation of memoryFence() fails to build on armv6 because dmb isn't available
tomeu`:  is that intentional?
jbrianceau:  tomeu`: no, not intentional
jbrianceau:  tomeu`: I didn't notice that because I have an armv7 target without thumb2 instruction set support
jbrianceau:  tomeu`: but if it fails to build, it should comes from LLINT and not http://trac.webkit.org/changeset/159571
tomeu`:  jbrianceau: ok, I was getting /tmp/ccXgxs8q.s:4813: Error: selected processor does not support ARM mode `dmb sy' and git log -Sdmb pointed to that commit
jbrianceau:  tomeu`: actually this commit would lead to runtime issues, not build
jbrianceau:  tomeu`: and your build issue should come from
jbrianceau:  tomeu`: this one : http://trac.webkit.org/changeset/159545
jbrianceau:  tomeu`: if you remove "$asm.puts "dmb sy"" from arm.rb file, it will build (but you'll have issues at runtime because of r159571)
tomeu`:  jbrianceau: ok, I know close to nothing about ARM assembler, but I have been told that on ARMv6 that can safely be a nop or at most a mcr?
jbrianceau:  tomeu`: ok. If a nop is fine, then you might want to replace "dmb sy" by "nop" in arm.rb file, and also
jbrianceau:  tomeu`: replace m_assembler.dmbSY() by m_assembler.nop() in MacroAssemblerARM.h file
jbrianceau:  tomeu`: it should build and run properly if what you've been told is ok :)
tomeu`:  jbrianceau: oh, I solved my particular issue by rebasing my branch before the commit that introduced the fence :)
tomeu`:  was just saying for the future
tomeu`:  will open a bug with our conversation
jbrianceau:  tomeu`: allright

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list