-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel build produces scary warnings when using Xcode 15 and targeting macOS 13.0 #457
Comments
I suppose we could use |
I can open a separate thread, if you want, but is building the kernel (an older version, on an ancient macOS version) with Xcode documented somewhere? I've been away from using CCL and Xcode while, and I'm stuck. Thanks! |
@melodious-thunk, the lisp kernel doesn't build with the Xcode IDE; it uses the usual command-line tools that come with Xcode. If you are on an old macOS version, you'll need to track down the Xcode tools that run on it. https://xcodereleases.com has links. You might also need to use an older version of CCL. Look at https://trac.clozure.com/ccl/wiki/TitleIndex for links of the form https://trac.clozure.com/ccl/wiki/ReleaseNotes/1.4 — I think we made releases that ran on systems as old Mac OS X 10.4. There might be even older stuff, but I don't know much about it. For future discussion, I suggest making a new discussion at https://github.com/Clozure/ccl/discussions or posting to the mailing list. |
Probably need to sprinkle a few I'm not sure what to do about the |
We can use the -no_fixup_chains linker option to silence the chained fixup warnings. That means our link command would look like this:
But I’m not sure what to do about the warnings about -no_pie and -pagezero_size. CCL wants to have some stuff laid out in fixed locations in (relatively) low memory. If Apple gets rid of those options, I think we’ll be in some trouble. As long as we pass, say, I also just ran across https://developer.apple.com/forums/thread/655950, which says "Modifying pagezero_size isn't a supportable option in the arm64 environment. arm64 code must be in an ASLR binary, which using a custom pagezero_size is incompatible with. An ASLR binary encodes signed pointers using a large random size along with the expected page zero size, and this combination is going to extend beyond the range of values covered in the lower 32-bits.” If that’s the case, then that may be an exciting problem for an ARM64 port (well, an Apple silicon port in particular, I suppose). On an Apple silicon Mac, it works to compile with On an Intel Mac, that same |
I tried to build CCL trunk’s kernel for x86-64 Darwin using Xcode 15, and it produces a bunch of errors if I change
OS_VERSION
in the kernel Makefile to13.0
:My understanding of the new linker is that it produces many more diagnostics so, while the resulting kernel binary appears to run fine for me (under Rosetta no less) these are probably worth investigating.
The text was updated successfully, but these errors were encountered: