On Fri, Feb 16, 2024 at 10:06:03AM +0000, Paul Barker wrote: > On 15/02/2024 21:10, Tom Rini wrote: > > First, since this document was written the biggest challenges at the > > time are simply not applicable anymore. Second, we need to list the > > challenges which are preventing more platforms from being able to be > > built with Clang today. Next, we update the general wording to be host > > distribution agnostic. Finally, the section about xenguest_arm64 issues > > is not present anymore. > > > > Signed-off-by: Tom Rini <tr...@konsulko.com> > > --- > > Cc: Mark Kettenis <kette...@openbsd.org> > > This does leave the FreeBSD section unchanged and should likely be > > looked at again by someone with a BSD build machine available. > > --- > > doc/build/clang.rst | 85 +++++++++++---------------------------------- > > 1 file changed, 21 insertions(+), 64 deletions(-) > > > > diff --git a/doc/build/clang.rst b/doc/build/clang.rst > > index 09bb988e9236..d8c554982567 100644 > > --- a/doc/build/clang.rst > > +++ b/doc/build/clang.rst > > @@ -1,34 +1,27 @@ > > Building with Clang > > =================== > > > > -The biggest problem when trying to compile U-Boot with Clang is that > > almost all > > -archs rely on storing gd in a global register and the Clang 3.5 user manual > > -states: "Clang does not support global register variables; this is > > unlikely to > > -be implemented soon because it requires additional LLVM backend support." > > - > > -The ARM backend can be instructed not to use the r9 and x18 registers using > > --ffixed-r9 or -ffixed-x18 respectively. As global registers themselves are > > not > > -supported inline assembly is needed to get and set the r9 or x18 value. > > This > > -leads to larger code then strictly necessary, but at least works. > > - > > -Debian based > > ------------- > > - > > -Required packages can be installed via apt, e.g. > > - > > -.. code-block:: bash > > - > > - sudo apt-get install clang > > - > > -We make use of the CROSS_COMPILE variable to derive the build target which > > is > > -passed as the --target parameter to clang. > > - > > -The CROSS_COMPILE variable further determines the paths to other build > > -tools. As assembler we use the binary pointed to by '$(CROSS_COMPILE)as' > > -instead of the LLVM integrated assembler (IAS). > > - > > -Here is an example demonstrating building U-Boot for the Raspberry Pi 2 > > -using clang: > > +In general terms, U-Boot support building with Clang as the C compiler and > > s/support/supports/ > > > +building and booting our "sandbox" target is part of CI. > > Are you saying that building the sandbox target with Clang then booting > it is part of CI? I think this sentence needs re-wording to make it a > little clearer.
It is so I'll reword this a bit more then, thanks. -- Tom
signature.asc
Description: PGP signature