[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Package building
From: |
David Chisnall |
Subject: |
Re: Package building |
Date: |
Wed, 20 Nov 2019 11:28:24 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 20/11/2019 11:07, Andreas Fink wrote:
is libobjc even supporting all these other platforms?
The GCC runtime is written in pure C and so should work everywhere that
there's a C compiler. The GNUstep runtime uses assembly to implement
two features that can't be implemented in pure C:
objc_msgSend
imp_implementationWithBlock
Both of these need to modify the call frame and then pass all of the
arguments unmodified, which C doesn't support.
In theory, you should be able to use the runtime without these features,
but I'm not sure if it actually builds (happy to take patches to fix that).
KVO is *significantly* simpler to implement with
imp_implementationWithBlock, so it would be nice if we could depend on
that. objc_msgSend is largely a performance optimisation (clang uses it
only on platforms where it's supported).
I'm happy to take contributions for the assembly paths for other
architectures. We currently have:
- x86-32
- x86-64
- AArch32
- AArch64
- MIPS (at least n64 works, I think o32 and n32 are there but untested).
I passionately hate PowerPC assembly, so will definitely not write that
myself, but anyone who wants to add it is very welcome to do so. I will
probably get around to adding RISC-V support at some point.
David
- Re: Package building, (continued)
- Re: Package building, Johannes Brakensiek, 2019/11/20
- Re: Package building, Andreas Fink, 2019/11/20
- Re: Package building, Richard Frith-Macdonald, 2019/11/20
- Re: Package building, Andreas Fink, 2019/11/20
- Re: Package building, David Chisnall, 2019/11/20
- Re: Package building, Ivan Vučica, 2019/11/20
- Re: Package building, Johannes Brakensiek, 2019/11/20
- Re: Package building, Andreas Fink, 2019/11/20
- Re: Package building, Ivan Vučica, 2019/11/20
- Re: Package building, Riccardo Mottola, 2019/11/23
- Re: Package building,
David Chisnall <=
- Re: Package building, Riccardo Mottola, 2019/11/23
- Re: Package building, David Chisnall, 2019/11/23
- Re: Package building, Bertrand Dekoninck, 2019/11/24
- Re: Package building, Umberto Cerrato, 2019/11/24
- Re: Package building, James Carthew, 2019/11/24
- Re: Package building, Riccardo Mottola, 2019/11/29
- Re: Package building, cobjective, 2019/11/20
- Re: Package building, David Chisnall, 2019/11/21
- Re: Package building, Sergii Stoian, 2019/11/21
- Re: Package building, Fred Kiefer, 2019/11/21