On 12/07/2019 12:28 AM, Kazuhito Hagio wrote: >> -----Original Message----- >> >> On 12/05/2019 06:36 AM, Kazuhito Hagio wrote: >>> Hi Pingfan, >>> >>> Thank you for the patch. >>> >>>> -----Original Message----- >>>> since the following commit, -lebl has been removed from elfutils. >>>> commit b833c731359af12af9f16bcb621b3cdc170eafbc >>>> Author: Mark Wielaard <mark@xxxxxxxxx> >>>> Date: Thu Aug 29 23:34:11 2019 +0200 >>>> >>>> libebl: Don't install libebl.a, libebl.h and remove backends from spec. >>>> >>>> All archive members from libebl.a are now in libdw.a. We don't generate >>>> separate backend shared libraries anymore. So remove them from the >>>> elfutils.spec file. >>>> >>>> Signed-off-by: Mark Wielaard <mark@xxxxxxxxx> >>>> >>>> So remove it from LIBS for makedumpfile >>> >>> It seems that this is ok with the latest elfutils, but with older ones? >>> Is it possible to remove -lebl when elfutils does not have libebl.a? >> I have no idea about it for now. The method to check version depends on >> distribution. Is it doable by checking /usr/lib64/libebl ? > > We have 'try-run' function written by Petr in the Makefile, which checks > if clock_gettime() requies -lrt. How about utilizing it like this? > > diff --git a/Makefile b/Makefile > index 1fdb6286e85d..d4d1fb563209 100644 > --- a/Makefile > +++ b/Makefile > @@ -50,7 +50,7 @@ OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART)) > SRC_ARCH = arch/arm.c arch/arm64.c arch/x86.c arch/x86_64.c arch/ia64.c arch/ppc64.c arch/s390x.c arch/ppc.c arch/sparc64.c > OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH)) > > -LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz > +LIBS = -ldw -lbz2 -ldl -lelf -lz > ifneq ($(LINKTYPE), dynamic) > LIBS := -static $(LIBS) > endif > @@ -79,6 +79,11 @@ LINK_TEST_PROG="int clock_gettime(); int main(){ return clock_gettime(); }" > LIBS := $(LIBS) $(call try-run,\ > echo $(LINK_TEST_PROG) | $(CC) $(CFLAGS) -o "$$TMP" -x c -,,-lrt) > > +# elfutils-0.178 or later does not install libebl.a. > +LINK_TEST_PROG="int main() { return 0; }" > +LIBS := $(LIBS) $(call try-run,\ > + echo $(LINK_TEST_PROG) | $(CC) -o "$$TMP" -x c - -lebl,-lebl,) > + > all: makedumpfile > > $(OBJ_PART): $(SRC_PART) > > > If libebl.a does not exist (gcc with -lebl fails), it will not append > -lebl to LIBS. > Yes, it sounds a good idea. Should I sumbit another patch or you will do by yourself? Thanks, Pingfan _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec