[PRELIMINARY PATCH] rts/Linker.c for ARM

Karel Gardas karel.gardas at centrum.cz
Thu Oct 13 08:16:45 CEST 2011


On 10/13/11 01:06 AM, Ben Gamari wrote:
> On Thu, 13 Oct 2011 00:15:39 +0200, Karel Gardas<karel.gardas at centrum.cz>  wrote:
>> On 10/12/11 08:44 PM, Ben Gamari wrote:
>>> On Wed, 12 Oct 2011 20:35:12 +0200, Karel Gardas<karel.gardas at centrum.cz>   wrote:
>>>>
>>>> I'm also using this to make it compilable:
>>>>
>>> Yep, you are right. Merged.
>>
>> FYI, relocation type 43 still unhandled:
>>
> Looking back at my own ~/.cabal/lib, I can't see any R_ARM_MOVW_ABS_NCs
> (type 43). It seems like your build environment doesn't produce Thumb
> executables by default so your common relocations will likely be much
> different then mine. Could you attach the output of the following so I
> can figure out what sort of relocations to expect in non-Thumb
> environments?
>
> objdump -r `find ~/.cabal/lib -iname '*.o'`

This will not help you that much, since I don't have any libs installed 
using cabal on ARM. Anyway, doing relocations filtering in both stage2 
and libraries directories reveals:

R_ARM_ABS32
R_ARM_CALL
R_ARM_MOVT_ABS
R_ARM_MOVW_ABS_NC
R_ARM_REL32
R_ARM_TARGET1
R_ARM_THM_CALL
R_ARM_THM_JUMP11
R_ARM_THM_JUMP24
R_ARM_THM_MOVT_ABS
R_ARM_THM_MOVW_ABS_NC

Also, yes, my LLVM usually produces ARM code and not Thumb(2) by 
default, whole Ubuntu is based on Thumb2 on the other hand...

Karel



More information about the Cvs-ghc mailing list