Murray Campbell <[email protected]> writes: > Hi, > > I am trying to help solve #9125 in which an ARM build creates binaries > that mangle Float values. > > After a great deal of help from rwbarton (detailed in the comments) it > would appear that the problem is actually in LLVM 3.0. (v3.0 is > virtually insisted upon in the iOS build instructions) > > Building GHC 7.8.3 for the iOS simulator with LLVM 3.4 produces a > compiler that creates well behaved binaries. > > Unfortunately, building the device version fails with several warnings > along the lines of: > > > /var/folders/02/0mv6cz6505x2xhzlr279k2340000gp/T/ghc5244_0/ghc5244_6-armv7s.s:2944:2: > warning: deprecated since v7, use 'dmb' > mcr p15, #0, r7, c7, c10, #5 > > and: > > libraries/ghc-prim/cbits/popcnt.c:76:38: > warning: shift count >= width of type [-Wshift-count-overflow] > popcount_tab[(unsigned char)(x >> 32)] + > ^ ~~ This is a case of an #ifdef being inappropriately x86 specific. The 32-bit popcnt implementation should be used on ARM yet the #ifdef looks at i386_HOST_ARCH.
> before bailing with > > > /var/folders/02/0mv6cz6505x2xhzlr279k2340000gp/T/ghc6860_0/ghc6860_6-armv7.s:3916:2: > error: out of range pc-relative fixup value > vldr d8, LCPI70_0 > ^ > > > /var/folders/02/0mv6cz6505x2xhzlr279k2340000gp/T/ghc6860_0/ghc6860_6-armv7s.s:3916:2: > error: out of range pc-relative fixup value > vldr d8, LCPI70_0 > ^ > > Next I tried to build HEAD (plus phabricator D208) with LLVM 3.4 but > got the same error. > I've never seen an error of this form. What symbol definitions does this error occur in? > Various adventures with LLVM 3.5 ended with the same error. > Be aware that LLVM 3.5 will require D155 due to changes in where LLVM aliases are accepted. Cheers, - Ben
pgpgy0jdpNuET.pgp
Description: PGP signature
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
