Re: [PATCH] bpftool: Allow building statically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/18/22 5:33 PM, Quentin Monnet wrote:
2022-02-18 18:14 UTC+0200 ~ Nikolay Borisov <nborisov@xxxxxxxx>
On 18.02.22 г. 18:08 ч., Quentin Monnet wrote:
2022-02-17 14:04 UTC+0200 ~ Nikolay Borisov <nborisov@xxxxxxxx>
Sometime it can be useful to haul around a statically built version of
bpftool. Simply add support for passing STATIC=1 while building to build
the tool statically.

Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx>
---

Currently the bpftool being distributed as part of libbpf-tools under
bcc project
is dynamically built on a system using GLIBC 2.28, this makes the
tool unusable on
ubuntu 18.04 for example. Perhaps after this patch has landed the
bpftool in bcc
can be turned into a static binary.

   tools/bpf/bpftool/Makefile | 4 ++++
   1 file changed, 4 insertions(+)

diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index 83369f55df61..835621e215e4 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -13,6 +13,10 @@ else
     Q = @
   endif

+ifeq ($(STATIC),1)
+    CFLAGS += --static
+endif
+
   BPF_DIR = $(srctree)/tools/lib/bpf

   ifneq ($(OUTPUT),)

Why not just pass the flag on the command line? I don't think the
Makefile overwrites it:

      $ CFLAGS=--static make

Yeah, this also works, I initially thought that overriding a variable on
the command line would require having the override directive in the
makefile but apparently is not the case. I guess this patch can be
scratched.

You'd need something if the Makefile was initialising the variable, with
something like "CFLAGS = -O2" or "CFLAGS := -O2". But bpftool's Makefile
always uses "CFLAGS += ...", meaning it appends to the current value, so
you can pass whatever you want from the command line, as long as it
doesn't get overwritten by another flag (for example, passing "-O0"
would not work I think, since we add "-O2" in the Makefile).

We don't have an in-tree readme, but the `CFLAGS=--static make` use case
could probably be documented in [0] at minimum.

Cheers,
Daniel

  [0] https://github.com/libbpf/bpftool



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux