Message ID | 20180425212245.25999.21181.stgit@john-Precision-Tower-5810 |
---|---|
State | Accepted, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf,v2] bpf: fix for lex/yacc build error with gcc-5 | expand |
On 04/25/2018 11:22 PM, John Fastabend wrote: > Fix build error found with Ubuntu shipped gcc-5 > > ~/git/bpf/tools/bpf$ make all > > Auto-detecting system features: > ... libbfd: [ OFF ] > ... disassembler-four-args: [ OFF ] > > CC bpf_jit_disasm.o > LINK bpf_jit_disasm > CC bpf_dbg.o > /home/john/git/bpf/tools/bpf/bpf_dbg.c: In function ‘cmd_load’: > /home/john/git/bpf/tools/bpf/bpf_dbg.c:1077:13: warning: ‘cont’ may be used uninitialized in this function [-Wmaybe-uninitialized] > } else if (matches(subcmd, "pcap") == 0) { > ^ > LINK bpf_dbg > CC bpf_asm.o > make: *** No rule to make target `bpf_exp.yacc.o', needed by `bpf_asm'. Stop. > > Fixes: 5a8997f20715 ("tools: bpf: respect output directory during build") > Signed-off-by: John Fastabend <john.fastabend@gmail.com> Applied to bpf, thanks John! Will see to get that annoying bpf_dbg warn out of the way if no one beats me to it. ;)
On Wed, 25 Apr 2018 14:22:45 -0700, John Fastabend wrote: > --- a/tools/bpf/Makefile > +++ b/tools/bpf/Makefile > @@ -76,6 +76,8 @@ $(OUTPUT)bpf_asm: $(OUTPUT)bpf_asm.o $(OUTPUT)bpf_exp.yacc.o $(OUTPUT)bpf_exp.le > $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $^ > > $(OUTPUT)bpf_exp.lex.c: $(OUTPUT)bpf_exp.yacc.c > +$(OUTPUT)bpf_exp.yacc.o: $(OUTPUT)bpf_exp.yacc.c > +$(OUTPUT)bpf_exp.lex.o: $(OUTPUT)bpf_exp.lex.c Looks better than v1, the first dependency is important. For some reason, I did not need the other two rules. By the way, make invoked from tools/bpf/ has never really worked, even before my patchset. This works correctly: cd tools make bpf Jiri
diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile index 1ea5459..53b60ad 100644 --- a/tools/bpf/Makefile +++ b/tools/bpf/Makefile @@ -76,6 +76,8 @@ $(OUTPUT)bpf_asm: $(OUTPUT)bpf_asm.o $(OUTPUT)bpf_exp.yacc.o $(OUTPUT)bpf_exp.le $(QUIET_LINK)$(CC) $(CFLAGS) -o $@ $^ $(OUTPUT)bpf_exp.lex.c: $(OUTPUT)bpf_exp.yacc.c +$(OUTPUT)bpf_exp.yacc.o: $(OUTPUT)bpf_exp.yacc.c +$(OUTPUT)bpf_exp.lex.o: $(OUTPUT)bpf_exp.lex.c clean: bpftool_clean $(call QUIET_CLEAN, bpf-progs)
Fix build error found with Ubuntu shipped gcc-5 ~/git/bpf/tools/bpf$ make all Auto-detecting system features: ... libbfd: [ OFF ] ... disassembler-four-args: [ OFF ] CC bpf_jit_disasm.o LINK bpf_jit_disasm CC bpf_dbg.o /home/john/git/bpf/tools/bpf/bpf_dbg.c: In function ‘cmd_load’: /home/john/git/bpf/tools/bpf/bpf_dbg.c:1077:13: warning: ‘cont’ may be used uninitialized in this function [-Wmaybe-uninitialized] } else if (matches(subcmd, "pcap") == 0) { ^ LINK bpf_dbg CC bpf_asm.o make: *** No rule to make target `bpf_exp.yacc.o', needed by `bpf_asm'. Stop. Fixes: 5a8997f20715 ("tools: bpf: respect output directory during build") Signed-off-by: John Fastabend <john.fastabend@gmail.com> --- tools/bpf/Makefile | 2 ++ 1 file changed, 2 insertions(+)