[GHC] #9920: Segfault in arm binary

GHC ghc-devs at haskell.org
Wed Dec 24 23:16:03 UTC 2014


#9920: Segfault in arm binary
-------------------------------------------+---------------------------
              Reporter:  erikd             |            Owner:
                  Type:  bug               |           Status:  new
              Priority:  normal            |        Milestone:
             Component:  Compiler          |          Version:  7.11
            Resolution:                    |         Keywords:
      Operating System:  Unknown/Multiple  |     Architecture:  arm
       Type of failure:  Runtime crash     |       Difficulty:  Unknown
             Test Case:                    |       Blocked By:
              Blocking:                    |  Related Tickets:
Differential Revisions:                    |
-------------------------------------------+---------------------------

Comment (by erikd):

 If I compile my test file `test.ll` with llvm-3.5 compiled from source I
 get:

 {{{
 llc:
 /home/erikd/LLVM/llvm-3.5.0.src/lib/Target/ARM/InstPrinter/../ARMGenAsmWriter.inc:6048:
     void llvm::ARMInstPrinter::printInstruction(const llvm::MCInst *,
 llvm::raw_ostream &):
     Assertion `Bits != 0 && "Cannot print this instruction."' failed.
 0  llc             0x0000000001391255
 llvm::sys::PrintStackTrace(_IO_FILE*) + 37
 1  llc             0x0000000001391a43
 2  libpthread.so.0 0x00007ffa635718d0
 3  libc.so.6       0x00007ffa6259e107 gsignal + 55
 4  libc.so.6       0x00007ffa6259f4e8 abort + 328
 5  libc.so.6       0x00007ffa62597226
 6  libc.so.6       0x00007ffa625972d2
 7  llc             0x0000000000a3df99
 llvm::ARMInstPrinter::printInstruction(llvm::MCInst
                                       const*, llvm::raw_ostream&) + 17673
 8  llc             0x0000000000a49052
 llvm::ARMInstPrinter::printInst(llvm::MCInst const*,
                                       llvm::raw_ostream&, llvm::StringRef)
 + 4322
 9  llc             0x00000000013171f5
 10 llc             0x00000000008fa01c
 11 llc             0x0000000000dbbba0 llvm::AsmPrinter::EmitFunctionBody()
 + 3840
 12 llc             0x00000000008ebad6
 13 llc             0x0000000000ea44fc
 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 124
 14 llc             0x00000000012c8cbb
 llvm::FPPassManager::runOnFunction(llvm::Function&) + 539
 15 llc             0x00000000012c8f2b
 llvm::FPPassManager::runOnModule(llvm::Module&) + 43
 16 llc             0x00000000012c94a7
 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 967
 17 llc             0x00000000005926ea main + 6682
 18 libc.so.6       0x00007ffa6258ab45 __libc_start_main + 245
 19 llc             0x000000000058f62d
 Stack dump:
 0.      Program arguments: /home/erikd/LLVM/3.5/bin/llc -O3 -relocation-
 model=static
                 --enable-tbaa=true -mattr=+v7,+vfp3 -float-abi=hard
 test.ll -o test.s
 1.      Running pass 'Function Pass Manager' on module 'test.ll'.
 2.      Running pass 'ARM Assembly / Object Emitter' on function
 '@"stg_init_finish$def"'
 }}}

 This does not happen with llvm-3.5 installed from Debian.

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


More information about the ghc-tickets mailing list