[llvm-dev] POssible bug in the Arm code generator
Erik de Castro Lopo via llvm-dev
llvm-dev at lists.llvm.org
Mon Sep 7 22:29:37 PDT 2015
Thanks to everyone who has responded so far. I'm just beginning to find
out how much I still don't know about Arm.
Renato Golin via llvm-dev wrote:
> This could be some library code
Nope, this is the core GHC binary run with the '--interactive'
command line option.
> that you're calling without using branch exchange.
Today I learned about the "bx" instruction.
> Maybe you're compiling specifically disabling
> interworking?
You mean its possible to disable Thumb instructions altogether?
I would like to try that if its as easy as passing an additional
command line parameter to llc or opt.
> Can you give us a bit more context?
The context is me debugging an illegal instruction problem that
is fully documented in all its horrid glory here:
https://ghc.haskell.org/trac/ghc/ticket/10375
TL;DR is I have at least two different Arm boards that hit this
problem even though apart from this problem the compiler actually
does work.
> What's your CPU,
The two boards are:
* Qualcomm APQ 8084 (Flattened Device Tree)
* ODROID-XU3
and he CPUs are listed as
* ARMv7 Processor rev 1 (v7l)
* ARMv7 Processor rev 3 (v7l)
respectively, both running Debian testing and using the debian
llvm-3.6 packaged binaries.
> and what are your back-end options in GHC?
The only non-standard thing I am doing is passing `--enable-unregistererised`
to the configure script to disable GHC calling convention (because GDB
doesn't understand it (yet)).
The build process is as follows:
* Debian packaged ghc-7.8.4 builds ghc-stage1 from the git repo.
* ghc-stage1 builds ghc-stage2
and its ghc-stage2 that exhibits this problem. I can't test ghc-stage1
because the interactive command line feature is disabled in the stage1
compiler.
At ealier stanges of debugging this I though it was a problem with
GHC runtime linker. I still have not discounted that as a possibility.
Cheers,
Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
More information about the llvm-dev
mailing list