[swift-dev] R_ARM_GOT_PREL error when building Swift on Pi from source
Michael Gottesman
mgottesman at apple.com
Sat Apr 16 16:54:08 CDT 2016
> On Apr 16, 2016, at 2:23 PM, William Dillon <william at housedillon.com> wrote:
>
> What LLVM are you using?
>
> You have to use the one from my github (and the arm branch) or it won't work:
>
> https://github.com/hpux735/swift-llvm/tree/arm <https://github.com/hpux735/swift-llvm/tree/arm>
>
> I haven't had time to upstream the changes to LLVM.
I am not actually involved in this discussion beyond ensuring that Lang who works in this area is aware of it.
>
> - Will
>
>> On Apr 16, 2016, at 1:49 PM, Michael Gottesman via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>
>> +CC Lang Hames (Just in case)
>>> On Apr 15, 2016, at 6:45 PM, Joe Groff via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>>
>>>>
>>>> On Apr 15, 2016, at 1:24 PM, Timothy Wood via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>>>
>>>>
>>>> I was able to get Swift running on my Raspberry Pi using a variant of the instructions at <http://dev.iachieved.it/iachievedit/open-source-swift-on-raspberry-pi-2/ <http://dev.iachieved.it/iachievedit/open-source-swift-on-raspberry-pi-2/>> but sadly the packages I’ve found haven’t been updated for Swift 2.2 (so things like `associatedtype` don’t work nicely between Mac and Linux).
>>>>
>>>> So, I thought I’d try building from source again hoping that the previous failure was resolved. But I’m still hitting the unimplemented relocation issue in LLVM’s RuntimeDyldELF.cpp, in RuntimeDyldELF::resolveARMRelocation(), where the relocation type that is being requested is R_ARM_GOT_PREL.
>>>>
>>>> I thought I read in my last go-round on this that this was a regression in LLVM, but I’m not finding a pointer to this now, so maybe I’m misremembering.
>>>>
>>>> Is there a trick to avoiding this issue in LLVM, or an existing patch somewhere that I can cherry-pick?
>>>
>>> What linker are you using? GNU ld 2.26 in particular changed the behavior of protected visibility in a way that's incompatible with our usage, and we haven't fully implemented a workaround. You might try using gold or an older binutils, if that's what you're currently using.
>>>
>>> -Joe
>>> _______________________________________________
>>> swift-dev mailing list
>>> swift-dev at swift.org <mailto:swift-dev at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-dev <https://lists.swift.org/mailman/listinfo/swift-dev>
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev at swift.org <mailto:swift-dev at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160416/36110c2d/attachment.html>
More information about the swift-dev
mailing list