[pcre-dev] [Bug 2769] r1315: apple_update_wx_flags() calls …

Top Page
Delete this message
Author: admin
Date:  
To: pcre-dev
Old-Topics: [pcre-dev] [Bug 2769] New: r1315: apple_update_wx_flags() calls unavailable API when compiling to deploy on older macOS
Subject: [pcre-dev] [Bug 2769] r1315: apple_update_wx_flags() calls unavailable API when compiling to deploy on older macOS
https://bugs.exim.org/show_bug.cgi?id=2769

--- Comment #9 from Carlo Marcelo Arenas Belón <carenas@???> ---
(In reply to Thomas Tempelmann from comment #8)
> > start with 10.38
>
> That's not released yet, as far as I can tell.


my bad; off by one error, somehow I thought you meant you were not in the
latest release and so my comment for backporting applies to 10.36, with a
recommendation to start with 10.37.

> > not being able to compile might be the expected behaviour though, as macos
> > 11 arm64 is the minimum supported version of the OS and the API needed for
> > JIT only exists on it.
>
> That's nonsense. That's exactly what the runtime check is for that Rich
> pointed out.


I have to admit I am surprised that Xcode lets you target a version of the OS
that was never released (macOS 11 is the first version for Apple Silicon), but
regardless of it, the requirements to be able to do JIT in Apple Silicon are
well documented and REQUIRE calling that function that only exists in version
11 or newer of the OS:


https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon

you are correct that by doing the runtine check you will get rid of the warning
and compile but :

1) your library will segfault if it ever runs in a version older than arm64/11
2) you need to check at runtime EVERY time if you are running in 11 or newer,
which is silly because that is all you will ever run on (unless you have access
to a non public version of the OS)

wouldn't then make more sense to make sure you are targeting macOS 11 or newer
at compile time and refuse to build otherwise?

--
You are receiving this mail because:
You are on the CC list for the bug.