Greetings,

On 04/05/25 00:06, Camm Maguire wrote:
> Greetings!
> 
> "Chun Tian (binghe)" <binghe.l...@gmail.com> 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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to