-
Notifications
You must be signed in to change notification settings - Fork 3
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
Create a RTFM guardrail re: arm64e ABI #4
Conversation
Comments (shortly to be) deleted from koekeishiya#923:EDIT: I do have SIP enabled ; This is maybe dumb of me - but I'm not sure its relevant to just getting as far as attempting injection (and its not apparently getting that far) @xorpse @alin23 xorpse/master builds and can be (almost?) spawned by lldb for me on M1. under lldb (but not directly exec'd) it spawns a crashreporter. (It never seems to live long enough to attach though?)
Looks like PC is in fact zeroed out; so ... we got a NPE somewhere? (It's been a while since I've done any systems-y stuff, let alone on arm macOS, so sorry if I am not seeing or including something / this is unhelpful ) full report------------------------------------- Translated Report (Full Report Below) ------------------------------------- Also maybe of relevance, the actual link complains:
EDIT 2: with mac's whacky linking in mem stuff -- that could be enough? (or it could be irrelevant, if there are just old nums floating around on equivalent things) Note sure why or what LDFLAGS(?) would help `otool -L ./bin/yabai-arm64`./bin/yabai-arm64: /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 165.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1141.1.0) /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight (compatibility version 64.0.0, current version 600.0.0) /System/Library/Frameworks/ScriptingBridge.framework/Versions/A/ScriptingBridge (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1308.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2077.14.0) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 56.0.0) /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync (compatibility version 1.0.0, current version 4.7.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1835.0.0) /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1526.0.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1835.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) EDIT 3: running it as
manually changing BUILD_FLAGS flag to Well this is a fun twist:
EDIT: And/But
(but obvs other things apple has shipped are arm64e (universal) and run fine; but as is ... this will not exec at all) Oh hey, so I haven't done the
again, there are apple-delivered arm64e binaries on disk that run fine, but seems like a thing that I |
Thanks for investigating and submitting the PR---what you've added seems sensible to me :-). I see you've opened a second PR for the 12.x specific problems, so I'll close this issue and we can discuss those there. |
I wasted 3-5 hours plus of my life cause I wasn't all that observant.
A more ambitious version of this would link into the universal binary an
arm64
helper that did the sysctl check (or wouldn't need to? cause it would only be run when booted without the flag?) and failed louder at runtime