www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC 1.28.1

reply kinke <noone nowhere.com> writes:
A new patch version was just released:

* Based on D 2.098.1+ (stable from 2 days ago).
* Linux x86[_64]: Important fix with statically linked druntime 
and lld/bfd linkers. [lld 13 came with a deadly breaking change 
and doesn't work, older versions do - stay tuned for LDC v1.29 
for further improved linker support.]
* New UDAs: ` hidden` and ` noSanitize`.
* Ability to access magic linker symbols on Mac via special 
mangle prefix.
* WebAssembly: Tweaked default lld linker flags for less trouble 
wrt. stack overflows. Thanks  ryuukk!
* Support `rdtscp` in DMD-style inline assembly. Thanks Max!

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.28.1

Thanks to all contributors & sponsors!


PS: The original plan was to release this just before Christmas 
vacation, but a high-impact Nullable regression in Phobos 
v2.098.1 prevented that.
Jan 13
next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Jan 13, 2022 at 03:51:07PM +0000, kinke via Digitalmars-d-announce
wrote:
 A new patch version was just released:
 
 * Based on D 2.098.1+ (stable from 2 days ago).
Big thanks to the LDC team for continuing to deliver one of the best D compilers around! T -- Государство делает вид, что платит нам зарплату, а мы делаем вид, что работаем.
Jan 13
prev sibling parent reply Brian Callahan <bcallah openbsd.org> writes:
On Thursday, 13 January 2022 at 15:51:07 UTC, kinke wrote:
 A new patch version was just released:
Thanks! Working on the OpenBSD package update as we speak... ~Brian
Jan 15
parent reply workman <workman gmail.com> writes:
On Saturday, 15 January 2022 at 15:43:16 UTC, Brian Callahan 
wrote:
 On Thursday, 13 January 2022 at 15:51:07 UTC, kinke wrote:
 A new patch version was just released:
Thanks! Working on the OpenBSD package update as we speak... ~Brian
Hi kinke, Thanks for the great work. I has some link problem with lld-12 if use with "--gc-sections -s", confirm on x86-64 and aarch64. (build with betterC) upgrade to lld-13(or NDK lld-14) no such problem. The lld-12 link as expect, but when start binary the quickjs promise stop work after one async call, remove "--gc-sections -s" fix the problem but generate huge binary. I has problem with cross llvm-version LTO, so I want to use same llvm version and upgrade to llvm-13. I want to know if I build ldc with llvm13 myself, will it work for betterC project ?
Jan 19
parent reply kinke <noone nowhere.com> writes:
On Wednesday, 19 January 2022 at 09:17:11 UTC, workman wrote:
 Hi kinke, Thanks for the great work.

 I has some link problem with lld-12 if use with "--gc-sections 
 -s", confirm on x86-64 and aarch64. (build with betterC)

 upgrade to lld-13(or NDK lld-14) no such problem.


 The lld-12 link as expect, but when start binary the quickjs 
 promise stop work after one async call, remove "--gc-sections 
 -s" fix the problem but generate huge binary.

 I has problem with cross llvm-version LTO, so I want to use 
 same llvm version and upgrade to llvm-13.

 I want to know if I build ldc with llvm13 myself, will it work 
 for betterC project ?
Hi; LTO with lld for ELF targets has just been fixed in master, after v1.28.1. Without `-betterC` at least, not sure if `-betterC` was affected too in some way. Bumping LLVM to v13 wasn't trivial this time. There's https://github.com/ldc-developers/ldc/pull/3842 using an LLVM v13.0.1-rc2+, which fixed serious issues we've had with the gold linker (lld v13 was fine). You can download that CI artifact (with enabled assertions) and give it a try to see if it works for you: https://dev.azure.com/ldc-developers/ldc/_build/results?buildId=3243&view=artifacts&pathAsName=false&type=publishedArtifacts
Jan 19
parent reply workman <workman gmail.com> writes:
On Wednesday, 19 January 2022 at 13:03:11 UTC, kinke wrote:
 Hi; LTO with lld for ELF targets has just been fixed in master, 
 after v1.28.1. Without `-betterC` at least, not sure if 
 `-betterC` was affected too in some way.

 Bumping LLVM to v13 wasn't trivial this time. There's 
 https://github.com/ldc-developers/ldc/pull/3842 using an LLVM 
 v13.0.1-rc2+, which fixed serious issues we've had with the 
 gold linker (lld v13 was fine). You can download that CI 
 artifact (with enabled assertions) and give it a try to see if 
 it works for you: 
 https://dev.azure.com/ldc-developers/ldc/_build/results?buildId=3243&view=artifacts&pathAsName=false&type=publishedArtifacts
Thanks for the kind reply. This azure download link work for me very well, with LTO or without LTO, the project build and run without problem.
Jan 19
parent reply kinke <noone nowhere.com> writes:
On Wednesday, 19 January 2022 at 13:55:56 UTC, workman wrote:
 Thanks for the kind reply.

 This azure download link work for me very well, with LTO or 
 without LTO, the project build and run without problem.
Glad to hear that, thanks for the feedback!
Jan 19
parent workman <workman gmail.com> writes:
On Wednesday, 19 January 2022 at 15:55:39 UTC, kinke wrote:
 On Wednesday, 19 January 2022 at 13:55:56 UTC, workman wrote:
 Thanks for the kind reply.

 This azure download link work for me very well, with LTO or 
 without LTO, the project build and run without problem.
Glad to hear that, thanks for the feedback!
My pleasure. I try use LDC for IOS with https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1-rc3/clang+llvm-13.0.1-rc3-x86_64 apple-darwin.tar.xz (clang to build c library). This office llvm-13 support -arch arm64e flags, to link with ldc2 I get this error: ```sh tests.o has architecture arm64 which is incompatible with target architecture arm64e ``` Is there a option to made ldc2 support arch flags for apple ?
Jan 24