On Tue, 27 Sep 2022 at 6:21:20 PM Quentin <quentin@xxxxxxxxxxxxx> wrote: > Sat Sep 24 2022 11:12:08 GMT+0100 ~ Xin Liu <liuxin350@xxxxxxxxxx> > > Some programs depned on libbpf.a(eg:bpftool). If libbpf.a miss -fPIC, > > Typo "depned" > > > this will cause a similar error at compile time: > > > > /usr/bin/ld: .../libbpf.a(libbpf-in.o): relocation > > R_AARCH64_ADR_PREL_PG_HI21 against symbol `stderr@@GLIBC_2.17' which > > may bind externally can not be used when making a sharedobject; > > recompile with -fPIC > > > > Use -fPIC for static library compilation to solve this problem. > > > > Signed-off-by: Xin Liu <liuxin350@xxxxxxxxxx> > > --- > > tools/lib/bpf/Makefile | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile > > index 4c904ef0b47e..427e971f4fcd 100644 > > --- a/tools/lib/bpf/Makefile > > +++ b/tools/lib/bpf/Makefile > > @@ -91,9 +91,10 @@ override CFLAGS += $(INCLUDES) > > override CFLAGS += -fvisibility=hidden > > override CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > > override CFLAGS += $(CLANG_CROSS_FLAGS) > > +override CFLAGS += -fPIC > > > > # flags specific for shared library > > -SHLIB_FLAGS := -DSHARED -fPIC > > +SHLIB_FLAGS := -DSHARED > > > > ifeq ($(VERBOSE),1) > > Q = > > Hi, the two patches look OK to me, but it would be nice to have a bit > more context on what the flags do other than “fixing this particular > issue” and how they improve bpftool security. It would also be > interesting to have a note on what it does on various architectures, my > understanding is that only some archs are supported (I read AArch64, > m68k, PowerPC and SPARC), I guess the flags are silently ignored on x86 > for example? > > Thanks, > Quentin > This advice is very useful to me. Thank you very much for your reply. I'll fix it in the V2 version. Thansk, Xin Liu