RE: [PATCH] makedumpfile/Makefile: remove -lebl from LIBS

2019-12-09 Thread Kazuhito Hagio
> -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

2019-12-08 Thread piliu



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

2019-12-06 Thread Kazuhito Hagio
> -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

2019-12-05 Thread piliu



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

2019-12-04 Thread Kazuhito Hagio
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

2019-11-28 Thread Pingfan Liu
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