RE: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS
> -Original Message- > > 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 > 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 > > 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? Modified and applied. https://sourceforge.net/p/makedumpfile/code/ci/71e798cb1b85e4879a19607ebb0a061cbc92f70f/ Thanks! Kazu > > Thanks, > Pingfan > ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS
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 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 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
RE: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS
> -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 > >> 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 > >> > >> 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. Thanks, Kazu > > Thanks, > Pingfan > > > > Thanks, > > Kazu > > > >> > >> Signed-off-by: Pingfan Liu > >> --- > >> Makefile | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/Makefile b/Makefile > >> index 1fdb628..df21b93 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 > >> -- > >> 2.7.5 > >> > > > > > > > > ___ > > kexec mailing list > > kexec@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/kexec > > > ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS
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 >> 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 >> >> 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 ? Thanks, Pingfan > > Thanks, > Kazu > >> >> Signed-off-by: Pingfan Liu >> --- >> Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/Makefile b/Makefile >> index 1fdb628..df21b93 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 >> -- >> 2.7.5 >> > > > > ___ > kexec mailing list > kexec@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec > ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
RE: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS
Hi Pingfan, Thank you for the patch. > -Original Message- > since the following commit, -lebl has been removed from elfutils. > commit b833c731359af12af9f16bcb621b3cdc170eafbc > Author: Mark Wielaard > 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 > > 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? Thanks, Kazu > > Signed-off-by: Pingfan Liu > --- > Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 1fdb628..df21b93 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 > -- > 2.7.5 > ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
[PATCH] makedumpfile/Makefile: remove -lebl from LIBS
since the following commit, -lebl has been removed from elfutils. commit b833c731359af12af9f16bcb621b3cdc170eafbc Author: Mark Wielaard 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 So remove it from LIBS for makedumpfile Signed-off-by: Pingfan Liu --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1fdb628..df21b93 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 -- 2.7.5 ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec