Re: GDC ARM beta #1 (with binary releases!)

2014-04-02 Thread Johannes Pfau
Am Wed, 02 Apr 2014 05:02:09 +
schrieb Ellery Newcomer ellery-newco...@utulsa.edu:

 On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
  I'm happy to announce the first GDC ARM beta on behalf of the 
  GDC
  team :)
 
 Cool!
 
 Just tried building it with crosstools-ng on my poor old laptop, 
 and 90 minutes in it gives me
 
 /home/ellery/Downloads/pitools/.build/src/gcc-custom/libphobos/libdruntime/core/threadasm.S:387:
  
 Error: selected processor does not support ARM mode `vpop 
 {d8-d15}'
 
 Any thoughts? My guesses are 1. set Default Instruction Set to 
 thumb (?) or 2. the submodules didn't update on git pull. But 
 I've gotten a working compiler out of this config before, from 
 Mr. Pfau's fork a few months ago, so prolly not 1.
 
 I'd test these myself, but I don't have a spare 180 minutes 
 tonight..
 
 gdc-4.8 branch; gcc-4.8.1, should be the linaro source, but not 
 sure

That's a strange GCC/binutils issue. The new Fiber ASM implementation
needs a FPU which at least provides VFP instructions. Now according to
GCC docs GCC only supports these FPUs(*). But if you don't specify one
explicitly it still produces this error. (I guess binutils supports
more FPUs and assumes an older default).

The solution is to set Use specific FPU in crosstool-NG to 'vfp' or
any other valid value.

(*) http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html (-mfpu=name)
Every value listed there works, only not specifying one fails



Re: GDC ARM beta #1 (with binary releases!)

2014-04-01 Thread Ellery Newcomer

On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
I'm happy to announce the first GDC ARM beta on behalf of the 
GDC

team :)


Cool!

Just tried building it with crosstools-ng on my poor old laptop, 
and 90 minutes in it gives me


/home/ellery/Downloads/pitools/.build/src/gcc-custom/libphobos/libdruntime/core/threadasm.S:387: 
Error: selected processor does not support ARM mode `vpop 
{d8-d15}'


Any thoughts? My guesses are 1. set Default Instruction Set to 
thumb (?) or 2. the submodules didn't update on git pull. But 
I've gotten a working compiler out of this config before, from 
Mr. Pfau's fork a few months ago, so prolly not 1.


I'd test these myself, but I don't have a spare 180 minutes 
tonight..


gdc-4.8 branch; gcc-4.8.1, should be the linaro source, but not 
sure


Re: GDC ARM beta #1 (with binary releases!)

2014-03-24 Thread Dejan Lekic

Hi all, I am back from a winter holiday.

Just wanted to say this - I have been building working GDC on my 
ODROID-U2 for a month or so, and haven't seen any problems there 
so far.


ARM support is pretty good I would say. GDC guys have done some 
amazing work, and I am eternally grateful for everything. :)


Kudos!


Re: GDC ARM beta #1 (with binary releases!)

2014-03-24 Thread Iain Buclaw
On 23 March 2014 23:05, Johannes Pfau nos...@example.com wrote:
 Am Sun, 23 Mar 2014 20:20:09 +
 schrieb Iain Buclaw ibuc...@gdcproject.org:

 On 17 March 2014 14:05, Johannes Pfau nos...@example.com wrote:
  I'm happy to announce the first GDC ARM beta on behalf of the GDC
  team :)
 

 Johannes, I just looked at the permissions of two randomly tested
 tarballs, and I see the extracted contents is absent of any write
 permissions.  More of an annoyance if you install via extract + move.
 No one likes a permission denied error when doing an operation from
 their own home directory.  :o)

 Regards
 Iain.

 crosstool-NG does that by default to prevent people from installing
 libraries into the sysroot.

 But if you think the we should set the write permissions it's a simple
 change in the configuration, I just kept the default.

I think it should be noted that these tarballs are meant to be kept
separate from system install locations (incase someone misses the
distinction).


Re: GDC ARM beta #1 (with binary releases!)

2014-03-24 Thread Iain Buclaw
On 24 March 2014 09:15, Dejan Lekic dejan.le...@gmail.com wrote:
 Hi all, I am back from a winter holiday.

 Just wanted to say this - I have been building working GDC on my ODROID-U2
 for a month or so, and haven't seen any problems there so far.

 ARM support is pretty good I would say. GDC guys have done some amazing
 work, and I am eternally grateful for everything. :)

 Kudos!


Thanks Dejan.  We should catch-up sometime. :)


Re: GDC ARM beta #1 (with binary releases!)

2014-03-23 Thread Iain Buclaw
On 17 March 2014 14:05, Johannes Pfau nos...@example.com wrote:
 I'm happy to announce the first GDC ARM beta on behalf of the GDC
 team :)


Johannes, I just looked at the permissions of two randomly tested
tarballs, and I see the extracted contents is absent of any write
permissions.  More of an annoyance if you install via extract + move.
No one likes a permission denied error when doing an operation from
their own home directory.  :o)

Regards
Iain.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-23 Thread ian
By the way, I verified this can also be used for bare metal ARM 
programming as described in


https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/wiki/1.0-Introduction

Very very cool,

 ian

On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
I'm happy to announce the first GDC ARM beta on behalf of the 
GDC

team :)

ARM support is now at a point where the automated tests (test 
suite,
unit tests) pass and we're ready for feedback from real world 
usage.
All changes have been fully integrated into the standard GDC 
sources
which also means we're currently using the 2.064 frontend. ARM 
support
is currently limited to ARM/GNU Linux, i.e. GlibC. (This 
especially
means Android and bare metal programming are not officially 
supported).


Please report all bugs to
http://bugzilla.gdcproject.org/

If you're sure that the bug is a bug in phobos/druntime/DMD 
frontend

and not GDC specific please report it to
https://d.puremagic.com/issues

 Getting the ARM beta 

* All necessary code changes have been merged into Druntime, 
Phobos and
  GDC and you can simply get the latest GDC sources and build 
them on

  ARM. ( http://wiki.dlang.org/GDC/Installation/Generic )
* GDC is also part of the official Archlinux ARM repositories. 
To get

  GDC for Archlinux ARM, simply use these commands:
  pacman -S gdc libgphobos-devel
  You can also get dub on Archlinux ARM by executing
  pacman -S dub
  Many thanks to Dicebot for maintaining the Archlinux packages.
* We provide binary cross compilers for windows X86 (32/64bit) 
and Linux
  x86 (32/64bit). We also provide 'native' compilers which run 
directly

  on ARM machines.
  http://gdcproject.org/downloads/
  Note: Linux distribution packages or building from source 
should be

  preferred.


 Precompiled GDC binaries 

Precompiled toolchains are available for ARM hardfloat and ARM
softfloat systems. These toolchains target systems with 
relatively

recent glibc and linux kernel (GlibC = 2.14, Linux = 2.6.32).

To check if you need the hard- or softfloat version run gcc -v 
where
gcc is a working gcc for your ARM target. Then look for 
--with-float=

in the output: --with-float=soft == softfloat
--with-float=hard == hardfloat

--with-float=softfp:
We have no special binaries for these systems. Either compile 
GDC from
sources or use the softfloat binaries. The softfloat binaries 
should
work in 99% of all cases. The only known exception is using 
floating
point functions in fibers, a 'softfp' toolchain is required in 
this

case.


To compile for ARM simply use this gdc executable:
./arm-gdcproject-linux-gnueabi[hf]/bin/arm-gdcproject-linux-gnueabi[hf]-gdc

Note: The toolchain directories are write protected. If you 
want to

change this, use chmod +w -R arm-gdcproject-linux-gnueabi[hf].

For more information on how to use additional libraries with 
the cross

compilers, see
http://crosstool-ng.org/hg/crosstool-ng/raw-file/e11a8a2e225d/docs/5%20-%20Using%20the%20toolchain.txt

 Known issues 

Known ARM-specific issues
* std.internal.math.gammafunction.d is not ported yet (Help 
here is

  very appreciated!)
* Array ops are evaluated in reverse order (WIP, FE 2.065)
  http://bugzilla.gdcproject.org/show_bug.cgi?id=8

Known issues with the binary builds
* If you extract 7z files and are asked if you want to 
overwrite files,
  answer yes (toolchains are built on case sensitive 
filesystems,
  extracting on case insensitive filesystems will cause this 
warning)
* Use the arm-...-gdc.exe executables and not 
bin/arm.../gdc.exe.

* Unfortunately there's no multilib support for now. We use
  crosstool-NG to build these toolchains and multilib support in
  crosstool-NG is broken. However, this might change in the 
next few

  months.




Re: GDC ARM beta #1 (with binary releases!)

2014-03-23 Thread Johannes Pfau
Am Sun, 23 Mar 2014 20:20:09 +
schrieb Iain Buclaw ibuc...@gdcproject.org:

 On 17 March 2014 14:05, Johannes Pfau nos...@example.com wrote:
  I'm happy to announce the first GDC ARM beta on behalf of the GDC
  team :)
 
 
 Johannes, I just looked at the permissions of two randomly tested
 tarballs, and I see the extracted contents is absent of any write
 permissions.  More of an annoyance if you install via extract + move.
 No one likes a permission denied error when doing an operation from
 their own home directory.  :o)
 
 Regards
 Iain.

crosstool-NG does that by default to prevent people from installing
libraries into the sysroot.

But if you think the we should set the write permissions it's a simple
change in the configuration, I just kept the default.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Dan Olson
Johannes Pfau nos...@example.com writes:

 iOS:
 I don't know about gdc/iOS but there seems to be some work on this
 for LDC:
 http://forum.dlang.org/thread/m2txc2kqxv@comcast.net

I tried adding iOS support to GDC a year ago, but the arm--darwin target
is missing in gcc since 4.2.  It was turning into a lot of work to add
arm-darwin back into 4.8.

LDC has an advantage for targeting iOS since Apple uses and contributes
to LLVM.  Much of D works today on iOS (armv7) except TLS and issues
with getting correct real type when cross-compiling, though Kai has a
solution for that.
-- 
Dan


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Iain Buclaw
On 18 Mar 2014 07:30, Dan Olson zans.is.for.c...@yahoo.com wrote:

 Johannes Pfau nos...@example.com writes:

  iOS:
  I don't know about gdc/iOS but there seems to be some work on this
  for LDC:
  http://forum.dlang.org/thread/m2txc2kqxv@comcast.net

 I tried adding iOS support to GDC a year ago, but the arm--darwin target
 is missing in gcc since 4.2.  It was turning into a lot of work to add
 arm-darwin back into 4.8.

 LDC has an advantage for targeting iOS since Apple uses and contributes
 to LLVM.  Much of D works today on iOS (armv7) except TLS and issues

GDC has tls emulation routines in its druntime. Once it is properly hooked
into the GC (all attempts I've tried currently get deadlocked) then the LDC
guys can reuse parts of it to work their backend.

 with getting correct real type when cross-compiling, though Kai has a
 solution for that.

Really? That is a problem? I'm not familiar with LDC or LLVM but I would at
least expect the backend be able to provide that information on command.
Or is this the fact that they still use native reals for CTFE?  If so, then
you can look at longdouble implementation in either DMD MSVC or GDC for
that.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Joakim

On Monday, 17 March 2014 at 16:07:33 UTC, Manu wrote:
On 18 March 2014 00:05, Johannes Pfau nos...@example.com 
wrote:



...



Awesome work guys! This is a landmark moment! :)
What's the status on baremetal, bionic, and iOS?


Android keeps coming up in this thread, so let me address that.  
The main druntime now has decent support for bionic, with 31 out 
of 38 modules' unit tests passing.  Emulated TLS is necessary for 
the rest of bionic, it looks like GDC just needs to wire in their 
existing implementation of emulated TLS.  I'm not sure if 
exception handling varies on Android/ARM, haven't looked into 
that.  It should be pretty straightforward to put these existing 
pieces together and get GDC working with Android, someone just 
needs to do it.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread David Nadlinger

On Tuesday, 18 March 2014 at 08:04:21 UTC, Iain Buclaw wrote:
Really? That is a problem? I'm not familiar with LDC or LLVM 
but I would at
least expect the backend be able to provide that information on 
command.
Or is this the fact that they still use native reals for CTFE?  
If so, then
you can look at longdouble implementation in either DMD MSVC or 
GDC for that.


It is indeed only a question of polishing Kai's implementation of 
'real' operations on the basis of llvm::APFloat, which then also 
allows us to drop Rainer's longdouble code for MSVC builds.


David


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Chris

Thank you very much guys! This is incredibly important work.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Jakob Ovrum

On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
I'm happy to announce the first GDC ARM beta on behalf of the 
GDC

team :)


Thanks a lot for the pre-compiled binaries! That really opens up 
ARM development for a much wider audience.


I'm encountering a problem with binaries built using the 
Windows-hosted cross-compiler; when trying to execute them on the 
ARM target, I get:


bash: ./hello: No such file or directory

The file is of course executable. What could cause this?


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Johannes Pfau
Am Tue, 18 Mar 2014 18:56:39 +
schrieb Jakob Ovrum jakobov...@gmail.com:

 On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
  I'm happy to announce the first GDC ARM beta on behalf of the 
  GDC
  team :)
 
 Thanks a lot for the pre-compiled binaries! That really opens up 
 ARM development for a much wider audience.
 
 I'm encountering a problem with binaries built using the 
 Windows-hosted cross-compiler; when trying to execute them on the 
 ARM target, I get:
 
 bash: ./hello: No such file or directory
 
 The file is of course executable. What could cause this?

That error message is indeed great ;-)

It's one of the following:
* hardfloat/softfloat mismatch between your arm system and
  the cross compiler
* glibc version on ARM system too old (2.14)
* linux kernel on ARM system too old (2.6.32)
* Other ABI mismatch

Can you post some details about your ARM target? Linux distribution and
hardware/CPU are most interesting.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-18 Thread Jakob Ovrum

On Tuesday, 18 March 2014 at 19:19:24 UTC, Johannes Pfau wrote:

Am Tue, 18 Mar 2014 18:56:39 +
schrieb Jakob Ovrum jakobov...@gmail.com:


On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
 I'm happy to announce the first GDC ARM beta on behalf of 
 the GDC

 team :)

Thanks a lot for the pre-compiled binaries! That really opens 
up ARM development for a much wider audience.


I'm encountering a problem with binaries built using the 
Windows-hosted cross-compiler; when trying to execute them on 
the ARM target, I get:


bash: ./hello: No such file or directory

The file is of course executable. What could cause this?


That error message is indeed great ;-)

It's one of the following:
* hardfloat/softfloat mismatch between your arm system and
  the cross compiler
* glibc version on ARM system too old (2.14)
* linux kernel on ARM system too old (2.6.32)
* Other ABI mismatch

Can you post some details about your ARM target? Linux 
distribution and

hardware/CPU are most interesting.


It's the OpenPandora 1GHz version, which has a TI DM3730 SoC. It 
runs Super Zaxxon (Pandora OS) which is based on Ångström 
GNU/Linux and runs kernel version 3.2.x.


The problem was indeed floating point - needed to be softfp. Now 
works, thanks!


GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Johannes Pfau
I'm happy to announce the first GDC ARM beta on behalf of the GDC
team :)

ARM support is now at a point where the automated tests (test suite,
unit tests) pass and we're ready for feedback from real world usage.
All changes have been fully integrated into the standard GDC sources
which also means we're currently using the 2.064 frontend. ARM support
is currently limited to ARM/GNU Linux, i.e. GlibC. (This especially
means Android and bare metal programming are not officially supported).

Please report all bugs to
http://bugzilla.gdcproject.org/

If you're sure that the bug is a bug in phobos/druntime/DMD frontend
and not GDC specific please report it to
https://d.puremagic.com/issues

 Getting the ARM beta  

* All necessary code changes have been merged into Druntime, Phobos and
  GDC and you can simply get the latest GDC sources and build them on
  ARM. ( http://wiki.dlang.org/GDC/Installation/Generic )
* GDC is also part of the official Archlinux ARM repositories. To get
  GDC for Archlinux ARM, simply use these commands:
  pacman -S gdc libgphobos-devel
  You can also get dub on Archlinux ARM by executing
  pacman -S dub
  Many thanks to Dicebot for maintaining the Archlinux packages.
* We provide binary cross compilers for windows X86 (32/64bit) and Linux
  x86 (32/64bit). We also provide 'native' compilers which run directly
  on ARM machines.
  http://gdcproject.org/downloads/
  Note: Linux distribution packages or building from source should be
  preferred.


 Precompiled GDC binaries 

Precompiled toolchains are available for ARM hardfloat and ARM
softfloat systems. These toolchains target systems with relatively
recent glibc and linux kernel (GlibC = 2.14, Linux = 2.6.32).

To check if you need the hard- or softfloat version run gcc -v where
gcc is a working gcc for your ARM target. Then look for --with-float=
in the output: --with-float=soft == softfloat
--with-float=hard == hardfloat

--with-float=softfp:
We have no special binaries for these systems. Either compile GDC from
sources or use the softfloat binaries. The softfloat binaries should
work in 99% of all cases. The only known exception is using floating
point functions in fibers, a 'softfp' toolchain is required in this
case.


To compile for ARM simply use this gdc executable:
./arm-gdcproject-linux-gnueabi[hf]/bin/arm-gdcproject-linux-gnueabi[hf]-gdc

Note: The toolchain directories are write protected. If you want to
change this, use chmod +w -R arm-gdcproject-linux-gnueabi[hf].

For more information on how to use additional libraries with the cross
compilers, see 
http://crosstool-ng.org/hg/crosstool-ng/raw-file/e11a8a2e225d/docs/5%20-%20Using%20the%20toolchain.txt

 Known issues 

Known ARM-specific issues
* std.internal.math.gammafunction.d is not ported yet (Help here is
  very appreciated!)
* Array ops are evaluated in reverse order (WIP, FE 2.065)
  http://bugzilla.gdcproject.org/show_bug.cgi?id=8

Known issues with the binary builds
* If you extract 7z files and are asked if you want to overwrite files,
  answer yes (toolchains are built on case sensitive filesystems,
  extracting on case insensitive filesystems will cause this warning)
* Use the arm-...-gdc.exe executables and not bin/arm.../gdc.exe.
* Unfortunately there's no multilib support for now. We use
  crosstool-NG to build these toolchains and multilib support in
  crosstool-NG is broken. However, this might change in the next few
  months.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Piotr Szturmaj

W dniu 2014-03-17 15:05, Johannes Pfau pisze:

I'm happy to announce the first GDC ARM beta on behalf of the GDC
team :)

ARM support is now at a point where the automated tests (test suite,
unit tests) pass and we're ready for feedback from real world usage.
All changes have been fully integrated into the standard GDC sources
which also means we're currently using the 2.064 frontend. ARM support
is currently limited to ARM/GNU Linux, i.e. GlibC. (This especially
means Android and bare metal programming are not officially supported).

Please report all bugs to
http://bugzilla.gdcproject.org/

If you're sure that the bug is a bug in phobos/druntime/DMD frontend
and not GDC specific please report it to
https://d.puremagic.com/issues


Many thanks for Johannes, GDC team and others involved. You did a great 
job! I'm already using GDC ARM compiler with good results.


Btw. to anyone interested: To ensure stability of further development, 
we need an ARM/Linux auto tester. If anyone is willing to host an ARM 
box, please contact me by email (my Internet connection is not 100% 
reliable).


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Manu
On 18 March 2014 00:05, Johannes Pfau nos...@example.com wrote:

 ...


Awesome work guys! This is a landmark moment! :)
What's the status on baremetal, bionic, and iOS?


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Johannes Pfau
Am Tue, 18 Mar 2014 02:07:11 +1000
schrieb Manu turkey...@gmail.com:

 On 18 March 2014 00:05, Johannes Pfau nos...@example.com wrote:
 
  ...
 
 
 Awesome work guys! This is a landmark moment! :)
 What's the status on baremetal, bionic, and iOS?
 

baremetal:
Timo Sintonen and Mike post updates on the D.gnu newsgroup now and
then.
Timo uses the standard C library and libgcc IIRC which makes it
easier to get higher level stuff like exceptions working.
Mike uses a 100% baremetal approach where all code is in D (or D/inline
ASM).
https://bitbucket.org/timosi/minlibd/
https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study

Bionic:
I don't know if anyone is working on bionic/ARM/gdc. I know that there
were some druntime updates for x86/Bionic recently.

iOS:
I don't know about gdc/iOS but there seems to be some work on this
for LDC:
http://forum.dlang.org/thread/m2txc2kqxv@comcast.net


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Andrei Alexandrescu

Vote up!

http://www.reddit.com/r/programming/comments/20n3yw/gdcarm_beta_1_d_programming_language_with_gcc/

https://news.ycombinator.com/newest (find it and vote it)

https://twitter.com/D_Programming/status/445607521752215552

https://www.facebook.com/dlang.org/posts/10202145218805462?stream_ref=10


Andrei



Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread simendsjo

On 03/17/2014 06:11 PM, Andrei Alexandrescu wrote:

Vote up!

(...)

https://news.ycombinator.com/newest (find it and vote it)


Currently here (nr. 184): 
https://news.ycombinator.com/x?fnid=dKZJeV9oxnVX2eOw0VUBlt

If not, search for GDC.



Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Martin

Hi,

first of all: thanks for the great work!

I've downloaded and tried the pre built toolchains for windows
(x86 and x64) on a hello world example and while they worked -
the executable produced the desired output - the file consisting
of just the writeln() call is 10 MByte in size.

I've just used the 'arm-gdcproject-linux-gnueabihf-gdc.exe'.

Are there some additional steps that I should be doing?

Take care,
Martin


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Johannes Pfau
Am Mon, 17 Mar 2014 21:14:17 +
schrieb Martin em...@address.com:

 Hi,
 
 first of all: thanks for the great work!
 
 I've downloaded and tried the pre built toolchains for windows
 (x86 and x64) on a hello world example and while they worked -
 the executable produced the desired output - the file consisting
 of just the writeln() call is 10 MByte in size.
 
 I've just used the 'arm-gdcproject-linux-gnueabihf-gdc.exe'.
 
 Are there some additional steps that I should be doing?
 
 Take care,
 Martin

The phobos/druntime standard libraries shipped with the toolchains
contain debug information and this causes big executables. You can use

arm-gdcproject-linux-gnueabihf-strip.exe

on the file to reduce the size.
(but this also removes debug information, exception backtraces will
probably not show function names then. strip also has some options to
control what exactly is removed)


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Mengu

On Monday, 17 March 2014 at 20:32:13 UTC, simendsjo wrote:

On 03/17/2014 06:11 PM, Andrei Alexandrescu wrote:

Vote up!

(...)

https://news.ycombinator.com/newest (find it and vote it)


Currently here (nr. 184): 
https://news.ycombinator.com/x?fnid=dKZJeV9oxnVX2eOw0VUBlt

If not, search for GDC.


as of now, it's #228 in the newest items.

for such searches, i suggest http://hn.algolia.com/.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread inout

On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
I'm happy to announce the first GDC ARM beta on behalf of the 
GDC

team :)

ARM support is now at a point where the automated tests (test 
suite,
unit tests) pass and we're ready for feedback from real world 
usage.
All changes have been fully integrated into the standard GDC 
sources
which also means we're currently using the 2.064 frontend. ARM 
support
is currently limited to ARM/GNU Linux, i.e. GlibC. (This 
especially
means Android and bare metal programming are not officially 
supported).


Please report all bugs to
http://bugzilla.gdcproject.org/

If you're sure that the bug is a bug in phobos/druntime/DMD 
frontend

and not GDC specific please report it to
https://d.puremagic.com/issues

 Getting the ARM beta 

* All necessary code changes have been merged into Druntime, 
Phobos and
  GDC and you can simply get the latest GDC sources and build 
them on

  ARM. ( http://wiki.dlang.org/GDC/Installation/Generic )
* GDC is also part of the official Archlinux ARM repositories. 
To get

  GDC for Archlinux ARM, simply use these commands:
  pacman -S gdc libgphobos-devel
  You can also get dub on Archlinux ARM by executing
  pacman -S dub
  Many thanks to Dicebot for maintaining the Archlinux packages.
* We provide binary cross compilers for windows X86 (32/64bit) 
and Linux
  x86 (32/64bit). We also provide 'native' compilers which run 
directly

  on ARM machines.
  http://gdcproject.org/downloads/
  Note: Linux distribution packages or building from source 
should be

  preferred.


 Precompiled GDC binaries 

Precompiled toolchains are available for ARM hardfloat and ARM
softfloat systems. These toolchains target systems with 
relatively

recent glibc and linux kernel (GlibC = 2.14, Linux = 2.6.32).

To check if you need the hard- or softfloat version run gcc -v 
where
gcc is a working gcc for your ARM target. Then look for 
--with-float=

in the output: --with-float=soft == softfloat
--with-float=hard == hardfloat

--with-float=softfp:
We have no special binaries for these systems. Either compile 
GDC from
sources or use the softfloat binaries. The softfloat binaries 
should
work in 99% of all cases. The only known exception is using 
floating
point functions in fibers, a 'softfp' toolchain is required in 
this

case.


To compile for ARM simply use this gdc executable:
./arm-gdcproject-linux-gnueabi[hf]/bin/arm-gdcproject-linux-gnueabi[hf]-gdc

Note: The toolchain directories are write protected. If you 
want to

change this, use chmod +w -R arm-gdcproject-linux-gnueabi[hf].

For more information on how to use additional libraries with 
the cross

compilers, see
http://crosstool-ng.org/hg/crosstool-ng/raw-file/e11a8a2e225d/docs/5%20-%20Using%20the%20toolchain.txt

 Known issues 

Known ARM-specific issues
* std.internal.math.gammafunction.d is not ported yet (Help 
here is

  very appreciated!)
* Array ops are evaluated in reverse order (WIP, FE 2.065)
  http://bugzilla.gdcproject.org/show_bug.cgi?id=8

Known issues with the binary builds
* If you extract 7z files and are asked if you want to 
overwrite files,
  answer yes (toolchains are built on case sensitive 
filesystems,
  extracting on case insensitive filesystems will cause this 
warning)
* Use the arm-...-gdc.exe executables and not 
bin/arm.../gdc.exe.

* Unfortunately there's no multilib support for now. We use
  crosstool-NG to build these toolchains and multilib support in
  crosstool-NG is broken. However, this might change in the 
next few

  months.


Any love for us Mac users? I'd love to try it for Android/NDK
development.


Re: GDC ARM beta #1 (with binary releases!)

2014-03-17 Thread Rikki Cattermole

On Monday, 17 March 2014 at 14:07:13 UTC, Johannes Pfau wrote:
I'm happy to announce the first GDC ARM beta on behalf of the 
GDC

team :)

ARM support is now at a point where the automated tests (test 
suite,
unit tests) pass and we're ready for feedback from real world 
usage.
All changes have been fully integrated into the standard GDC 
sources
which also means we're currently using the 2.064 frontend. ARM 
support
is currently limited to ARM/GNU Linux, i.e. GlibC. (This 
especially
means Android and bare metal programming are not officially 
supported).


Please report all bugs to
http://bugzilla.gdcproject.org/

If you're sure that the bug is a bug in phobos/druntime/DMD 
frontend

and not GDC specific please report it to
https://d.puremagic.com/issues

 Getting the ARM beta 

* All necessary code changes have been merged into Druntime, 
Phobos and
  GDC and you can simply get the latest GDC sources and build 
them on

  ARM. ( http://wiki.dlang.org/GDC/Installation/Generic )
* GDC is also part of the official Archlinux ARM repositories. 
To get

  GDC for Archlinux ARM, simply use these commands:
  pacman -S gdc libgphobos-devel
  You can also get dub on Archlinux ARM by executing
  pacman -S dub
  Many thanks to Dicebot for maintaining the Archlinux packages.
* We provide binary cross compilers for windows X86 (32/64bit) 
and Linux
  x86 (32/64bit). We also provide 'native' compilers which run 
directly

  on ARM machines.
  http://gdcproject.org/downloads/
  Note: Linux distribution packages or building from source 
should be

  preferred.


 Precompiled GDC binaries 

Precompiled toolchains are available for ARM hardfloat and ARM
softfloat systems. These toolchains target systems with 
relatively

recent glibc and linux kernel (GlibC = 2.14, Linux = 2.6.32).

To check if you need the hard- or softfloat version run gcc -v 
where
gcc is a working gcc for your ARM target. Then look for 
--with-float=

in the output: --with-float=soft == softfloat
--with-float=hard == hardfloat

--with-float=softfp:
We have no special binaries for these systems. Either compile 
GDC from
sources or use the softfloat binaries. The softfloat binaries 
should
work in 99% of all cases. The only known exception is using 
floating
point functions in fibers, a 'softfp' toolchain is required in 
this

case.


To compile for ARM simply use this gdc executable:
./arm-gdcproject-linux-gnueabi[hf]/bin/arm-gdcproject-linux-gnueabi[hf]-gdc

Note: The toolchain directories are write protected. If you 
want to

change this, use chmod +w -R arm-gdcproject-linux-gnueabi[hf].

For more information on how to use additional libraries with 
the cross

compilers, see
http://crosstool-ng.org/hg/crosstool-ng/raw-file/e11a8a2e225d/docs/5%20-%20Using%20the%20toolchain.txt

 Known issues 

Known ARM-specific issues
* std.internal.math.gammafunction.d is not ported yet (Help 
here is

  very appreciated!)
* Array ops are evaluated in reverse order (WIP, FE 2.065)
  http://bugzilla.gdcproject.org/show_bug.cgi?id=8

Known issues with the binary builds
* If you extract 7z files and are asked if you want to 
overwrite files,
  answer yes (toolchains are built on case sensitive 
filesystems,
  extracting on case insensitive filesystems will cause this 
warning)
* Use the arm-...-gdc.exe executables and not 
bin/arm.../gdc.exe.

* Unfortunately there's no multilib support for now. We use
  crosstool-NG to build these toolchains and multilib support in
  crosstool-NG is broken. However, this might change in the 
next few

  months.


I just want to say, thank you for all of your hard work. For 
those who have gotten gdc to this point.
And I'll definitely be looking forward to seeing support for 
Android!