digitalmars.D.announce - LDC 1.9.0 beta
- kinke (18/18) Apr 22 2018 Hi everyone,
- solidstate1991 (8/26) Apr 22 2018 I'm getting a bunch of errors with the inline assembler like this:
- Suliman (2/2) Apr 23 2018 What about Webassembly support? Latest LLVM suppport it, so LDC
- Joakim (14/43) Apr 24 2018 We don't support a lot of platforms that llvm supports. It will
- kinke (8/9) Apr 24 2018 [The prebuilt binaries don't.] I thought about it for a second,
- Radu (25/70) Apr 24 2018 I realized that those PRs are not going to get in :(.
- kinke (8/19) Apr 24 2018 It may not be that bad. The next post-1.9 LDC is based on 2.080.x
- Joakim (5/14) Apr 24 2018 Sounds like you're close, I suggest you open an ldc issue to
- meppl (5/13) Apr 25 2018 I stumbled over this:
- Joakim (8/24) Apr 26 2018 I don't know how those links are relevant. Yes, some projects are
- Nick Sabalausky (Abscissa) (9/18) Apr 26 2018 Not disagreeing at all, and not trying to twist anyone's arm, but
- Radu (13/15) Apr 24 2018 Might be interesting for game devs to have webassembly support,
- Radu (5/23) Apr 24 2018 Looks that not all my druntime and phobos PR got in. Is this
- Rel (10/12) Apr 25 2018 This is nice to hear, but just to make it clear, what steps do I
- Jacob Carlborg (16/25) Apr 26 2018 In theory yes, in practice unfortunately no, see [1]. You would
Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.9. The highlights of this version in a nutshell: * Based on D 2.079.1, including new `-i` switch and support for a minimal (d)runtime. * Support for LLVM 6, used for all prebuilt packages (except for Win32). * `-link-internally` able to (cross-)link Windows, Linux and macOS binaries. * Prebuilt Linux and macOS packages now shipping with LTO-able druntime/Phobos. * Improved support for MIPS targets and the uClibc runtime library. * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on macOS. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1 Thanks to all contributors!
Apr 22 2018
On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.9. The highlights of this version in a nutshell: * Based on D 2.079.1, including new `-i` switch and support for a minimal (d)runtime. * Support for LLVM 6, used for all prebuilt packages (except for Win32). * `-link-internally` able to (cross-)link Windows, Linux and macOS binaries. * Prebuilt Linux and macOS packages now shipping with LTO-able druntime/Phobos. * Improved support for MIPS targets and the uClibc runtime library. * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on macOS. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1 Thanks to all contributors!I'm getting a bunch of errors with the inline assembler like this: <inline asm>:6:2: error: assembler label 'L7CPUblit9composing11blitter8bit_eightpixel' can not be undefined jl L7CPUblit9composing11blitter8bit_eightpixe However I still ended up getting a .lib file in the end. Is this normal or have I done something wrong?
Apr 22 2018
What about Webassembly support? Latest LLVM suppport it, so LDC should support also.
Apr 23 2018
On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:What about Webassembly support? Latest LLVM suppport it, so LDC should support also.We don't support a lot of platforms that llvm supports. It will require someone to work on the port, which hasn't happened. I've said before that I don't think it's worth it, because the web has been declining as a platform: https://forum.dlang.org/post/unqvdzopebfksnxwhoqn forum.dlang.org On Tuesday, 24 April 2018 at 08:47:49 UTC, Radu wrote:On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:Yes, ldc releases are the same as dmd releases, with some ldc-specific changes. We generally don't backport features from upstream.Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.9. The highlights of this version in a nutshell: * Based on D 2.079.1, including new `-i` switch and support for a minimal (d)runtime. * Support for LLVM 6, used for all prebuilt packages (except for Win32). * `-link-internally` able to (cross-)link Windows, Linux and macOS binaries. * Prebuilt Linux and macOS packages now shipping with LTO-able druntime/Phobos. * Improved support for MIPS targets and the uClibc runtime library. * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on macOS. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1 Thanks to all contributors!Looks that not all my druntime and phobos PR got in. Is this because they were not included in 2.0.79 mainline release?ATM uClibc is not usable as is, it doesn't even compile because of various missing pieces, bummer :(Yeah, this beta doesn't even have a MIPS backend. How much of the testsuite do you have working on MIPS/uClibc? If you have it pretty far along, we can probably cherry-pick what you need and ship it with 1.9 for people to try.
Apr 24 2018
On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:Yeah, this beta doesn't even have a MIPS backend.[The prebuilt binaries don't.] I thought about it for a second, but releasing a new LDC-LLVM version (and me having to build the 4 Windows variants again) seemed too troublesome for the gain. We can add the backend for v6.0.1 (and maybe revise that targets list in general). FWIW, I included the AArch64 target for the prebuilt armhf LLVM/LDC this time.
Apr 24 2018
On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:I realized that those PRs are not going to get in :(. Unfortunately it is pretty hard to contribute something that has a big impact. It looks that I need to wait another 2 releases to get all those changes in LDC as I might miss the 2.8.0 window for 1 PR, not counting additional patches for fixes that might come later on... uClibc fully passes druntime unit tests on ARM had float (armv7). phobos test runner segfaults on std.mathspecial, commenting out mathspecial - I get some asserts on formatting code related to double and some math asserts on some constants. Overall looks good and the formatting issues for double and math special segfault are not a priority for me, yet. on uClibc MIPS, druntime test hangs on everything after running core.runtime test at `void* z = pureMalloc(size_t.max - 2);`, malloc calls will fail after this (overcommit). Versioning it out I get the druntime unittest passing with an assert on core.atomic for double and some assert when allocating 390mb of memory in gc.impl.conservative.gc (way to much for my board). Overall druntime looks good. I don't have the details for phobos, but most of it passes. MIPS is a bit special as the vendor toolchain for my HW is pretty old and misses some supporting libs like libbacktrace, a math function etc.. had to stub them out. I think MIPS will require more tinkering from people trying it out.What about Webassembly support? Latest LLVM suppport it, so LDC should support also.We don't support a lot of platforms that llvm supports. It will require someone to work on the port, which hasn't happened. I've said before that I don't think it's worth it, because the web has been declining as a platform: https://forum.dlang.org/post/unqvdzopebfksnxwhoqn forum.dlang.org On Tuesday, 24 April 2018 at 08:47:49 UTC, Radu wrote:On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:Yes, ldc releases are the same as dmd releases, with some ldc-specific changes. We generally don't backport features from upstream.Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.9. The highlights of this version in a nutshell: * Based on D 2.079.1, including new `-i` switch and support for a minimal (d)runtime. * Support for LLVM 6, used for all prebuilt packages (except for Win32). * `-link-internally` able to (cross-)link Windows, Linux and macOS binaries. * Prebuilt Linux and macOS packages now shipping with LTO-able druntime/Phobos. * Improved support for MIPS targets and the uClibc runtime library. * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on macOS. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1 Thanks to all contributors!Looks that not all my druntime and phobos PR got in. Is this because they were not included in 2.0.79 mainline release?ATM uClibc is not usable as is, it doesn't even compile because of various missing pieces, bummer :(Yeah, this beta doesn't even have a MIPS backend. How much of the testsuite do you have working on MIPS/uClibc? If you have it pretty far along, we can probably cherry-pick what you need and ship it with 1.9 for people to try.
Apr 24 2018
On Tuesday, 24 April 2018 at 19:39:30 UTC, Radu wrote:On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:It may not be that bad. The next post-1.9 LDC is based on 2.080.x with x most likely >= 1, so just make sure to have most stuff in by then (maybe targeting the stable druntime/Phobos branches for new PRs). Final touchups can always be cherry-picked. We may have a 2.080-based LDC pretty soon. I started merging beta1 this evening and it looks way less troublesome than upgrading to 2.079.Yeah, this beta doesn't even have a MIPS backend. How much of the testsuite do you have working on MIPS/uClibc? If you have it pretty far along, we can probably cherry-pick what you need and ship it with 1.9 for people to try.I realized that those PRs are not going to get in :(. Unfortunately it is pretty hard to contribute something that has a big impact. It looks that I need to wait another 2 releases to get all those changes in LDC as I might miss the 2.8.0 window for 1 PR, not counting additional patches for fixes that might come later on...
Apr 24 2018
On Tuesday, 24 April 2018 at 19:39:30 UTC, Radu wrote:On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:Sounds like you're close, I suggest you open an ldc issue to track uClibc support, like this one tracking ARM64 support, and ping us there when you need something cherry-picked from upstream: https://github.com/ldc-developers/ldc/issues/2153[...]I realized that those PRs are not going to get in :(. Unfortunately it is pretty hard to contribute something that has a big impact. It looks that I need to wait another 2 releases to get all those changes in LDC as I might miss the 2.8.0 window for 1 PR, not counting additional patches for fixes that might come later on... [...]
Apr 24 2018
On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:I stumbled over this: http://blog.qt.io/blog/2018/04/23/beta-qt-webassembly-technology-preview/ https://sdtimes.com/webdev/mozillas-webassembly-studio-enters-beta/ I dont want to argue, just throwing that in ;)What about Webassembly support? Latest LLVM suppport it, so LDC should support also.We don't support a lot of platforms that llvm supports. It will require someone to work on the port, which hasn't happened. I've said before that I don't think it's worth it, because the web has been declining as a platform: https://forum.dlang.org/post/unqvdzopebfksnxwhoqn forum.dlang.org
Apr 25 2018
On Thursday, 26 April 2018 at 05:34:51 UTC, meppl wrote:On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:I don't know how those links are relevant. Yes, some projects are supporting WebAssembly, but that doesn't mean the web hasn't been declining, so this port likely isn't worth the effort. Nobody is stopping anyone from doing the port though: ldc has some support for even more niche platforms like linux/PowerPC, simply because Kai wanted to do it. I'm just warning people who haven't seen those linked numbers that it likely isn't worth it.On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:I stumbled over this: http://blog.qt.io/blog/2018/04/23/beta-qt-webassembly-technology-preview/ https://sdtimes.com/webdev/mozillas-webassembly-studio-enters-beta/ I dont want to argue, just throwing that in ;)What about Webassembly support? Latest LLVM suppport it, so LDC should support also.We don't support a lot of platforms that llvm supports. It will require someone to work on the port, which hasn't happened. I've said before that I don't think it's worth it, because the web has been declining as a platform: https://forum.dlang.org/post/unqvdzopebfksnxwhoqn forum.dlang.org
Apr 26 2018
On 04/26/2018 03:11 AM, Joakim wrote:I don't know how those links are relevant. Yes, some projects are supporting WebAssembly, but that doesn't mean the web hasn't been declining, so this port likely isn't worth the effort. Nobody is stopping anyone from doing the port though: ldc has some support for even more niche platforms like linux/PowerPC, simply because Kai wanted to do it. I'm just warning people who haven't seen those linked numbers that it likely isn't worth it.Not disagreeing at all, and not trying to twist anyone's arm, but speaking purely personally, I'd love to see WebAsm/Asm.js support (FWLIW). I'm converting an old Flash-based thing to Unity3D/WebGL right now (still web-based due to factors beyond my control), and (for various reasons) I'd love to sometime build a nice 2D engine in D and use it to move this project to D. Unfortunately, I've checked into GCC and LLVM docs before and GCC/LLVM hacking seems to be beyond me. I'm not making any particular point there. Just chatting, fwiw.
Apr 26 2018
On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:What about Webassembly support? Latest LLVM suppport it, so LDC should support also.Might be interesting for game devs to have webassembly support, but no one pitched in to making it happen. One could start by getting `betterC` mode working and be fully supported on LDC/Webassembly, this will make D/LDC and interesting platform to develop on, and you can use a bunch of C/C++ libs also. Stage 2 is getting a webrutime (with minimal D runtime support) that targets webassembly and its peculiarities, like DOM and related bindings. Implementing `extern(ecmascript)` would also be a nice thing to have. All this needs a champion to make it happen :D
Apr 24 2018
On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.9. The highlights of this version in a nutshell: * Based on D 2.079.1, including new `-i` switch and support for a minimal (d)runtime. * Support for LLVM 6, used for all prebuilt packages (except for Win32). * `-link-internally` able to (cross-)link Windows, Linux and macOS binaries. * Prebuilt Linux and macOS packages now shipping with LTO-able druntime/Phobos. * Improved support for MIPS targets and the uClibc runtime library. * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues on macOS. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1 Thanks to all contributors!Looks that not all my druntime and phobos PR got in. Is this because they were not included in 2.0.79 mainline release? ATM uClibc is not usable as is, it doesn't even compile because of various missing pieces, bummer :(
Apr 24 2018
On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:* `-link-internally` able to (cross-)link Windows, Linux and macOS binaries.This is nice to hear, but just to make it clear, what steps do I need to take to for example build a Mac OSX binary on Windows or Linux? Can I just download libs from prebuilt LDC for Mac OSX, put them somewhere in my current LDC installation and it will work? I'm also waiting so much for LDC to be independent of MS Visual Studio libs, and ship MinGW libs with the installation or something. I thought you had some troubles getting LLVM to work with MinGW libs, is it still true?
Apr 25 2018
On Wednesday, 25 April 2018 at 13:36:50 UTC, Rel wrote:This is nice to hear, but just to make it clear, what steps do I need to take to for example build a Mac OSX binary on Windows or Linux? Can I just download libs from prebuilt LDC for Mac OSX, put them somewhere in my current LDC installation and it will work?In theory yes, in practice unfortunately no, see [1]. You would also need the macOS SDK. In short, the LLD linker does not support some magic linker symbols that LDC is dependent on. I've created a Dockerfile that uses LDC to cross-compile targeting macOS. It does not use the LLD linker. Note, the base Docker image pulls the macOS SDK from a Dropbox account. I've compiled this [3] repositories using that image.I'm also waiting so much for LDC to be independent of MS Visual Studio libs, and ship MinGW libs with the installation or something. I thought you had some troubles getting LLVM to work with MinGW libs, is it still true?Apparently the MinGW libraries are too old. LDC requires the libraries from Visual Studio 2015 (I think) or later. [1] https://github.com/ldc-developers/ldc/issues/2662 [2] https://github.com/jacob-carlborg/docker-ldc-darwin/blob/master/Dockerfile [3] https://github.com/jacob-carlborg/d_webkit_test -- /Jacob Carlborg
Apr 26 2018