Hey folks,
With the obvious enough disclaimer that Xcode/CLT 10 are very much beta releases at this point and will remain so for several months yet, I've attached a diff to fix the only current build issue with the new developer tools available for macOS 10.13/10.14.
The new Apple LLVM (10.0.0) ships with a new stack probing function, which embeds the symbol `____chkstk_darwin` into seemingly the vast majority of libraries & binaries, including both libnettle.a & libhogweed.a, which in turn currently blows up nettle's `make check` stage on the symbol check:
---------------------- PASS: sexp-conv PASS: pkcs1-conv PASS: nettle-pbkdf2 Exported symbols in libnettle.a, lacking the nettle prefix: 00000000000001b0 T ____chkstk_darwin 0000000000000230 T ____chkstk_darwin 0000000000000350 T ____chkstk_darwin 0000000000000360 T ____chkstk_darwin 0000000000000380 T ____chkstk_darwin FAIL: symbols PASS: dlopen ==================== 1 of 94 tests failed ==================== make[1]: *** [check] Error 1 make: *** [check] Error 2 ----------------------
The attached diff simply scopes out an exception to the check, with a short explanatory note.
I appreciate fully y'all may decide it's too soon to be accepting patches for prerelease developer tools, but the chances of Apple removing the new function or disabling it by default seem pretty low.
Let me know if anything further is needed.
Thanks,
Dominyk
Dominyk Tiller dominyktiller@gmail.com writes:
With the obvious enough disclaimer that Xcode/CLT 10 are very much beta releases at this point and will remain so for several months yet, I've attached a diff to fix the only current build issue with the new developer tools available for macOS 10.13/10.14.
Thanks, looks like an easy fix. Applied
Context isn't entirely clear to me, though. "CLT" means command line tools, it seems, it's not a particular piece of software? So I take it the name and version of the compiler package is simply "Xcode 10"?
Regards, /Niels
Hi Niels,
Thanks for folding the fix in, I appreciate that.
Apologies for the confusion on the context. CLT is indeed a reference to Apple's "Command Line Tools" package. As you're likely aware Apple offer both Xcode (which is a full IDE) and the CLT package (which is more or less the absolute minimum set of tools required to do development work on macOS).
Both Xcode & the CLT package provide LLVM, which is where Apple has shipped a stack checking addition which embeds the new symbol into most binaries & libraries. If you'd prefer to reference the LLVM/Clang version rather than the Xcode/CLT version, the string for that is currently: Apple LLVM version 10.0.0 (clang-1000.10.25.5). That string will change over time, but could safely be summarised as Apple LLVM version 10+ or such.
A minor complication trying to describe the new feature in the patch is that Apple have been trying to upstream the change to LLVM for quite some time (https://reviews.llvm.org/D40864#1100905) but it hasn't yet been merged there. Eventually though it seems likely that the feature will be supported in both "Apple LLVM" & LLVM itself, at which point the description I added to `symbols-test` will need updating; I'll do my best to spot if/when that happens.
I think I've managed to add a fair dose of complication to the explanation here but hopefully the context is somewhat clearer. Let me know if not.
Dominyk === Sent from macOS.
If you wish to communicate more securely my PGP Public Key is at: https://pgp.mit.edu/pks/lookup?search=0xE5F21DD98E4DF470&op=index
On 17/06/2018 18:21, Niels Möller wrote:
Dominyk Tiller dominyktiller@gmail.com writes:
With the obvious enough disclaimer that Xcode/CLT 10 are very much beta releases at this point and will remain so for several months yet, I've attached a diff to fix the only current build issue with the new developer tools available for macOS 10.13/10.14.
Thanks, looks like an easy fix. Applied
Context isn't entirely clear to me, though. "CLT" means command line tools, it seems, it's not a particular piece of software? So I take it the name and version of the compiler package is simply "Xcode 10"?
Regards, /Niels
nettle-bugs@lists.lysator.liu.se