Greetings, On 04/05/25 00:06, Camm Maguire wrote: > Greetings! > > "Chun Tian (binghe)" <[email protected]> writes: > >> Hi, >> >> I confirm the following patch (according to your hints) makes GCL 2.7 >> successfully built on macOS 15 x86 using Apple clang compiler: >> > > 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 not
finished yet).
I will also try more recent clang versions (18 - 20) because Apple will soon
adopt them in the next year.
>
>> --- a/gcl/h/386-macosx.h
>> +++ b/gcl/h/386-macosx.h
>> @@ -132,7 +132,7 @@ if (realpath (buf, fub) == 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_fop ?
>> 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 package,
>> 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).
>>
>
> Agreed, gcl should build with both. But the above implies there remains
> some x86 combos which don't work. If you could summarize these I'd be
> most appreciative!
>
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 detect it
and fix the code when it's not available, then I believe GCL 2.7 can support
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 now.
Thanks!
--Chun
signature.asc
Description: OpenPGP digital signature
