discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clang/LLVM migration roadmap


From: Riccardo Mottola
Subject: Re: Clang/LLVM migration roadmap
Date: Mon, 14 Feb 2022 00:44:10 +0100
User-agent: GNUMail (Version 1.3.0)

Hi,

On 2022-02-06 10:51:49 +0000 Richard Frith-Macdonald <rfm@gnu.org> wrote:


I think general portability is an issue, not just MSYS.

MSYS is very sensitive itself - it took 2 years of work to upgrade from the original "msys 1" setup with gcc 3.4 (all newer gcc's had subtle issues!) to a failry decent setup withh current GCC and 32bit and 64bit support - and we did it so well we didn't even break the old toolchain!


Yes, there's the issue of architecture specific code in the runtime, but additionally I have seen two problem areas:

Stacks and exceptions are architecture and OS dependent. Also libobjc2 interoperates with C++, making it more powerful but alsso complex compared to the gcc libobjc1 runtime


1. building libobjc2
a. dependency on cmake and ninja ... easy to find packages for most systems, but definitely an annoyance

I think this is the easiest part to solve, actually - just boring, but I bet autoconf and make can be used as you did in the past yourself! A matter of defining the correct variables and settings. Why shouldn't both system coexist even?

b. has failed to build with some compiler versions etc in the past, so we need to work out reliable toolchains for all platforms

Compilers and especially linkers. I used to have locu with the gold linker, but sometimes with the bgf, things are trial-and-error and not stable!
Also, the gold linker is not available on all platforms.

2. runtime errors
I have had problems with getting things to run, the current one I am aware of is related to linker ... the runtime will fail with executable produced by common linkers under some conditions. There also seems to be problems with C++ integration for exceptions and compiler bugs.

I do use clang/libobjc2 on a daily basis on gnu/linux amd64 with no problems at all, but it took a long time to get the right toolchain in place. We need this to be less fragile, so people can update parts of their toolchain without breakign things.

I have it on FreeBSD/amd64 and Linux/intel32, both work but on both exceptions do not work properly.

Even without performing a "migration" a better libobjc2 setup, easier, more portable, would benefit all those wishing to use it.

I shall start documenting all these issues better though.

Riccardo

--
Proudly sent with GNUMail on GNUstep on FreeBSD/x86-64




reply via email to

[Prev in Thread] Current Thread [Next in Thread]