Re: [PATCH bpf] samples/bpf: Update README.rst for manually compiling LLVM and clang
From: Yonghong Song <hidden>
Date: 2021-01-18 18:03:35
Also in:
bpf, lkml
On 1/18/21 12:53 AM, Tiezhu Yang wrote:
quoted hunk ↗ jump to hunk
In the current samples/bpf/README.rst, the url of llvm and clang git may be out of date, they are unable to access: $ git clone http://llvm.org/git/llvm.git Cloning into 'llvm'... fatal: unable to access 'http://llvm.org/git/llvm.git/ ': Maximum (20) redirects followed $ git clone --depth 1 http://llvm.org/git/clang.git Cloning into 'clang'... fatal: unable to access 'http://llvm.org/git/clang.git/ ': Maximum (20) redirects followed The Clang Getting Started page [1] might have more accurate information, I verified the procedure and it is proved to be feasible, so we should update it to reflect the reality. [1] https://clang.llvm.org/get_started.html Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> --- samples/bpf/README.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)diff --git a/samples/bpf/README.rst b/samples/bpf/README.rst index dd34b2d..f606c08 100644 --- a/samples/bpf/README.rst +++ b/samples/bpf/README.rst@@ -65,11 +65,9 @@ To generate a smaller llc binary one can use:: Quick sniplet for manually compiling LLVM and clang (build dependencies are cmake and gcc-c++):: - $ git clone http://llvm.org/git/llvm.git - $ cd llvm/tools - $ git clone --depth 1 http://llvm.org/git/clang.git - $ cd ..; mkdir build; cd build - $ cmake .. -DLLVM_TARGETS_TO_BUILD="BPF;X86" + $ git clone https://github.com/llvm/llvm-project.git + $ cd llvm-project; mkdir build; cd build + $ cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD="BPF;X86" -G "Unix Makefiles" ../llvm $ make -j $(getconf _NPROCESSORS_ONLN)
Thanks for the patch. Indeed llvm.org/git/llvm has been deprecated. We have recommended to use llvm-project at kernel/Documentation/bpf/bpf_devel_QA.rst. https://github.com/torvalds/linux/blob/master/Documentation/bpf/bpf_devel_QA.rst#q-got-it-so-how-do-i-build-llvm-manually-anyway Could you use the same scripts in the above link here? There are different ways to build llvm/clang, I just want to be consistent between bpf_devel_QA.rst and there. I am also thinking whether we should just provide a link here to bpf_devel_QA.rst. Looking at samples/bpf/README.rst, it all contains direct commands for people to build/test, so copy-pasting the llvm build scripts here should be fine.
It is also possible to point make to the newly compiled 'llc' or