Re: [PATCH bpf-next 4/9] selftests/bpf: Forward SAN_CFLAGS and SAN_LDFLAGS to runqslower and libbpf

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

 



On Wed, 2023-02-08 at 17:03 -0800, Andrii Nakryiko wrote:
> On Wed, Feb 8, 2023 at 12:57 PM Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
> wrote:
> > 
> > To get useful results from the Memory Sanitizer, all code running
> > in a
> > process needs to be instrumented. When building tests with other
> > sanitizers, it's not strictly necessary, but is also helpful.
> > So make sure runqslower and libbpf are compiled with SAN_CFLAGS and
> > linked with SAN_LDFLAGS.
> > 
> > Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
> > ---
> >  tools/testing/selftests/bpf/Makefile | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/bpf/Makefile
> > b/tools/testing/selftests/bpf/Makefile
> > index 9b5786ac676e..c4b5c44cdee2 100644
> > --- a/tools/testing/selftests/bpf/Makefile
> > +++ b/tools/testing/selftests/bpf/Makefile
> > @@ -215,7 +215,9 @@ $(OUTPUT)/runqslower: $(BPFOBJ) |
> > $(DEFAULT_BPFTOOL) $(RUNQSLOWER_OUTPUT)
> >                     OUTPUT=$(RUNQSLOWER_OUTPUT)
> > VMLINUX_BTF=$(VMLINUX_BTF)     \
> >                    
> > BPFTOOL_OUTPUT=$(HOST_BUILD_DIR)/bpftool/                  \
> >                    
> > BPFOBJ_OUTPUT=$(BUILD_DIR)/libbpf                          \
> > -                   BPFOBJ=$(BPFOBJ) BPF_INCLUDE=$(INCLUDE_DIR)
> > &&             \
> > +                   BPFOBJ=$(BPFOBJ)
> > BPF_INCLUDE=$(INCLUDE_DIR)                \
> > +                   EXTRA_CFLAGS='-g -O0
> > $(SAN_CFLAGS)'                        \
> > +                   EXTRA_LDFLAGS='$(SAN_LDFLAGS)'
> > &&                          \
> >                     cp $(RUNQSLOWER_OUTPUT)runqslower $@
> > 
> 
> I wouldn't do it for runqslower, we just make sure that it compiles,
> we don't really run it at all. No need to complicate its build, IMO.

runqslower is linked with target libbpf, which is instrumented.
This produces undefined symbol errors, since MSan runtime is expected
to be a part of an executable.

[...]




[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