Jump to page: 1 2 3
Thread overview
Hope d has great development in Raspberry Pi
Jan 22, 2016
FrankLike
Jan 22, 2016
Dicebot
Jan 23, 2016
Kai Nacke
Jan 25, 2016
FrankLike
Jan 25, 2016
FrankLike
Jan 28, 2016
Dan Olson
Jan 30, 2016
Dan Olson
Jan 30, 2016
Dan Olson
Jan 31, 2016
Dan Olson
Feb 01, 2016
Kai Nacke
Feb 02, 2016
Joakim
Feb 02, 2016
Dan Olson
Bad arm -O0 codegen (was Re: Hope d has great development in Raspberry Pi)
Feb 06, 2016
Dan Olson
Feb 06, 2016
David Nadlinger
Feb 02, 2016
FrankLike
Feb 02, 2016
Dan Olson
Feb 04, 2016
FrankLike
Feb 04, 2016
Joakim
Mar 11, 2016
Kai Nacke
Mar 12, 2016
Dan Olson
Mar 12, 2016
Kai Nacke
January 22, 2016
D is very good,I like LDC,but it's not use on Raspberry Pi,I hope D will have a great development in Raspberry Pi.
Now,I only work on GDC for  Raspberry Pi.
Will you don't like LDC work on  Raspberry Pi?

Thank you.
January 22, 2016
On Friday, 22 January 2016 at 13:53:09 UTC, FrankLike wrote:
> D is very good,I like LDC,but it's not use on Raspberry Pi,I hope D will have a great development in Raspberry Pi.
> Now,I only work on GDC for  Raspberry Pi.
> Will you don't like LDC work on  Raspberry Pi?
>
> Thank you.

http://archlinuxarm.org has working LDC package AFAIK.
January 23, 2016
On Friday, 22 January 2016 at 13:53:09 UTC, FrankLike wrote:
> Will you don't like LDC work on  Raspberry Pi?

Hi FrankLike!

Please, could you tell us what you are missing?
LDC has support for Linux/ARM builtin. You should be able to compile on or cross-compile for the Raspberry Pi.

Regards,
Kai

January 25, 2016
On Saturday, 23 January 2016 at 15:58:42 UTC, Kai Nacke wrote:
> Please, could you tell us what you are missing?
> LDC has support for Linux/ARM builtin. You should be able to compile on or cross-compile for the Raspberry Pi.
>
> Regards,
> Kai

Sorry,I copy the 'ldc2-0.17.0-beta1-linux-x86_64.tar.xz' to Ubuntu 15.10 x64,that downloads from
https://github.com/ldc-developers/ldc/releases/download/v0.17.0-beta1/ldc2-0.17.0-beta1-linux-x86_64.tar.xz,read the 'readme',and check the gcc,all is ok,but ldc2 not work,why?

Why not make the ldc2-0.17.0-beta1-linux-x86_64.deb ? or  'apt-get install ldc2'?

Thank you.
January 25, 2016
Στις 25-01-2016, ημέρα Δευ, και ώρα 15:28 +0000, ο/η FrankLike via digitalmars-d-ldc έγραψε:
> Sorry,I copy the 'ldc2-0.17.0-beta1-linux-x86_64.tar.xz' to
> Ubuntu 15.10 x64,that downloads from
> https://github.com/ldc-developers/ldc/releases/download/v0.17.0-beta1
> /ldc2-0.17.0-beta1-linux-x86_64.tar.xz,read the 'readme',and check
> the gcc,all is ok,but ldc2 not work,why?
> 
> Why not make the ldc2-0.17.0-beta1-linux-x86_64.deb ? or 'apt-get install ldc2'?
> 
> Thank you.

Debian ldc2 package will be uploaded soon (actually it's ldc not ldc2).

Konstantinos
January 25, 2016
On Monday, 25 January 2016 at 15:37:17 UTC, Konstantinos Margaritis wrote:
> Debian ldc2 package will be uploaded soon (actually it's ldc not ldc2).
>
> Konstantinos

Good work,thank you very much!

Frank
January 28, 2016
FrankLike <1150015857@qq.com> writes:

> On Monday, 25 January 2016 at 15:37:17 UTC, Konstantinos Margaritis wrote:
>> Debian ldc2 package will be uploaded soon (actually it's ldc not
>> ldc2).
>>
>> Konstantinos
>
> Good work,thank you very much!
>
> Frank

Do you know how long does it take for Debian packages to be available for Raspbian?  The existing package has a useless ldc.

Here is the current state of things.  I updated my Pi to Jessie, did apt-get ldc which gives:

LDC - the LLVM D compiler (0.14.0):
  based on DMD v2.065 and LLVM 3.5.0

A simple hello world program ends in:

_Unwind_RaiseException failed with reason code: -1090604416 Aborted

Not too suprising with version 0.14.0.  There have been much exception handling improvements since then.
-- 
Dan
January 30, 2016
Quick status of LDC on Pi.  I made a build of ldc master on Raspbian Jessie against LLVM 3.5 available with apt-get.  Everything builds ok, but there are runtime problems.  Both Fibers and exceptions cause SEGV.

At least now I have a working and up-to-date Pi dev environment.
-- 
Dan
January 30, 2016
Dan Olson <gorox@comcast.net> writes:

> Quick status of LDC on Pi.  I made a build of ldc master on Raspbian Jessie against LLVM 3.5 available with apt-get.  Everything builds ok, but there are runtime problems.  Both Fibers and exceptions cause SEGV.
>
> At least now I have a working and up-to-date Pi dev environment.

Ironically, Fibers do work with optimize compile.  Something does wrong with -O0, some bad codegen in spots.

Simple phobos hello world works, just make sure you give -O to enable optimizer.

pi@raspberrypi:~ $ cat hellod.d
import std.stdio;

void main()
{
   writeln("hi");
}
pi@raspberrypi:~ $ /mnt/usbhd/ldc-dev/build-llvm35/bin/ldc2 -O hellod.d
pi@raspberrypi:~ $ ./hellod
hi
pi@raspberrypi:~ $ /mnt/usbhd/ldc-dev/build-llvm35/bin/ldc2 -version
LDC - the LLVM D compiler (f94c34):
  based on DMD v2.068.2 and LLVM 3.5.0
  Default target: arm-unknown-linux-gnueabihf
  Host CPU: arm1176jz-s
  http://dlang.org - http://wiki.dlang.org/LDC

  Registered Targets:
    aarch64    - AArch64 (little endian)
    aarch64_be - AArch64 (big endian)
    arm        - ARM
    arm64      - AArch64 (little endian)
    arm64_be   - AArch64 (big endian)
    armeb      - ARM (big endian)
    cpp        - C++ backend
    hexagon    - Hexagon
    mips       - Mips
    mips64     - Mips64 [experimental]
    mips64el   - Mips64el [experimental]
    mipsel     - Mipsel
    msp430     - MSP430 [experimental]
    nvptx      - NVIDIA PTX 32-bit
    nvptx64    - NVIDIA PTX 64-bit
    ppc32      - PowerPC 32
    ppc64      - PowerPC 64
    ppc64le    - PowerPC 64 LE
    r600       - AMD GPUs HD2XXX-HD6XXX
    sparc      - Sparc
    sparcv9    - Sparc V9
    systemz    - SystemZ
    thumb      - Thumb
    thumbeb    - Thumb (big endian)
    x86        - 32-bit X86: Pentium-Pro and above
    x86-64     - 64-bit X86: EM64T and AMD64
    xcore      - XCore
January 31, 2016
Dan Olson <gorox@comcast.net> writes:
> Ironically, Fibers do work with optimize compile.  Something does wrong with -O0, some bad codegen in spots.
>
> Simple phobos hello world works, just make sure you give -O to enable optimizer.

Picking away at LDC on arm-linux.

I am assuming that very few folks are trying LDC with target arm-unknown-linux-gnueabihf because LLVM really has a problem with simple global variables (__gshared).  It is not LDC, but LLVM.  The codegen to load a simple global variable is all wrong with optimizer disabled (-O0).

// load x into a register

	ldr	r0, .LCPI0_0
	ldr	r0, [r0]
	ldr	r0, [r0]        // what?! an extra load? SEGV!

// elsewhere, x is defined as
x:
	.long	0
.LCPI0_0:
	.long	x


Clang is ok at -O0.  But if I take clang IR output (-emit-llvm) and generate code with llc -O0, it too has extra ldr instruction.  Clang must be adding some optimization passes at -O0 that are different than llc -O0.  I think LDC uses same passes as llc, so there is the problem.

Next, see if LLVM has a bug filed for this and find that extra optimization pass for LDC.
-- 
Dan
« First   ‹ Prev
1 2 3