On Wed, Jan 13, 2021 at 5:19 PM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > Patch looks fine, but `make -j htmldocs` seems to be taking forever > for me so I can't render it. Is this a known issue? > > $ make -j htmldocs Just took a while, lots of warning spew (but not from this addition AFAICT). Reviewed-by: Nick Desaulniers <ndesaulnier@xxxxxxxxxx> > > On Wed, Jan 13, 2021 at 4:35 PM Nathan Chancellor > <natechancellor@xxxxxxxxx> wrote: > > > > The most common question around building the Linux kernel with clang is > > "does it work?" and the answer has always been "it depends on your > > architecture, configuration, and LLVM version" with no hard answers for > > users wanting to experiment. LLVM support has significantly improved > > over the past couple of years, resulting in more architectures and > > configurations supported, and continuous integration has made it easier > > to see what works and what does not. > > > > Add a section that goes over what architectures are supported in the > > current kernel version, how they should be built (with just clang or the > > LLVM utilities as well), and the level of support they receive. This > > will make it easier for people to try out building their kernel with > > LLVM and reporting issues that come about from it. > > > > Suggested-by: Miguel Ojeda <ojeda@xxxxxxxxxx> > > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > > --- > > Documentation/kbuild/llvm.rst | 44 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 44 insertions(+) > > > > diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst > > index 21c847890d03..b18401d2ba82 100644 > > --- a/Documentation/kbuild/llvm.rst > > +++ b/Documentation/kbuild/llvm.rst > > @@ -63,6 +63,50 @@ They can be enabled individually. The full list of the parameters: :: > > Currently, the integrated assembler is disabled by default. You can pass > > ``LLVM_IAS=1`` to enable it. > > > > +Supported Architectures > > +----------------------- > > + > > +LLVM does not target all of the architectures that Linux supports and > > +just because a target is supported in LLVM does not mean that the kernel > > +will build or work without any issues. Below is a general summary of > > +architectures that currently work with ``CC=clang`` or ``LLVM=1``. Level > > +of support corresponds to "S" values in the MAINTAINERS files. If an > > +architecture is not present, it either means that LLVM does not target > > +it or there are known issues. Using the latest stable version of LLVM or > > +even the development tree will generally yield the best results. > > +An architecture's ``defconfig`` is generally expected to work well, > > +certain configurations may have problems that have not been uncovered > > +yet. Bug reports are always welcome at the issue tracker below! > > + > > +.. list-table:: > > + :widths: 10 10 10 > > + :header-rows: 1 > > + > > + * - Architecture > > + - Level of support > > + - ``make`` command > > + * - arm > > + - Supported > > + - ``LLVM=1`` > > + * - arm64 > > + - Supported > > + - ``LLVM=1`` > > + * - mips > > + - Maintained > > + - ``CC=clang`` > > + * - powerpc > > + - Maintained > > + - ``CC=clang`` > > + * - riscv > > + - Maintained > > + - ``CC=clang`` > > + * - s390 > > + - Maintained > > + - ``CC=clang`` > > + * - x86 > > + - Supported > > + - ``LLVM=1`` > > + > > Getting Help > > ------------ > > > > > > base-commit: 7c53f6b671f4aba70ff15e1b05148b10d58c2837 > > -- > > 2.30.0 > > > > > -- > Thanks, > ~Nick Desaulniers -- Thanks, ~Nick Desaulniers