[PATCH] D140959: RFC: Multilib prototype

Michael Platings via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 4 01:27:22 PST 2023


michaelplatings created this revision.
michaelplatings added a project: clang.
Herald added subscribers: s.egerton, ormris, abidh, mgrang, simoncook, kristof.beyls.
Herald added a project: All.
michaelplatings requested review of this revision.
Herald added subscribers: cfe-commits, MaskRay.

This is a prototype of a new approach to multilib.

The `multilib.yaml` file is a new interface that allows customising (a) which system library variants are available; and (b) how a library variant is identified as compatible with the clang arguments provided by the user.

The file clang/test/Driver/Inputs/baremetal_multilib/arm-none-eabi/multilib.yaml is an example that contains comments explaining how it is used.

The project I'm working on is LLVM Embedded Toolchain for Arm <https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm> so the design is made with that in mind, but it's intended to be flexible enough to work with other toolchains with many system library variants.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140959

Files:
  clang/include/clang/Driver/Multilib2.h
  clang/lib/Driver/CMakeLists.txt
  clang/lib/Driver/Multilib2.cpp
  clang/lib/Driver/ToolChains/BareMetal.cpp
  clang/test/Driver/Inputs/baremetal_multilib/arm-none-eabi/multilib.yaml
  clang/test/Driver/arm-compiler-rt.c
  clang/test/Driver/baremetal-multilib.cpp
  clang/test/Driver/baremetal.cpp
  clang/test/Driver/print-libgcc-file-name-clangrt.c
  clang/unittests/Driver/CMakeLists.txt
  clang/unittests/Driver/Multilib2Test.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140959.486193.patch
Type: text/x-patch
Size: 39595 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230104/e006ee3a/attachment-0001.bin>


More information about the cfe-commits mailing list