ltrace: disable elfutils unwinding when libunwind is used
PATCH 1/1 ltrace: disable elfutils unwinding when libunwind is used
ltrace can't use both.
Fixes:
http://autobuild.buildroot.net/results/a3c/a3c1647578cdeda3aaf672084a9a893f06dbad26/
http://autobuild.buildroot.net/results/fdb/fdb7e760faeda77b263a6dac3e322a25b53e67ff/
http://autobuild.buildroot.net/results/70a/70a0614ca7baf6a46898834a87cd46865f6e3385/
--- package/ltrace/ltrace.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/ltrace/ltrace.mk +1 -1
@@ -21,7 +21,7 @@ LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 # We don't normally do so for uClibc and we can't know if it's external ifeq ($(BR2_PACKAGE_LIBUNWIND),y) ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),) -LTRACE_CONF_OPTS += --with-libunwind=yes +LTRACE_CONF_OPTS += --with-libunwind=yes --with-elfutils=no LTRACE_DEPENDENCIES += libunwind else LTRACE_CONF_OPTS += --with-libunwind=no
Signature · 1 line
2.1.3
PATCH 1/1 ltrace: disable elfutils unwinding when libunwind is used
Dear Baruch Siach,
Quoted 17 lines · Baruch Siach
ltrace can't use both.
Fixes:
http://autobuild.buildroot.net/results/a3c/a3c1647578cdeda3aaf672084a9a893f06dbad26/
http://autobuild.buildroot.net/results/fdb/fdb7e760faeda77b263a6dac3e322a25b53e67ff/
http://autobuild.buildroot.net/results/70a/70a0614ca7baf6a46898834a87cd46865f6e3385/Signed-off-by Baruch Siach <[email protected]>--- package/ltrace/ltrace.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/ltrace/ltrace.mk +0
-0
package/ltrace/ltrace.mk LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 · line 24
Quoted 5 lines
package/ltrace/ltrace.mk +1
-1@@ -21,7 +21,7 @@ LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 # We don't normally do so for uClibc and we can't know if it's external ifeq ($(BR2_PACKAGE_LIBUNWIND),y) ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),) -LTRACE_CONF_OPTS += --with-libunwind=yes +LTRACE_CONF_OPTS += --with-libunwind=yes --with-elfutils=no
While I agree with the analysis, I don't agree with the proposed fix:
ltrace selects elfutils unconditionally (see Config.in), so it is quite weird to see ltrace not using it in the end. So I believe the Config.in *and* ltrace dependencies should be updated to reflect the fact that either unwind or elfutils can be used.
Could you work on an updated patch?
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 ltrace: disable elfutils unwinding when libunwind is used
Hi Thomas,
Quoted 13 lines · Thomas Petazzoni
Quoted 12 lines · Baruch Siach
ltrace can't use both.
Fixes:
http://autobuild.buildroot.net/results/a3c/a3c1647578cdeda3aaf672084a9a893f06dbad26/
http://autobuild.buildroot.net/results/fdb/fdb7e760faeda77b263a6dac3e322a25b53e67ff/
http://autobuild.buildroot.net/results/70a/70a0614ca7baf6a46898834a87cd46865f6e3385/Signed-off-by Baruch Siach <[email protected]>--- package/ltrace/ltrace.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 16 lines
package/ltrace/ltrace.mk LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 · line 24
Quoted 10 lines
package/ltrace/ltrace.mk +1
-1@@ -21,7 +21,7 @@ LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 # We don't normally do so for uClibc and we can't know if it's external ifeq ($(BR2_PACKAGE_LIBUNWIND),y) ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),) -LTRACE_CONF_OPTS += --with-libunwind=yes +LTRACE_CONF_OPTS += --with-libunwind=yes --with-elfutils=noWhile I agree with the analysis, I don't agree with the proposed fix:
ltrace selects elfutils unconditionally (see Config.in), so it is quite weird to see ltrace not using it in the end. So I believe the Config.in *and* ltrace dependencies should be updated to reflect the fact that either unwind or elfutils can be used.
It turns out that --with-elfutils=no is a misnomer. ltrace depends on libelf regardless of --with-elfutils, so we must have elfutils both in Config.in and in LTRACE_DEPENDENCIES. The only effect of --with-elfutils is on unwinding back-end. Quoting configure.ac:
AS_HELP_STRING([--with-elfutils], [Use elfutils libdwfl unwinding support]),
I'll send a revised version of this patch with a better commit log, and a comment in the code explaining this weirdness.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 ltrace: disable elfutils unwinding when libunwind is used
Dear Baruch Siach,
Quoted 11 lines · Baruch Siach
Quoted 5 lines
While I agree with the analysis, I don't agree with the proposed fix:
ltrace selects elfutils unconditionally (see Config.in), so it is quite weird to see ltrace not using it in the end. So I believe the Config.in *and* ltrace dependencies should be updated to reflect the fact that either unwind or elfutils can be used.It turns out that --with-elfutils=no is a misnomer. ltrace depends on libelf regardless of --with-elfutils, so we must have elfutils both in Config.in and in
LTRACE_DEPENDENCIES. The only effect of --with-elfutils is on unwinding back-end. Quoting configure.ac:
Quoted 4 lines
AS_HELP_STRING([--with-elfutils], [Use elfutils libdwfl unwinding support]),I'll send a revised version of this patch with a better commit log, and a comment in the code explaining this weirdness.
Aah, ok. Indeed very confusing. Thanks for clarifying this and posting an updated version with more details!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com