Skip to content
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

Change shm_open() calling ABI on aarch64 Darwin #43516

Merged
merged 1 commit into from
Dec 31, 2021
Merged

Conversation

staticfloat
Copy link
Member

Beacuse shm_open() is a variadic function, if we don't declare it as
such, the kernel receives trash as the permissions value, which
occasionally results in errors when creating shared memory segments.
This did not happen on x86_64 because the calling convention doesn't
change so much between variadic and non-vadiadic functions.

Beacuse `shm_open()` is a variadic function, if we don't declare it as
such, the kernel receives trash as the `permissions` value, which
occasionally results in errors when creating shared memory segments.
This did not happen on `x86_64` because the calling convention doesn't
change so much between variadic and non-vadiadic functions.
@staticfloat staticfloat added system:mac Affects only macOS system:apple silicon Affects Apple Silicon only (Darwin/ARM64) - e.g. M1 and other M-series chips labels Dec 22, 2021
@staticfloat
Copy link
Member Author

Fixes #43464

@dnadlinger
Copy link
Member

LGTM (I'm seeing the same issue on aarch64-darwin); CI failures are spurious.

@dnadlinger dnadlinger mentioned this pull request Dec 30, 2021
31 tasks
@staticfloat staticfloat merged commit ffed6b8 into master Dec 31, 2021
@staticfloat staticfloat deleted the sf/macos_shm_open branch December 31, 2021 00:42
KristofferC pushed a commit that referenced this pull request Jan 5, 2022
Beacuse `shm_open()` is a variadic function, if we don't declare it as
such, the kernel receives trash as the `permissions` value, which
occasionally results in errors when creating shared memory segments.
This did not happen on `x86_64` because the calling convention doesn't
change so much between variadic and non-vadiadic functions.

(cherry picked from commit ffed6b8)
@KristofferC KristofferC mentioned this pull request Jan 5, 2022
23 tasks
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Feb 22, 2022
Beacuse `shm_open()` is a variadic function, if we don't declare it as
such, the kernel receives trash as the `permissions` value, which
occasionally results in errors when creating shared memory segments.
This did not happen on `x86_64` because the calling convention doesn't
change so much between variadic and non-vadiadic functions.
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Mar 8, 2022
Beacuse `shm_open()` is a variadic function, if we don't declare it as
such, the kernel receives trash as the `permissions` value, which
occasionally results in errors when creating shared memory segments.
This did not happen on `x86_64` because the calling convention doesn't
change so much between variadic and non-vadiadic functions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
system:apple silicon Affects Apple Silicon only (Darwin/ARM64) - e.g. M1 and other M-series chips system:mac Affects only macOS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants