Re: 2.7.1 on Mac x86

"Chun Tian (binghe)" <[email protected]> Sun, 4 May 2025 14:07:03 +1000
Newsgroups gmane.lisp.gcl.devel
Organization The Australian National University
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--8Lb8sW2SRcHBx5S3fmt2PBhiRkcgi9UqF
Content-Type: multipart/mixed; boundary="yZJYZB0qgICvXeBRWUjDcW53pn5d5SQKO";
 protected-headers="v1"
From: "Chun Tian (binghe)" <[email protected]>
To: Camm Maguire <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Subject: Re: 2.7.1 on Mac x86
References: <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
In-Reply-To: <[email protected]>

--yZJYZB0qgICvXeBRWUjDcW53pn5d5SQKO
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Greetings,

On 04/05/25 00:06, Camm Maguire wrote:
> Greetings!
>=20
> "Chun Tian (binghe)" <[email protected]> writes:
>=20
>> Hi,
>>
>> I confirm the following patch (according to your hints) makes GCL 2.7
>> successfully built on macOS 15 x86 using Apple clang compiler:
>>
>=20
> Great!  Which clang version is this?

This is clang 17.0.0:

$ gcc -v
Apple clang version 17.0.0 (clang-1700.0.13.3)
Target: x86_64-apple-darwin24.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

I didn't try GCC 14 before (I was focusing on GCC-13). Under GCC 14, it's=

immediate showing that the "(fixnum) conversion" patch will be required, =
beside
the "--disable-libboot" patch. I believe it will be a success (building n=
ot
finished yet).

I will also try more recent clang versions (18 - 20) because Apple will s=
oon
adopt them in the next year.

>=20
>> --- a/gcl/h/386-macosx.h
>> +++ b/gcl/h/386-macosx.h
>> @@ -132,7 +132,7 @@ if (realpath (buf, fub) =3D=3D 0) {               =
              \
>>  #define UC(a_) ((ucontext_t *)a_)
>>  #define SF(a_) ((siginfo_t *)a_)
>>
>> -#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum
>> *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu=
_mxcsr))
>> +#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum
>> *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu=
_mxcsr))
>>  #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_f=
op ?
>> UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr)
>>  #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext-=
>__ss), \
>>
>> make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \
>>
>> * * *
>>
>> Having GCL 2.7 buildable by default Apple compiler will ease the users=
 who wants
>> to build GCL from sources with customized options. For the MacPorts pa=
ckage, I
>> still think MacPorts GCC 13 is a good option, because so far I can use=
 it to
>> build GCL even in macOS 10.10 (perhaps 10.9 also works).
>>
>=20
> Agreed, gcl should build with both.  But the above implies there remain=
s
> some x86 combos which don't work.  If you could summarize these I'd be
> most appreciative!
>=20

I cannot give a precise summary on the building status of GCL 2.7 on both=
 Apple
compiler and GCC-14 at this moment. A partial result is that

1) macOS 10.15 - 15 with Apple clang compiler, all work.
2) macOS 10.11 - 15 with GCC-13, all work. (Now I'm changing to GCC-14).

In earlier macOS versions (10.6 - 10.10), the blocking issue is that the =
system
call "readlinkat()" doesn't exist. If you can change configure.in to dete=
ct it
and fix the code when it's not available, then I believe GCL 2.7 can supp=
ort
these older macOS versions too.

I will keep testing on different OS/compiler combinations and report any =
new
breakage. But overall speaking the situation on macOS x64 is very good no=
w. Thanks!

--Chun


--yZJYZB0qgICvXeBRWUjDcW53pn5d5SQKO--

--8Lb8sW2SRcHBx5S3fmt2PBhiRkcgi9UqF
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEES+aY+4laoC0TwmVKFUkg2jrYR8gFAmgW5+gACgkQFUkg2jrY
R8gjFQ//XhFa4YWIeYvPGpi9f4A92nSbmGlDvRMyWAP7YDIoJaOJFvo9Ol2UCOj9
8qLGwATp88k/YYx42bU0ED43ABV20A2uY6nKZMppaqdmKCNUSK4OYWe7WGHKzSp2
c6Xp4S9GLcwGrFjD2aKIVuNKgyLsPViudBzdLhoMUhJsIwDw7aN8rqo7WndEeF+Z
U12wvGaE88FaA8efJQLxdBMOvqi26X0xYISTJZX5sOgF0wqZ2rJfuMpk+z6cdMre
ulmEpLDHzEOkkzWBkJqMN5crgOWstUwsx1bPBNY1CDeHIaaOmnNjIC1GvnLhcNSn
b85OwLhL3a1nreEVGTOVlXbGYahAXuegLvkxlRNMjCojoE4BFTq8u0IV/spppU4N
fgGBAUkjMXh0a+uQ4uM9hhyY6/f/cZFJQ3Cw/mVeqXlvZ6JqtnXpnZCD67H+1Y2b
NhJa41iqVojodn7HI8Y3fbrK/uXGfgZhdc2A5U7irZcQ76P5GaEMw+SCyBCqGPlN
ubmwwhOqwfIOilsO/D0jvFJhJEIzE7/Gd4vCB9/G2M+cQKWzNSo5ezPXgQ1la9Uz
Sz3NO09EW1mM3vMABd2rXO/x08dnVCoxROpX1f6YCJiix6l4gRol+bFTk1Xw8Ov+
qXicdnpjLP4WPv4M95srEWg6BnqSgrksL0KBRDFWmMEpRIBUJfc=
=Z4o6
-----END PGP SIGNATURE-----

--8Lb8sW2SRcHBx5S3fmt2PBhiRkcgi9UqF--