Message ID | 065fa340d5f65648e908bc94b6bd63e57e976f35.1580348836.git.hex@fb.com |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | runqslower: fix Makefile | expand |
On Wed, Jan 29, 2020 at 6:10 PM Yulia Kartseva <hex@fb.com> wrote: > > From: Julia Kartseva <hex@fb.com> > > Fix undefined reference linker errors when building runqslower with > gcc 7.4.0 on Ubuntu 18.04. > The issue is with misplaced -lelf, -lz options in Makefile: > $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ > > -lelf, -lz options should follow the list of target dependencies: > $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ > or after substitution > cc -g -Wall runqslower.o libbpf.a -lelf -lz -o runqslower > > The current order of gcc params causes failure in libelf symbols resolution, > e.g. undefined reference to `elf_memory' > --- Thanks for fixing! Just for the future, there is no need to create a cover letter for a single patch. Please also add Fixes tag like so: Fixes: 9c01546d26d2 ("tools/bpf: Add runqslower tool to tools/bpf") > tools/bpf/runqslower/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile > index 0c021352b..87eae5be9 100644 > --- a/tools/bpf/runqslower/Makefile > +++ b/tools/bpf/runqslower/Makefile > @@ -41,7 +41,7 @@ clean: > > $(OUTPUT)/runqslower: $(OUTPUT)/runqslower.o $(BPFOBJ) > $(call msg,BINARY,$@) > - $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ > + $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ > > $(OUTPUT)/runqslower.o: runqslower.h $(OUTPUT)/runqslower.skel.h \ > $(OUTPUT)/runqslower.bpf.o > -- > 2.17.1 >
On Wed, Jan 29, 2020 at 6:37 PM Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote: > > On Wed, Jan 29, 2020 at 6:10 PM Yulia Kartseva <hex@fb.com> wrote: > > > > From: Julia Kartseva <hex@fb.com> > > > > Fix undefined reference linker errors when building runqslower with > > gcc 7.4.0 on Ubuntu 18.04. > > The issue is with misplaced -lelf, -lz options in Makefile: > > $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ > > > > -lelf, -lz options should follow the list of target dependencies: > > $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ > > or after substitution > > cc -g -Wall runqslower.o libbpf.a -lelf -lz -o runqslower > > > > The current order of gcc params causes failure in libelf symbols resolution, > > e.g. undefined reference to `elf_memory' > > --- > > Thanks for fixing! > > Just for the future, there is no need to create a cover letter for a > single patch. > > Please also add Fixes tag like so: > > Fixes: 9c01546d26d2 ("tools/bpf: Add runqslower tool to tools/bpf") Oh, and Signed-off-by is missing too, please add and respin v2. With that, also add: Acked-by: Andrii Nakryiko <andriin@fb.com> > > > tools/bpf/runqslower/Makefile | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile > > index 0c021352b..87eae5be9 100644 > > --- a/tools/bpf/runqslower/Makefile > > +++ b/tools/bpf/runqslower/Makefile > > @@ -41,7 +41,7 @@ clean: > > > > $(OUTPUT)/runqslower: $(OUTPUT)/runqslower.o $(BPFOBJ) > > $(call msg,BINARY,$@) > > - $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ > > + $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ > > > > $(OUTPUT)/runqslower.o: runqslower.h $(OUTPUT)/runqslower.skel.h \ > > $(OUTPUT)/runqslower.bpf.o > > -- > > 2.17.1 > >
diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile index 0c021352b..87eae5be9 100644 --- a/tools/bpf/runqslower/Makefile +++ b/tools/bpf/runqslower/Makefile @@ -41,7 +41,7 @@ clean: $(OUTPUT)/runqslower: $(OUTPUT)/runqslower.o $(BPFOBJ) $(call msg,BINARY,$@) - $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ + $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ $(OUTPUT)/runqslower.o: runqslower.h $(OUTPUT)/runqslower.skel.h \ $(OUTPUT)/runqslower.bpf.o
From: Julia Kartseva <hex@fb.com> Fix undefined reference linker errors when building runqslower with gcc 7.4.0 on Ubuntu 18.04. The issue is with misplaced -lelf, -lz options in Makefile: $(Q)$(CC) $(CFLAGS) -lelf -lz $^ -o $@ -lelf, -lz options should follow the list of target dependencies: $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ or after substitution cc -g -Wall runqslower.o libbpf.a -lelf -lz -o runqslower The current order of gcc params causes failure in libelf symbols resolution, e.g. undefined reference to `elf_memory' --- tools/bpf/runqslower/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)