On Friday 16 of August 2013 20:15:31 Fat-Zer wrote:
2013/8/16 Slávek Banko <slavek.banko(a)axis.cz>
Dne pá 16. srpna 2013 Fat-Zer napsal(a):
2013/8/16 Darrell Anderson
<darrella(a)hushmail.com>
>> Here is propoused patch which checks if
demangle.h is present.
>
>Darrell, I have demangle.h on my system, so it's up to you to test
>it.
Actually anybody can test --- just temporarily rename or move
/usr/include/demangle.h. :-)
The previous patch makes turning on the debug quite tricky, so better
to remove the ifdef's with NDEBUG in backtrace_symbols.c.
I've tested the build both with and without demangle.h and seems
everything is ok. so retest
It was necessary to add a condition for linking with BFD.
Updated patch attached. Please test it.
Slavek
--
Sorry, I'm a little confused, so, slackware doesn't have libbfq at all or
just demangle.h is missing?
If the matter is about linking than IMHO the solution with conditional
user-defined option is better.
Anyway in a day or two I'll came with a normal patch to move all that to
kdebug.cpp and provide WITH_LIBBFD for optional linkage... + some
additional backtrace features.
When there is no demangle.h => not used full backtrace => is unnecessary
linking libbfd. On Debian / Ubuntu is demangle.h along with libbfd.so
contained in the package binutils-dev. If binutils-dev is not installed,
demangle.h is not present and also not be linking to libbfd. Therefore, this
condition is necessary.
Add WITH_LIBBFD choice is in my opinion nonsense. In this case, it makes more
sense to me to add choice WITH_TDEIOSLAVE_BACKTRACE or generally
WITH_BACKTRACE_HANDLER.
Therefore I propose to use either:
1) automatic enabling backtrace handler by HAVE_BACKTRACE and HAVE_DEMANGLE_H
=> patch from
http://trinity-devel.pearsoncomputing.net/?0::11361
2) add choise WITH_TDEIOSLAVE_BACKTRACE (or WITH_BACKTRACE_HANDLER) to enable
backtrace handler => patch from
http://trinity-devel.pearsoncomputing.net/?0::11354
Because, unlike WITH_KDESKTOP_LOCK_BACKTRACE, in this case it was a temporary
solution for debugging, I personally prefer the first option.
What is your opinion?
Slavek