Arm binaries

kinke noone at nowhere.com
Thu Nov 2 23:57:15 UTC 2017


On Saturday, 28 October 2017 at 17:39:40 UTC, kinke wrote:
> On Saturday, 28 October 2017 at 17:16:46 UTC, Joakim wrote:
>> On Saturday, 28 October 2017 at 14:54:17 UTC, Johannes Loher 
>> wrote:
>>> On Thursday, 26 October 2017 at 16:58:59 UTC, Johan Engelen 
>>> wrote:
>>>> On Wednesday, 25 October 2017 at 10:03:37 UTC, Andrea 
>>>> Fontana wrote:
>>>>> On Wednesday, 25 October 2017 at 07:01:59 UTC, Joakim wrote:
>>>>>> On Wednesday, 25 October 2017 at 06:54:54 UTC, Andrea 
>>>>>> Fontana wrote:
>>>>>>>
>>>>>>> Provided link redirect me to github releases page. But 
>>>>>>> there's no arm binaries available.
>>>>>>
>>>>>> Only a couple ldc devs have linux/ARM boards and they're 
>>>>>> not usually able to provide a build.
>>>>>
>>>>> QEMU can emulate armhf, you don't need a board, i guess.
>>>>> By the way on aliexpress an orangepi costs 6.99$ and run 
>>>>> linux on arm.
>>>>
>>>> Great! So can I write you down as the person who uploads the 
>>>> ARM binaries upon beta/release?  ;-) ;P
>>>>
>>>> - Johan
>>>
>>> I own a Raspberry Pi 3. If somebody walks me through the 
>>> necessary steps, I'd be willing to provide binaries for ARMv7.
>>
>> Another option would be to cross-compile the native linux/ARM 
>> ldc with a bootstrap ldc cross-compiler for linux/x64, as I 
>> did with the Android/ARM package I setup for the Termux 
>> Android app:
>>
>> https://github.com/termux/termux-packages/tree/master/packages/ldc
>>
>> That works well for me with Android/ARM, might work for 
>> linux/ARM too.
>
> Yeah that's probably what we should be looking into.
>
> I gave QEMU a try (in my Linux VirtualBox ;)); after 26 hours 
> of building (!), I finally have a LLVM 5.0.0. For other 
> interested guys: I can recommend following 
> https://translatedcode.wordpress.com/2016/11/03/installing-debian-on-qemus-32-bit-arm-virt-board/. I gave it 2 gigs of memory and 3 CPU cores (but QEMU itself seems to use only a single CPU host core).

Follow-up: LDC 1.5 comes with an ARMv6 hard-float package for 
Linux again: 
https://github.com/ldc-developers/ldc/releases/tag/v1.5.0
It was built on Debian Jessie with gcc 4.9 and includes 
static/shared runtime libs, the LTO linker plugin and 
dub/rdmd/dustmite/ddemangle, that's why it's not exactly tiny.
For reference, building LDC in QEMU takes about 3 hours on my 
machine.

To spare others a few hours, I also uploaded the prebuilt LLVM 
5.0.0 (without LLD): 
https://github.com/ldc-developers/llvm/releases/tag/ldc-v5.0.0
It was built with CMake variable 
LLVM_DEFAULT_TARGET_TRIPLE=arm-none-linux-gnueabihf in order to 
emit ARMv6 code by default, just like Debian's gcc. See 
https://github.com/ldc-developers/ldc/issues/1988 for context.


More information about the digitalmars-d-ldc mailing list