-
Notifications
You must be signed in to change notification settings - Fork 677
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
Tracking issue for glibc wrappers that require a relative new glibc #2538
Comments
@asomers, your thoughts on this? Maybe we can try using raw syscalls in order to cope with old glibc, with extra caution. 🤔 |
I always prefer not to use raw syscalls. I seem to remember that causing a problem before, though. Was it some old RedHat toolchain or something? I think some system refused to compile Nix when there were unresolvable symbols, even though those weren't used. On newer toolchains it isn't a problem though. Do you remember the bug I'm thinking of? |
Yeah, it is this one #1972. The above issue is considered a bug, but there are also cases where users with old glibc want to use the |
So I guess the options are:
|
I think we need raw syscalls, to make things work. Can we have some sort of compile-time check for the arguments and return value of raw syscalls, if so, we have the best of both worlds. IIRC, Update: Just gave rustix's repo a quick check, they didn't implement this. |
Context
The glibc wrappers of the interfaces listed in this issue are usually added in a relatively new version, which, if used, won't work with an older glibc.
Currently, the minimum glibc version supported by Rust is 2.17.
Interfaces
memfd_create()
: 2.27close_range()
: 2.34The text was updated successfully, but these errors were encountered: