[Bug 250702] c++filt crashes on a symbol representing a C++ lambda function
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Nov 2 11:19:20 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250702
--- Comment #14 from Dimitry Andric <dim at FreeBSD.org> ---
(In reply to Yuri Victorovich from comment #13)
Yes, the elftoolchain demangler misses a few more modern features, and its
development does not seem very active. (Not necessarily for the other parts of
elftoolchain such as libelf, btw.)
That said, with the fixes I've proposed for upstream, only the lambda examples
don't demangle correctly, but the rest does. E.g. I now get:
_ZZ5func1vENK3$_0clEv ->
func1()::$_0::operator()() const
_ZZN7WebCore19SVGAnimatedProperty20LookupOrCreateHelperINS_32SVGAnimatedStaticPropertyTearOffIbEEbLb1EE21lookupOrCreateWrapperEPNS_10SVGElementEPKNS_15SVGPropertyInfoERbE19__PRETTY_FUNCTION__
->
WebCore::SVGAnimatedProperty::LookupOrCreateHelper<WebCore::SVGAnimatedStaticPropertyTearOff<bool>,
bool, true>::lookupOrCreateWrapper(WebCore::SVGElement*,
WebCore::SVGPropertyInfo const*, bool&)::__PRETTY_FUNCTION__
_ZNSt3__116__copy_unalignedINS_6vectorIbNS_9allocatorIbEEEELb0EEENS_14__bit_iteratorIT_Lb0EXLi0EEEENS5_IS6_XT0_EXLi0EEEES8_S7_
->
std::__1::__bit_iterator<bool, false, 0>
std::__1::__copy_unaligned<std::__1::vector<bool, std::__1::allocator<bool> >,
false>(std::__1::__bit_iterator<bool, std::__1::allocator<bool>, 0>,
std::__1::__bit_iterator<bool, std::__1::allocator<bool>, 0>,
std::__1::__bit_iterator<bool, false, 0>)
_ZZN10half_float6detail15half2float_implEjfNSt3__117integral_constantIbLb1EEEE14exponent_table
->
half_float::detail::half2float_impl(unsigned int, float,
std::__1::integral_constant<bool, true>)::exponent_table
So the remaining one is:
_ZZN9libunwind17LocalAddressSpace18findUnwindSectionsEjRNS_18UnwindInfoSectionsEENUlP12dl_phdr_infojPvE_8__invokeES4_jS5_
That said, it might be more future-proof if we import libcxxabi from the llvm
project into contrib, and start building that, at least for its demangler
support. At some point it might even replace libcxxrt, or serve as a drop-in
replacement.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-toolchain
mailing list