This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Add support for SerenityOS
AbandonedPublic

Authored by ADKaster on Jul 3 2023, 6:56 PM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

This commit teaches libc++ about what features are available in our
LibC, namely:

  • We do not have locale support, so no-op shims should be used in place of the C locale API.
  • The number of errno constants defined by us is given by the value of the ELAST macro.
  • Multithreading is implemented though the pthread library.
  • Use libc++'s builtin character type table instead of the one provided by LibC as there's a lot of extra porting work to convince the rest of locale.cpp to use our character type table properly.

Depends on D154403

Diff Detail

Event Timeline

ADKaster created this revision.Jul 3 2023, 6:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 3 2023, 6:56 PM
Herald added a subscriber: krytarowski. · View Herald Transcript
ADKaster requested review of this revision.Jul 3 2023, 6:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 3 2023, 6:56 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript

Thanks for the patch! As part of this patch, I would like to also add a CI job that runs the test suite on SerenityOS. You can follow the steps at https://libcxx.llvm.org/AddingNewCIJobs.html#addingnewcijobs. Otherwise, we are not testing any of this new code.

We could also update libcxx/doc/index.rst to add SerenityOS to the list of supported "platforms".

Gentle ping on this. As part of the Github PR transition, we are clearing the review libc++ review queue. If this isn't updated, we'll close this and it can be re-open as a Github PR instead.

Note that we do want to support SerenityOS given that the changes are really simple and reasonable -- but we need a tester like we do for all our other platforms.

Thanks for the ping! Last I checked @BertalanD had a few WIP changes to the Driver patches as requested my MaskRay. I suspect resubmitting this series in GitHub will be the way go though.

Sounds good, thanks. In that case can you please abandon this to clear our review queue?

ADKaster abandoned this revision.Sep 8 2023, 3:14 PM

We will resubmit this patch on GitHub when the rest of the commit stack is ready (and a plan for CI runners is ironed out :) )