Thread overview |
---|
March 18, 2017 LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Hi everyone! On behalf of the LDC team I announce the new 1.2.0-beta1 release! It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0. Beside the new front-end there are some more fixes to increase robustness of the compiler. Be sure to read the change log at the GitHub release page for details. The packages are available for download at the same page. https://github.com/ldc-developers/ldc/releases/tag/v1.2.0-beta1 MD5 checksums for the release packages: f6fe3a09ca6593bdb0ceefd9ae4052ca ldc-1.2.0-beta1-src.tar.gz 3262f003d0aa06780bd172cf4bc56a75 ldc2-1.2.0-beta1-freebsd-x86_64.tar.xz 54c6bfafdd7ea8900479c588e7215e9b ldc2-1.2.0-beta1-linux-x86.tar.xz b02aafa9ab888c5392da50dd5f4bb959 ldc2-1.2.0-beta1-linux-x86_64.tar.xz 3dbf34ffd3d38cf44181638a4dc4a65f ldc2-1.2.0-beta1-osx-x86_64.tar.xz 13ffbc95d827eb33a6a7b7e714c542eb ldc2-1.2.0-beta1-win32-msvc.zip a075b10608c641b88f2aeb75cfbfe913 ldc2-1.2.0-beta1-win64-msvc.zip Regarding the binaries: The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x, ldc2 1.2.0-beta1 and LLVM 4.0.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software. The OS X binaries and the FreeBSD binaries are built with LLVM 4.0.0. The Win32 and Win64 MSVC versions are built with VS2015 and LLVM 3.9.1 (due to a regression in LLVM 4.0). Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments. Thanks to everybody involved in making this happen! Regards, Kai |
March 21, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | On Saturday, 18 March 2017 at 08:39:31 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I announce the new 1.2.0-beta1 release!
> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>
> [...]
Great to see this coming so fast! Btw, OS X is now called macOS.
|
March 21, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On 21 Mar 2017, at 7:45, Joakim via digitalmars-d-ldc wrote:
> Great to see this coming so fast! Btw, OS X is now called macOS.
Well, we still support pre-Sierra, so _technically_… ;)
— David
|
March 21, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Tuesday, 21 March 2017 at 06:45:28 UTC, Joakim wrote:
> On Saturday, 18 March 2017 at 08:39:31 UTC, Kai Nacke wrote:
>> Hi everyone!
>>
>> On behalf of the LDC team I announce the new 1.2.0-beta1 release!
>> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>>
>> [...]
>
> Great to see this coming so fast!
kinke has been working hard on it, and.... LDC master is at 2.073 already!
:))
Johan
|
March 23, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | On Saturday, 18 March 2017 at 08:39:31 UTC, Kai Nacke wrote: > Hi everyone! > > On behalf of the LDC team I announce the new 1.2.0-beta1 release! > It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0. > > Beside the new front-end there are some more fixes to increase robustness of the compiler. Be sure to read the change log at the GitHub release page for details. The packages are available for download at the same page. > https://github.com/ldc-developers/ldc/releases/tag/v1.2.0-beta1 > > MD5 checksums for the release packages: > > f6fe3a09ca6593bdb0ceefd9ae4052ca ldc-1.2.0-beta1-src.tar.gz > 3262f003d0aa06780bd172cf4bc56a75 ldc2-1.2.0-beta1-freebsd-x86_64.tar.xz > 54c6bfafdd7ea8900479c588e7215e9b ldc2-1.2.0-beta1-linux-x86.tar.xz > b02aafa9ab888c5392da50dd5f4bb959 ldc2-1.2.0-beta1-linux-x86_64.tar.xz > 3dbf34ffd3d38cf44181638a4dc4a65f ldc2-1.2.0-beta1-osx-x86_64.tar.xz > 13ffbc95d827eb33a6a7b7e714c542eb ldc2-1.2.0-beta1-win32-msvc.zip > a075b10608c641b88f2aeb75cfbfe913 ldc2-1.2.0-beta1-win64-msvc.zip > > Regarding the binaries: > The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x, ldc2 1.2.0-beta1 and LLVM 4.0.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software. > > The OS X binaries and the FreeBSD binaries are built with LLVM 4.0.0. > > The Win32 and Win64 MSVC versions are built with VS2015 and LLVM 3.9.1 (due to a regression in LLVM 4.0). > > Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments. > > Thanks to everybody involved in making this happen! > > Regards, > Kai I tested a bit 1.2.0-beta1 as a cross compiler for ARM. Good news is that basic stuff like "hello world" works. Really good news, at least for me, is that all this was done on Windows Linux Subsystem [1]. Unfortunately all good news ends as soon I try something more involved, like: ======================================= import std.stdio; void main() { try { throw new Exception("darn!"); } catch(Exception e) { writeln(e.msg); } writeln("Hello world!"); } ======================================= I get: Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9 Aborted The machine I'm running this on is an ARM926EJ-S rev 5, and the ABI used is ARM, EABI5 version 1 soft float. Any idea what might be wrong here? [1] https://msdn.microsoft.com/en-us/commandline/wsl/about |
March 23, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Radu | On Thursday, 23 March 2017 at 16:05:55 UTC, Radu wrote: > Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9 > Aborted Thanks for testing. Joakim also encountered this error during his ARM tests, see https://github.com/ldc-developers/ldc/issues/2024. |
March 24, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Radu | On Thursday, 23 March 2017 at 16:05:55 UTC, Radu wrote: > On Saturday, 18 March 2017 at 08:39:31 UTC, Kai Nacke wrote: >> [...] > > I tested a bit 1.2.0-beta1 as a cross compiler for ARM. Good news is that basic stuff like "hello world" works. Really good news, at least for me, is that all this was done on Windows Linux Subsystem [1]. > > Unfortunately all good news ends as soon I try something more involved, like: > ======================================= > import std.stdio; > > void main() > { > try > { > throw new Exception("darn!"); > } > catch(Exception e) > { > writeln(e.msg); > } > writeln("Hello world!"); > } > ======================================= > I get: > > Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9 > Aborted > > The machine I'm running this on is an ARM926EJ-S rev 5, and the ABI used is ARM, EABI5 version 1 soft float. > > Any idea what might be wrong here? > > [1] https://msdn.microsoft.com/en-us/commandline/wsl/about I have no problem when either cross-compiling or natively compiling that code for Android/ARM, by using the llvm triple armv7-none-linux-android with ldc 1.2. What llvm triple are you using? It could be that the ARM exception-handling code isn't right for your ARM platform/ABI, as we had similar issues on other ARM platforms till Dan fixed them: https://github.com/ldc-developers/ldc/issues/1283 |
March 24, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Friday, 24 March 2017 at 06:19:34 UTC, Joakim wrote: > On Thursday, 23 March 2017 at 16:05:55 UTC, Radu wrote: >> On Saturday, 18 March 2017 at 08:39:31 UTC, Kai Nacke wrote: >>> [...] >> >> I tested a bit 1.2.0-beta1 as a cross compiler for ARM. Good news is that basic stuff like "hello world" works. Really good news, at least for me, is that all this was done on Windows Linux Subsystem [1]. >> >> Unfortunately all good news ends as soon I try something more involved, like: >> ======================================= >> import std.stdio; >> >> void main() >> { >> try >> { >> throw new Exception("darn!"); >> } >> catch(Exception e) >> { >> writeln(e.msg); >> } >> writeln("Hello world!"); >> } >> ======================================= >> I get: >> >> Fatal error in EH code: _Unwind_RaiseException failed with reason code: 9 >> Aborted >> >> The machine I'm running this on is an ARM926EJ-S rev 5, and the ABI used is ARM, EABI5 version 1 soft float. >> >> Any idea what might be wrong here? >> >> [1] https://msdn.microsoft.com/en-us/commandline/wsl/about > > I have no problem when either cross-compiling or natively compiling that code for Android/ARM, by using the llvm triple armv7-none-linux-android with ldc 1.2. What llvm triple are you using? > > It could be that the ARM exception-handling code isn't right for your ARM platform/ABI, as we had similar issues on other ARM platforms till Dan fixed them: > > https://github.com/ldc-developers/ldc/issues/1283 I tried a couple of things ldc2 -mtriple=arm-none-linux-gnueabi -gcc=arm-linux-gnueabi-gcc Then something closer to my config ldc2 -mtriple=armv4t-none-linux-gnueabi -mcpu=arm9tdmi -gcc=arm-linux-gnueabi-gcc The problem I think is that the system I'm targeting uses ARM, EABI4 version 1 (SYSV), as bellow: readelf -A libc-2.9.so Attribute Section: aeabi File Attributes Tag_CPU_name: "ARM9TDMI" Tag_CPU_arch: v4T Tag_ARM_ISA_use: Yes Tag_ABI_PCS_wchar_t: 4 Tag_ABI_FP_denormal: Needed Tag_ABI_FP_exceptions: Needed Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_align_needed: 8-byte Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: int But the app I build uses ARM, EABI5 version 1 (SYSV) Attribute Section: aeabi File Attributes Tag_CPU_name: "5T" Tag_CPU_arch: v5T Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_ABI_PCS_GOT_use: GOT-indirect Tag_ABI_PCS_wchar_t: 4 Tag_ABI_FP_rounding: Needed Tag_ABI_FP_denormal: Needed Tag_ABI_FP_exceptions: Needed Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_align_needed: 8-byte Tag_ABI_enum_size: int Tag_CPU_unaligned_access: v6 Tag_ABI_FP_16bit_format: IEEE 754 |
March 24, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Radu | On Friday, 24 March 2017 at 07:30:58 UTC, Radu wrote:
> On Friday, 24 March 2017 at 06:19:34 UTC, Joakim wrote:
>> [...]
>
> I tried a couple of things
>
> ldc2 -mtriple=arm-none-linux-gnueabi -gcc=arm-linux-gnueabi-gcc
>
> [...]
Did a small test in C++ using the gcc cross compiler and exceptions are working with the same ABI and cpu name and arch as the ones I got with ldc. So eabi version is not an issue here.
|
March 24, 2017 Re: LDC 1.2.0-beta1 has been released! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Radu | On Friday, 24 March 2017 at 08:11:15 UTC, Radu wrote:
> On Friday, 24 March 2017 at 07:30:58 UTC, Radu wrote:
>> On Friday, 24 March 2017 at 06:19:34 UTC, Joakim wrote:
>>> [...]
>>
>> I tried a couple of things
>>
>> ldc2 -mtriple=arm-none-linux-gnueabi -gcc=arm-linux-gnueabi-gcc
>>
>> [...]
>
> Did a small test in C++ using the gcc cross compiler and exceptions are working with the same ABI and cpu name and arch as the ones I got with ldc. So eabi version is not an issue here.
OK, looking up that CPU now, it's an old ARMv5 core, whereas we've tested on ARMv6 at best. If you want to use ldc for that, you may need to help port ldc/druntime to those older embedded cores.
|
Copyright © 1999-2021 by the D Language Foundation