-
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Need to make sure version of machocheck found matches that of the linker #2
Comments
Right, what happens is that
|
(note that the " |
I'm not sure from this what you are trying to achieve. However, it is correct to say that the set of load commands does change over time, and if the linker you are using has one that any other tool does not recognise - that will be the error. If you are on a version of the OS like 11, or 12, then the latest version of xtools is not likely to work (I have not updated to use the last version of Xcode sources and those are actually rather old too - 12.0 where the tools are up to 13.x). I am curious about why an end-user package would need a tool that AFAIU is made for testing that the linker et. al. are working correctly. Edit: Actually, neither ObjectDump nor machocheck from the ld64- project are included in Xcode (at least so far as the versions i've checked, from 3.1.4 - 13.x), so using machocheck in a build recipe is very non-standard, and introduces a dependency on building a suitable ld64-xxxx project.
|
So, basically, emacs is weird. It has this "dumping" mechanism where it basically hacks and re-links itself to try to include some of the lisp in the actual executable to improve startup times. This involves fiddling around with some low-level mach-o internals that can lead to invalid mach-o executables if done wrong, as I've encountered in issue #1. (Note that upstream emacs has replaced the old dumping mechanism with a newer "portable dumper", but my fork diverged from upstream long before that, and it'd be too much work to try to merge that feature now)
Yeah I've got it installed via MacPorts. Also, it's optional, so if there's no |
This is from 978cb42's commit message. I forget what exactly happens if the machocheck version differs from that of the linker's, but presumably it's something bad.
The text was updated successfully, but these errors were encountered: