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

abis: deprecate some headers in the mlibc ABI #648

Merged
merged 7 commits into from
Jul 18, 2022

Conversation

64
Copy link
Member

@64 64 commented Jul 5, 2022

As discussed on Discord. This deprecates some headers in the mlibc ABI in favour of the Linux ABI. This partially reverts #580 (a deprecation notice is added instead).

Once we are happy with this PR, we should ping all the sysdep owners to see if they are happy to have their sysdeps moved over to the Linux ABI too, because these changes will require some modifications to their kernels.

Fixes #430, fixes #257, fixes #466.

@64 64 added the affects ABI label Jul 5, 2022
Copy link
Member

@Geertiebear Geertiebear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@64
Copy link
Member Author

64 commented Jul 6, 2022

@Andy-Python-Programmer @mintsuki @streaksu @fido2020 @Menotdan

We're planning on deprecating some parts of the mlibc ABI: the signal.h, wait.h, termios.h and utsname.h headers (see #430, #257 and #466 for motivation). Instead we will recommend new ports to use the equivalent headers in the Linux ABI, but switching from one to the other will require some small kernel tweaks:

  1. Any signal handling code will need to be updated to use the new members of sigaction and siginfo_t.
  2. The exit code of processes will need to be constructed via the new W_EXITCODE(ret, signal) macro.

Note that these changes will be applied to the abi-break branch, and won't come into effect until the next ABI-breaking release.

You are of course free to use whichever ABI you want. Please could you indicate (via thumbs up/down reaction or comment) whether you would like your sysdeps to have those headers switched over to the Linux ABI, or not? (and if yes, I'll add a commit to this PR doing so)

@64 64 force-pushed the deprecate-headers branch 2 times, most recently from 718d4a3 to befe55f Compare July 7, 2022 23:37
@64 64 marked this pull request as ready for review July 14, 2022 23:52
@64
Copy link
Member Author

64 commented Jul 15, 2022

Please could you indicate (via thumbs up/down reaction or comment) whether you would like your sysdeps to have those headers switched over to the Linux ABI, or not? (and if yes, I'll add a commit to this PR doing so)

I'm going to merge this (tomorrow), but the offer is still open.

@Andy-Python-Programmer
Copy link
Contributor

Andy-Python-Programmer commented Jul 15, 2022

Sorry for the late reply!

We're planning on deprecating some parts of the mlibc ABI: the signal.h, wait.h, termios.h and utsname.h headers (see #430, #257 and #466 for motivation). Instead we will recommend new ports to use the equivalent headers in the Linux ABI

Since its the above mlibc ABI headers are deprecated, updating the Aero sysdeps to use the Linux ABI headers for the above seems a considerable option. Considering that the Linux ABI headers are more stable and wont require many ABI-breaks in future (if any).

So its a yes for switching the signal.h, wait.h, termios.h and utsname.h headers to the equivalent headers in the Linux ABI for Aero (@64).

Thanks!

Copy link
Member

@Geertiebear Geertiebear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to merge this now, sysdeps have been given enough notice and the aero sysdeps have been changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants