On Tue, 14 Jan 2014 10:00:59 +0100, Mark Wielaard wrote: > The __GLOBAL__.[ID]_xxx functions are wrappers generated when a module > xxx contains constructors and destructors of static objects, which will > call the actual static initialization and destruction functions for all > globals in the module. Since they are "normal" functions they could > potentially end up in a backtrace, but I am not sure "demangling" them > provides any real benefit.
In such case I will add it, it should be there. > Till now we didn't require a C++ compiler explicitly. I am not against > it, we will one day anyway. But it might be simpler to just add the > generated exe and core as done with other tests. And just test with > --executable --core. It makes sure we don't rely on any particular > compiler version for the test data. OK. > The other user of __cxa_demangle nm.c (show_symbols_sysv) probably needs > the same check. OK, will do. > A slightly simpler way to handle this is to not unconditionally add > backtrace-demangle to check_PROGRAMS and run-backtrace-demangle.sh to > TESTS, but only if we have the demangler (which probably also indicates > we actually have a C++ compiler, so we don't even try to compile it > otherwise): > > if DEMANGLE > check_programs += backtrace-demangle > TESTS += run-backtrace-demangle.sh > endif This is the easy way but the problem with this approach is that the test is then completely missing from the results, instead of being SKIPped. This makes comparisons of multiple testsuite results weird, at last this happens with the GDB testsuite. Thanks, Jan