CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
47 lines
2.4 KiB
ReStructuredText
47 lines
2.4 KiB
ReStructuredText
.. _contributing:
|
|
|
|
================================
|
|
Contributing to the libc Project
|
|
================================
|
|
|
|
LLVM-libc is being developed as part of the LLVM project so contributions
|
|
to the libc project should also follow the general LLVM
|
|
`contribution guidelines <https://llvm.org/docs/Contributing.html>`_. Below is
|
|
a list of open projects that one can start with:
|
|
|
|
#. **Beginner Bugs** - Help us tackle
|
|
`good first issues <https://github.com/llvm/llvm-project/issues?q=is%3Aopen+is%3Aissue+label%3Alibc+label%3A%22good+first+issue%22>`__.
|
|
These bugs have been tagged with the github labels "libc" and "good first
|
|
issue" by the team as potentially easier places to get started. Please do
|
|
first check if the bug has an assignee; if so please find another unless
|
|
there's been no movement on the issue from the assignee, in which place do
|
|
ask if you can help take over.
|
|
|
|
#. **Cleanup code-style** - The libc project follows the general
|
|
`LLVM style <https://llvm.org/docs/CodingStandards.html>`_ with specific
|
|
conventions for naming (``snake_case`` for functions, ``CamelCase`` for
|
|
types). See the :ref:`code_style` page for the authoritative reference.
|
|
Mechanical projects to move parts following old styles to the current
|
|
conventions are welcome.
|
|
|
|
#. **Implement Linux syscall wrappers** - A large portion of the POSIX API can
|
|
be implemented as syscall wrappers on Linux. A good number have already been
|
|
implemented but many more are yet to be implemented. So, a project of medium
|
|
complexity would be to implement syscall wrappers which have not yet been
|
|
implemented.
|
|
|
|
#. **Update the clang-tidy lint rules and use them in the build and/or CI** -
|
|
The libc project has a set of clang-tidy checks (see :ref:`clang_tidy_checks`)
|
|
but they are not enabled by default. They can be enabled by configuring with
|
|
``-DLLVM_LIBC_ENABLE_LINTING=ON`` (or by setting ``LLVM_LIBC_CLANG_TIDY``) and
|
|
running the ``libc-lint`` build target. This project is about keeping the
|
|
checks up to date and reintegrating them into the build and CI.
|
|
|
|
#. **double and higher precision math functions** - These are under active
|
|
development but you can take a shot at those not yet implemented. See
|
|
:ref:`math` for more information.
|
|
|
|
#. **Contribute a new OS/Architecture port** - You can contribute a new
|
|
operating system or target architecture port. See :ref:`porting` for more
|
|
information.
|