[GHC] #11123: Arm: checkProddableBlock: invalid fixup in runtime linker
GHC
ghc-devs at haskell.org
Mon Nov 30 22:27:14 UTC 2015
#11123: Arm: checkProddableBlock: invalid fixup in runtime linker
----------------------------------------+-----------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.0.1
Component: Compiler | Version: 7.11
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: arm
Type of failure: Building GHC failed | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
----------------------------------------+-----------------------------
Comment (by erikd):
Disassembling libm using `objdump -D /lib/arm-linux-
gnueabihf/libm-2.19.so` shows that the `sin` function is indeed Thumb code
(indicated by instruction offsets that are not a multiple of 2):
{{{
00015850 <sin>:
15850: b570 push {r4, r5, r6, lr}
15852: ed2d 8b0e vpush {d8-d14}
15856: b08a sub sp, #40 ; 0x28
15858: eeb0 8b40 vmov.f64 d8, d0
1585c: ac01 add r4, sp, #4
1585e: 4620 mov r0, r4
15860: f7f0 fd48 bl 62f4 <feholdexcept>
...
}}}
This problem is encountered when ghci loads a Haskell module which calls
maths functions in `libm`.
{{{
Loading package ghc-prim-0.5.0.0 ... linking ... ghc-stage2:
Symbol `__aeabi_idiv' requires Thumb linkage which is not currently
supported.
}}}
However on IRC, @rwbarton suggests:
{{{
.... the rts linker should use its own copy of sin to satisfy a use in a
.o file
}}}
so maybe this is still a bug in Phab:D1470.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11123#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list