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

configure.rb: Add alternate gettid() header (unistd.h) #3848

Conversation

64kramsystem
Copy link

@64kramsystem 64kramsystem commented Mar 29, 2022

On Linux systems providing gettid(), the header is unistd.h, which is currently not evaluated. The consequence of this omission is that Rubinius' gettid() definition conflicts with Glibc's one - the former doesn't have the noexcept specifier, while the latter does (__THROW).

Closes #3847.

Extra context: this was not detected before because gettid() has been introduced on Glibc 2.30, which is not very old.

On Linux systems providing gettid(), the header is `unistd.h`, which is currently not evaluated. The conseguence of this omission is that Rubinius' gettid() definition conflicts with Glibc's one - the former doesn't have the noexcept specifier, while the latter does (__THROW).
64kramsystem added a commit to 64kramsystem/rvm-dev that referenced this pull request Mar 31, 2022
On Linux systems providing gettid() (Glibc 2.30+), the header is `unistd.h`, so the function must be tested also using such header.

Upstream PR: rubinius/rubinius#3848.

I've included it only from v4.7, because I can't produce a working Rubinius interpreter with the previous versions.
@64kramsystem
Copy link
Author

Closing for inactivity.

64kramsystem added a commit to 64kramsystem/rvm-dev that referenced this pull request May 2, 2022
On Linux systems providing gettid() (Glibc 2.30+), the header is `unistd.h`, so the function must be tested also using such header.

Upstream PR: rubinius/rubinius#3848.

I've included it only from v4.7, because I can't produce a working Rubinius interpreter with the previous versions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Error 'gettid' is missing exception specification 'throw()' when compiling
1 participant