-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
go 1.12 binaries rejected from mac app store due to ___getdirentries64 #30933
Comments
These are somewhat grotesque, but I just resubmitted using these: https://git.zx2c4.com/wireguard-ios/tree/wireguard-go-bridge/goruntime-syscall-remove-getdirentries.diff |
This appears to be an unforeseen extension of #28984 . CC @eliasnaur |
It seems that my fix for iOS needs to cover all of Darwin. I don't have the bandwidth right now, so I'm hoping someone else will take this up. Perhaps @randall77 can take a look. |
Was your iOS fix something beyond just ENOSYS'ing those syscalls? If so, those two patches I linked above basically do that, and I can submit them to gerrit. Or did you actually wind up wrapping libc's readdir as a replacement? |
Yes, I had to replace getdirentries in the directory listing code in the runtime. See https://go-review.googlesource.com/c/go/+/153338/. There was also an issue with the "64" suffixed system calls, but that might be different for macOS. |
I think we'll need to do the same thing as CL 153338 for macOS. |
Thanks for making it as |
Change https://golang.org/cl/168479 mentions this issue: |
@zx2c4, if you could patch the above CL in and try it, that would help. |
I'll give it a go and report back. Note that you'll also need a corresponding one in x/sys, because that also links to the symbol. |
@zx2c4: right. |
@zx2c4 any word on trying the patch? |
The CL still has crashes, last I read. Meanwhile I'm just ENOSYSing it out, which is suitable for my purposes. |
@gopherbot please consider this for backport to 1.12. |
Backport issue(s) opened: #31244 (for 1.12). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases. |
Thanks @randall77! I've just received a rejection from the Mac App Store for this very issue. I'll use version 1.11 until this makes it into an official release. |
If you submitted to AppStore for review was it with BITCODE = YES? I cannot use gomobile bind -target=ios ... in a way when the framework is imported How we solve this issue? |
The release notes mention something clever with regards to iOS, but not with regards to macOS. Here's a rejection I just received from Apple:
It then goes on with the usual boiler plate.
Note that this is for the macOS app store.
As I'm not using getdirentries64 (at least, I don't think I am...), I'll probably patch the runtime in some grotesque and heavy-handed way to make the problem go away in the short term. But Go really needs a proper solution to this. I imagine they're something like one of these:
The text was updated successfully, but these errors were encountered: