[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
- Clang/LLVM migration roadmap, Gregory Casamento, 2022/02/05
- Re: Clang/LLVM migration roadmap, Max Chan, 2022/02/05
- Re: Clang/LLVM migration roadmap, Andreas Fink, 2022/02/06
- Re: Clang/LLVM migration roadmap, Fred Kiefer, 2022/02/06
- Re: Clang/LLVM migration roadmap, Richard Frith-Macdonald, 2022/02/06
- Re: Clang/LLVM migration roadmap, Gregory Casamento, 2022/02/06
- Re: Clang/LLVM migration roadmap, Daniel Boyd, 2022/02/06
- Re: Clang/LLVM migration roadmap, Tito Mari Francis EscaƱo, 2022/02/06
- Re: Clang/LLVM migration roadmap, Gregory Casamento, 2022/02/06
- Re: Clang/LLVM migration roadmap, Andrew Pinski, 2022/02/06
- Re: Clang/LLVM migration roadmap, Gregory Casamento, 2022/02/06
- Re: Clang/LLVM migration roadmap, Max Chan, 2022/02/07