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. Thanks, -- Paul Barker
OpenPGP_0x27F4B3459F002257.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature