Re: [PATCH] bpftool: Allow building statically

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

 



2022-02-18 20:58 UTC+0100 ~ Daniel Borkmann <daniel@xxxxxxxxxxxxx>
> 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

Makes sense, I'll do this. Thanks Daniel!
Quentin



[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